@kong-ui-public/entities-plugins 9.12.5 → 9.13.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/dist/entities-plugins.es.js +366 -342
- package/dist/entities-plugins.umd.js +3 -3
- package/dist/types/composables/useSchemas.d.ts.map +1 -1
- package/dist/types/definitions/schemas/Confluent.d.ts +3 -0
- package/dist/types/definitions/schemas/Confluent.d.ts.map +1 -0
- package/dist/types/definitions/schemas/KafkaUpstream.d.ts +3 -0
- package/dist/types/definitions/schemas/KafkaUpstream.d.ts.map +1 -0
- package/dist/types/types/plugin-form.d.ts +4 -0
- package/dist/types/types/plugin-form.d.ts.map +1 -1
- package/dist/types/types/plugins/confluent.d.ts +6 -0
- package/dist/types/types/plugins/confluent.d.ts.map +1 -0
- package/dist/types/types/plugins/kafka-upstream.d.ts +6 -0
- package/dist/types/types/plugins/kafka-upstream.d.ts.map +1 -0
- package/package.json +8 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(ee,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong/icons")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","vue-router","@kong-ui-public/i18n","@kong/icons"],t):(ee=typeof globalThis<"u"?globalThis:ee||self,t(ee["kong-ui-public-entities-plugins"]={},ee.Vue,ee["kong-ui-public-entities-shared"],ee.VueRouter,ee["kong-ui-public-i18n"],ee.KongIcons))})(this,function(ee,t,j,Kt,We,Ye){"use strict";var
|
|
1
|
+
(function(ee,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/entities-shared"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong/icons")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/entities-shared","vue-router","@kong-ui-public/i18n","@kong/icons"],t):(ee=typeof globalThis<"u"?globalThis:ee||self,t(ee["kong-ui-public-entities-plugins"]={},ee.Vue,ee["kong-ui-public-entities-shared"],ee.VueRouter,ee["kong-ui-public-i18n"],ee.KongIcons))})(this,function(ee,t,j,Kt,We,Ye){"use strict";var mE=Object.defineProperty;var fE=(ee,t,j)=>t in ee?mE(ee,t,{enumerable:!0,configurable:!0,writable:!0,value:j}):ee[t]=j;var me=(ee,t,j)=>fE(ee,typeof t!="symbol"?t+"":t,j);var et=typeof document<"u"?document.currentScript:null;function Dn(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let yt=Dn();function Ci(e){yt=e}const Bi=/[&<>"']/,ir=new RegExp(Bi.source,"g"),ki=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,ar=new RegExp(ki.source,"g"),or={"&":"&","<":"<",">":">",'"':""","'":"'"},Ii=e=>or[e];function He(e,n){if(n){if(Bi.test(e))return e.replace(ir,Ii)}else if(ki.test(e))return e.replace(ar,Ii);return e}const rr=/(^|[^\[])\^/g;function ue(e,n){let i=typeof e=="string"?e:e.source;n=n||"";const a={replace:(o,r)=>{let s=typeof r=="string"?r:r.source;return s=s.replace(rr,"$1"),i=i.replace(o,s),a},getRegex:()=>new RegExp(i,n)};return a}function vi(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const zt={exec:()=>null};function Oi(e,n){const i=e.replace(/\|/g,(r,s,l)=>{let d=!1,p=s;for(;--p>=0&&l[p]==="\\";)d=!d;return d?"|":" |"}),a=i.split(/ \|/);let o=0;if(a[0].trim()||a.shift(),a.length>0&&!a[a.length-1].trim()&&a.pop(),n)if(a.length>n)a.splice(n);else for(;a.length<n;)a.push("");for(;o<a.length;o++)a[o]=a[o].trim().replace(/\\\|/g,"|");return a}function qt(e,n,i){const a=e.length;if(a===0)return"";let o=0;for(;o<a;){const r=e.charAt(a-o-1);if(r===n&&!i)o++;else if(r!==n&&i)o++;else break}return e.slice(0,a-o)}function sr(e,n){if(e.indexOf(n[1])===-1)return-1;let i=0;for(let a=0;a<e.length;a++)if(e[a]==="\\")a++;else if(e[a]===n[0])i++;else if(e[a]===n[1]&&(i--,i<0))return a;return-1}function Mi(e,n,i,a){const o=n.href,r=n.title?He(n.title):null,s=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){a.state.inLink=!0;const l={type:"link",raw:i,href:o,title:r,text:s,tokens:a.inlineTokens(s)};return a.state.inLink=!1,l}return{type:"image",raw:i,href:o,title:r,text:He(s)}}function lr(e,n){const i=e.match(/^(\s+)(?:```)/);if(i===null)return n;const a=i[1];return n.split(`
|
|
2
2
|
`).map(o=>{const r=o.match(/^\s+/);if(r===null)return o;const[s]=r;return s.length>=a.length?o.slice(a.length):o}).join(`
|
|
3
3
|
`)}class un{constructor(n){me(this,"options");me(this,"rules");me(this,"lexer");this.options=n||yt}space(n){const i=this.rules.block.newline.exec(n);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(n){const i=this.rules.block.code.exec(n);if(i){const a=i[0].replace(/^(?: {1,4}| {0,3}\t)/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?a:qt(a,`
|
|
4
4
|
`)}}}fences(n){const i=this.rules.block.fences.exec(n);if(i){const a=i[0],o=lr(a,i[3]||"");return{type:"code",raw:a,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:o}}}heading(n){const i=this.rules.block.heading.exec(n);if(i){let a=i[2].trim();if(/#$/.test(a)){const o=qt(a,"#");(this.options.pedantic||!o||/ $/.test(o))&&(a=o.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:a,tokens:this.lexer.inline(a)}}}hr(n){const i=this.rules.block.hr.exec(n);if(i)return{type:"hr",raw:qt(i[0],`
|
|
@@ -63,6 +63,6 @@ Please report this to https://github.com/markedjs/marked.`,n){const o="<p>An err
|
|
|
63
63
|
will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
|
|
64
64
|
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:Pt.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
65
65
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Pt.tags}]},xl={fields:[{id:{uuid:!0,auto:!0,type:"string",description:"A string representing a UUID (universally unique identifier)."}},{created_at:{description:"An integer representing an automatic Unix timestamp in seconds.",timestamp:!0,auto:!0,type:"integer"}},{consumer:{on_delete:"cascade",type:"foreign",reference:"consumers",required:!0}},{name:{required:!0,type:"string"}},{client_id:{required:!1,hint:"You can optionally set your own unique client_id. If missing, it will be generated for you.",unique:!0,auto:!0,type:"string"}},{client_secret:{required:!1,hint:"You can optionally set your own unique client_secret. If missing, it will be generated for you.",auto:!0,type:"string",encrypted:!0}},{hash_secret:{required:!0,type:"boolean",default:!1}},{redirect_uris:{required:!1,hint:"One or more URLs in your app where users will be sent after authorization (RFC 6742 Section 3.1.2)",type:"array",elements:{type:"string"}}},{tags:{elements:{required:!0,type:"string",description:"A string representing a tag."},type:"set",description:"A set of strings representing tags."}},{client_type:{required:!0,default:"confidential",type:"string",one_of:["confidential","public"]}}]},zi={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
66
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Ct}]},Vl={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},_e={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",...x["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",...x["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",...x["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",...x.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",...x["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",...x["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",...x["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",...x["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",...x["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",...x.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",...x["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",...x["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",...x["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",...x["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",...x.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...x["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",...x.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...x["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...x["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",isEnterprise:!1,nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...x.acl},canary:{descriptionKey:"plugins.meta.canary.description",isEnterprise:!0,nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...x.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...x["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",...x["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",imageName:"proxy-cache",...x["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",imageName:"graphql",...x["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",...x["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...x["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...x["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",isEnterprise:!0,nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...x.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",...x["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",...x["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",...x["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",...x["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...x["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...x["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...x["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...x["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...x["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...x["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...x["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...x["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",...x["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",...x["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",...x.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",imageName:"kong-function",...x["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",imageName:"kong-function",...x["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",...x.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",...x.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",...x.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",...x.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",...x["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",...x["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",...x["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",...x["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",...x["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...x["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",...x["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",...x.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",...x["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",isEnterprise:!0,nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...x.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",...x["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",...x["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",...x.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",...x["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",...x.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",...x.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",...x["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",...x["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",...x["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",...x.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",...x["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",...x["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",imageName:"application-registration",...x["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",...x.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",...x["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",...x["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",...x["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...x.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",...x["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...x["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",...x["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",...x["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",...x["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",...x["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",...x["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",...x.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",...x["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.json-threat-protection.name",...x["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",...x["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...x["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...x["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...x["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",isEnterprise:!0,nameKey:"plugins.meta.header-cert-auth.name",imageName:"tls-metadata-headers",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...x["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",imageName:"oauth2",...x["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",...x.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",...x["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",...x["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",...x.redirect}},Gt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:ji,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:wt(ji),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Yi,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:wt(Yi)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Hi,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:wt(Hi)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:zi,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:wt(zi)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Ki,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:wt(Ki)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Fi,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:wt(Fi)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Tl,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Nl={acls:vl,basicauth_credentials:Ol,keyauth_credentials:Ml,keyauth_enc_credentials:Vl,oauth2_credentials:xl,hmacauth_credentials:Rl,jwt_secrets:Sl},qi=e=>{var a;const n=((a=_e[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":Pr,"../assets/images/plugin-icons/acme.png":Gr,"../assets/images/plugin-icons/ai-azure-content-safety.png":Lr,"../assets/images/plugin-icons/ai-data-sanitization.png":Ur,"../assets/images/plugin-icons/ai-prompt-decorator.png":jr,"../assets/images/plugin-icons/ai-prompt-guard.png":Yr,"../assets/images/plugin-icons/ai-prompt-template.png":Hr,"../assets/images/plugin-icons/ai-proxy-advanced.png":Fr,"../assets/images/plugin-icons/ai-proxy.png":Kr,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":zr,"../assets/images/plugin-icons/ai-request-transformer.png":qr,"../assets/images/plugin-icons/ai-response-transformer.png":Jr,"../assets/images/plugin-icons/ai-semantic-cache.png":Qr,"../assets/images/plugin-icons/ai-semantic-prompt-guard.png":Xr,"../assets/images/plugin-icons/app-dynamics.png":Zr,"../assets/images/plugin-icons/application-registration.png":Wr,"../assets/images/plugin-icons/aws-lambda.png":_r,"../assets/images/plugin-icons/azure-functions.png":$r,"../assets/images/plugin-icons/basic-auth.png":es,"../assets/images/plugin-icons/bot-detection.png":ts,"../assets/images/plugin-icons/canary.png":ns,"../assets/images/plugin-icons/collector.png":is,"../assets/images/plugin-icons/confluent.png":as,"../assets/images/plugin-icons/correlation-id.png":os,"../assets/images/plugin-icons/cors.png":rs,"../assets/images/plugin-icons/datadog.png":ss,"../assets/images/plugin-icons/degraphql.png":ls,"../assets/images/plugin-icons/dynamic-ssl.png":cs,"../assets/images/plugin-icons/exit-transformer.png":ds,"../assets/images/plugin-icons/file-log.png":us,"../assets/images/plugin-icons/forward-proxy.png":ps,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":As,"../assets/images/plugin-icons/graphql.png":gs,"../assets/images/plugin-icons/grpc-gateway.png":ms,"../assets/images/plugin-icons/grpc-web.png":fs,"../assets/images/plugin-icons/hmac-auth.png":hs,"../assets/images/plugin-icons/http-log.png":ys,"../assets/images/plugin-icons/injection-protection.png":bs,"../assets/images/plugin-icons/ip-restriction.png":Es,"../assets/images/plugin-icons/jq.png":ws,"../assets/images/plugin-icons/json-threat-protection.png":Cs,"../assets/images/plugin-icons/jwe-decrypt.png":Bs,"../assets/images/plugin-icons/jwt-signer.png":ks,"../assets/images/plugin-icons/jwt.png":Is,"../assets/images/plugin-icons/kafka-log.png":vs,"../assets/images/plugin-icons/kafka-upstream.png":Os,"../assets/images/plugin-icons/key-auth-enc.png":Ms,"../assets/images/plugin-icons/key-auth.png":Rs,"../assets/images/plugin-icons/kong-function.png":Ts,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":Ss,"../assets/images/plugin-icons/ldap-auth-advanced.png":xs,"../assets/images/plugin-icons/ldap-auth.png":Vs,"../assets/images/plugin-icons/loggly.png":Ns,"../assets/images/plugin-icons/missing.png":Ds,"../assets/images/plugin-icons/mocking.png":Ps,"../assets/images/plugin-icons/mtls-auth.png":Gs,"../assets/images/plugin-icons/new.png":Ls,"../assets/images/plugin-icons/oas-validation.png":Us,"../assets/images/plugin-icons/oauth2-introspection.png":js,"../assets/images/plugin-icons/oauth2.png":Ys,"../assets/images/plugin-icons/opa.png":Hs,"../assets/images/plugin-icons/openid-connect.png":Fs,"../assets/images/plugin-icons/opentelemetry.png":Ks,"../assets/images/plugin-icons/openwhisk.png":zs,"../assets/images/plugin-icons/prometheus.png":qs,"../assets/images/plugin-icons/proxy-cache.png":Js,"../assets/images/plugin-icons/rate-limiting-advanced.png":Qs,"../assets/images/plugin-icons/rate-limiting.png":Xs,"../assets/images/plugin-icons/redirect.png":Zs,"../assets/images/plugin-icons/request-size-limiting.png":Ws,"../assets/images/plugin-icons/request-termination.png":_s,"../assets/images/plugin-icons/request-transformer-advanced.png":$s,"../assets/images/plugin-icons/request-transformer.png":el,"../assets/images/plugin-icons/request-validator.png":tl,"../assets/images/plugin-icons/response-ratelimiting.png":nl,"../assets/images/plugin-icons/response-transformer-advanced.png":il,"../assets/images/plugin-icons/response-transformer.png":al,"../assets/images/plugin-icons/route-by-header.png":ol,"../assets/images/plugin-icons/route-transformer-advanced.png":rl,"../assets/images/plugin-icons/runscope.png":sl,"../assets/images/plugin-icons/saml.png":ll,"../assets/images/plugin-icons/service-protection.png":cl,"../assets/images/plugin-icons/session.png":dl,"../assets/images/plugin-icons/standard-webhooks.png":ul,"../assets/images/plugin-icons/statsd-advanced.png":pl,"../assets/images/plugin-icons/statsd.png":Al,"../assets/images/plugin-icons/syslog.png":gl,"../assets/images/plugin-icons/tcp-log.png":ml,"../assets/images/plugin-icons/tls-handshake-modifier.png":fl,"../assets/images/plugin-icons/tls-metadata-headers.png":hl,"../assets/images/plugin-icons/udp-log.png":yl,"../assets/images/plugin-icons/upstream-timeout.png":bl,"../assets/images/plugin-icons/upstream-tls.png":El,"../assets/images/plugin-icons/vault-auth.png":wl,"../assets/images/plugin-icons/websocket-size-limit.png":Cl,"../assets/images/plugin-icons/websocket-validator.png":Bl,"../assets/images/plugin-icons/xml-threat-protection.png":kl,"../assets/images/plugin-icons/zipkin.png":Il})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:et&&et.tagName.toUpperCase()==="SCRIPT"&&et.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;return i.includes("undefined")?new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:et&&et.tagName.toUpperCase()==="SCRIPT"&&et.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},Dl=()=>{const{i18n:{t:e}}=fn(),n={},i={};for(const[o,r]of Object.entries(_e))n[o]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[o,r]of Object.entries(Gt))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:Gt,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function Ji(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function Pl(e){return function(n,i,a){for(var o=-1,r=Object(n),s=a(n),l=s.length;l--;){var d=s[++o];if(i(r[d],d,r)===!1)break}return n}}var Gl=Pl();function Ll(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var Qi=typeof global=="object"&&global&&global.Object===Object&&global,Ul=typeof self=="object"&&self&&self.Object===Object&&self,Qe=Qi||Ul||Function("return this")(),st=Qe.Symbol,Xi=Object.prototype,jl=Xi.hasOwnProperty,Yl=Xi.toString,Wt=st?st.toStringTag:void 0;function Hl(e){var n=jl.call(e,Wt),i=e[Wt];try{e[Wt]=void 0;var a=!0}catch{}var o=Yl.call(e);return a&&(n?e[Wt]=i:delete e[Wt]),o}var Fl=Object.prototype,Kl=Fl.toString;function zl(e){return Kl.call(e)}var ql="[object Null]",Jl="[object Undefined]",Zi=st?st.toStringTag:void 0;function lt(e){return e==null?e===void 0?Jl:ql:Zi&&Zi in Object(e)?Hl(e):zl(e)}function ct(e){return e!=null&&typeof e=="object"}var Ql="[object Arguments]";function Wi(e){return ct(e)&<(e)==Ql}var _i=Object.prototype,Xl=_i.hasOwnProperty,Zl=_i.propertyIsEnumerable,Wl=Wi(function(){return arguments}())?Wi:function(e){return ct(e)&&Xl.call(e,"callee")&&!Zl.call(e,"callee")},dt=Array.isArray;function _l(){return!1}var $i=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ea=$i&&typeof module=="object"&&module&&!module.nodeType&&module,$l=ea&&ea.exports===$i,ta=$l?Qe.Buffer:void 0,ec=ta?ta.isBuffer:void 0,na=ec||_l,tc=9007199254740991,nc=/^(?:0|[1-9]\d*)$/;function ia(e,n){var i=typeof e;return n=n??tc,!!n&&(i=="number"||i!="symbol"&&nc.test(e))&&e>-1&&e%1==0&&e<n}var ic=9007199254740991;function aa(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ic}var ac="[object Arguments]",oc="[object Array]",rc="[object Boolean]",sc="[object Date]",lc="[object Error]",cc="[object Function]",dc="[object Map]",uc="[object Number]",pc="[object Object]",Ac="[object RegExp]",gc="[object Set]",mc="[object String]",fc="[object WeakMap]",hc="[object ArrayBuffer]",yc="[object DataView]",bc="[object Float32Array]",Ec="[object Float64Array]",wc="[object Int8Array]",Cc="[object Int16Array]",Bc="[object Int32Array]",kc="[object Uint8Array]",Ic="[object Uint8ClampedArray]",vc="[object Uint16Array]",Oc="[object Uint32Array]",he={};he[bc]=he[Ec]=he[wc]=he[Cc]=he[Bc]=he[kc]=he[Ic]=he[vc]=he[Oc]=!0,he[ac]=he[oc]=he[hc]=he[rc]=he[yc]=he[sc]=he[lc]=he[cc]=he[dc]=he[uc]=he[pc]=he[Ac]=he[gc]=he[mc]=he[fc]=!1;function Mc(e){return ct(e)&&aa(e.length)&&!!he[lt(e)]}function Fn(e){return function(n){return e(n)}}var oa=typeof ee=="object"&&ee&&!ee.nodeType&&ee,_t=oa&&typeof module=="object"&&module&&!module.nodeType&&module,Rc=_t&&_t.exports===oa,Kn=Rc&&Qi.process,Lt=function(){try{var e=_t&&_t.require&&_t.require("util").types;return e||Kn&&Kn.binding&&Kn.binding("util")}catch{}}(),ra=Lt&&Lt.isTypedArray,Tc=ra?Fn(ra):Mc,Sc=Object.prototype,xc=Sc.hasOwnProperty;function sa(e,n){var i=dt(e),a=!i&&Wl(e),o=!i&&!a&&na(e),r=!i&&!a&&!o&&Tc(e),s=i||a||o||r,l=s?Ll(e.length,String):[],d=l.length;for(var p in e)(n||xc.call(e,p))&&!(s&&(p=="length"||o&&(p=="offset"||p=="parent")||r&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||ia(p,d)))&&l.push(p);return l}var Vc=Object.prototype;function zn(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||Vc;return e===i}function la(e,n){return function(i){return e(n(i))}}var Nc=la(Object.keys,Object),Dc=Object.prototype,Pc=Dc.hasOwnProperty;function Gc(e){if(!zn(e))return Nc(e);var n=[];for(var i in Object(e))Pc.call(e,i)&&i!="constructor"&&n.push(i);return n}function Fe(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Lc="[object AsyncFunction]",Uc="[object Function]",jc="[object GeneratorFunction]",Yc="[object Proxy]";function ye(e){if(!Fe(e))return!1;var n=lt(e);return n==Uc||n==jc||n==Lc||n==Yc}function hn(e){return e!=null&&aa(e.length)&&!ye(e)}function yn(e){return hn(e)?sa(e):Gc(e)}function Hc(e,n){return e&&Gl(e,n,yn)}function Fc(e,n){return function(i,a){if(i==null)return i;if(!hn(i))return e(i,a);for(var o=i.length,r=-1,s=Object(i);++r<o&&a(s[r],r,s)!==!1;);return i}}var Kc=Fc(Hc);function qn(e){return e}function zc(e){return typeof e=="function"?e:qn}function Pe(e,n){var i=dt(e)?Ji:Kc;return i(e,zc(n))}var qc="[object Symbol]";function bn(e){return typeof e=="symbol"||ct(e)&<(e)==qc}var Jc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qc=/^\w*$/;function Xc(e,n){if(dt(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||bn(e)?!0:Qc.test(e)||!Jc.test(e)||n!=null&&e in Object(n)}var Jn=Qe["__core-js_shared__"],ca=function(){var e=/[^.]+$/.exec(Jn&&Jn.keys&&Jn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Zc(e){return!!ca&&ca in e}var Wc=Function.prototype,_c=Wc.toString;function Bt(e){if(e!=null){try{return _c.call(e)}catch{}try{return e+""}catch{}}return""}var $c=/[\\^$.*+?()[\]{}|]/g,ed=/^\[object .+?Constructor\]$/,td=Function.prototype,nd=Object.prototype,id=td.toString,ad=nd.hasOwnProperty,od=RegExp("^"+id.call(ad).replace($c,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function rd(e){if(!Fe(e)||Zc(e))return!1;var n=ye(e)?od:ed;return n.test(Bt(e))}function sd(e,n){return e==null?void 0:e[n]}function kt(e,n){var i=sd(e,n);return rd(i)?i:void 0}var $t=kt(Object,"create");function ld(){this.__data__=$t?$t(null):{},this.size=0}function cd(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var dd="__lodash_hash_undefined__",ud=Object.prototype,pd=ud.hasOwnProperty;function Ad(e){var n=this.__data__;if($t){var i=n[e];return i===dd?void 0:i}return pd.call(n,e)?n[e]:void 0}var gd=Object.prototype,md=gd.hasOwnProperty;function fd(e){var n=this.__data__;return $t?n[e]!==void 0:md.call(n,e)}var hd="__lodash_hash_undefined__";function yd(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=$t&&n===void 0?hd:n,this}function It(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var a=e[n];this.set(a[0],a[1])}}It.prototype.clear=ld,It.prototype.delete=cd,It.prototype.get=Ad,It.prototype.has=fd,It.prototype.set=yd;function bd(){this.__data__=[],this.size=0}function En(e,n){return e===n||e!==e&&n!==n}function wn(e,n){for(var i=e.length;i--;)if(En(e[i][0],n))return i;return-1}var Ed=Array.prototype,wd=Ed.splice;function Cd(e){var n=this.__data__,i=wn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():wd.call(n,i,1),--this.size,!0}function Bd(e){var n=this.__data__,i=wn(n,e);return i<0?void 0:n[i][1]}function kd(e){return wn(this.__data__,e)>-1}function Id(e,n){var i=this.__data__,a=wn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function tt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var a=e[n];this.set(a[0],a[1])}}tt.prototype.clear=bd,tt.prototype.delete=Cd,tt.prototype.get=Bd,tt.prototype.has=kd,tt.prototype.set=Id;var en=kt(Qe,"Map");function vd(){this.size=0,this.__data__={hash:new It,map:new(en||tt),string:new It}}function Od(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Cn(e,n){var i=e.__data__;return Od(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Md(e){var n=Cn(this,e).delete(e);return this.size-=n?1:0,n}function Rd(e){return Cn(this,e).get(e)}function Td(e){return Cn(this,e).has(e)}function Sd(e,n){var i=Cn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function nt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var a=e[n];this.set(a[0],a[1])}}nt.prototype.clear=vd,nt.prototype.delete=Md,nt.prototype.get=Rd,nt.prototype.has=Td,nt.prototype.set=Sd;var xd="Expected a function";function Qn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(xd);var i=function(){var a=arguments,o=n?n.apply(this,a):a[0],r=i.cache;if(r.has(o))return r.get(o);var s=e.apply(this,a);return i.cache=r.set(o,s)||r,s};return i.cache=new(Qn.Cache||nt),i}Qn.Cache=nt;var Vd=500;function Nd(e){var n=Qn(e,function(a){return i.size===Vd&&i.clear(),a}),i=n.cache;return n}var Dd=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pd=/\\(\\)?/g,Gd=Nd(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Dd,function(i,a,o,r){n.push(o?r.replace(Pd,"$1"):a||i)}),n});function Ld(e,n){for(var i=-1,a=e==null?0:e.length,o=Array(a);++i<a;)o[i]=n(e[i],i,e);return o}var Ud=1/0,da=st?st.prototype:void 0,ua=da?da.toString:void 0;function pa(e){if(typeof e=="string")return e;if(dt(e))return Ld(e,pa)+"";if(bn(e))return ua?ua.call(e):"";var n=e+"";return n=="0"&&1/e==-Ud?"-0":n}function Aa(e){return e==null?"":pa(e)}function jd(e,n){return dt(e)?e:Xc(e,n)?[e]:Gd(Aa(e))}var Yd=1/0;function Hd(e){if(typeof e=="string"||bn(e))return e;var n=e+"";return n=="0"&&1/e==-Yd?"-0":n}function Fd(e,n){n=jd(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[Hd(n[i++])];return i&&i==a?e:void 0}function le(e,n,i){var a=e==null?void 0:Fd(e,n);return a===void 0?i:a}function Re(e){return e==null}const ut="kong-ui-forms-api",pt="autofill",Xe="autofillSlot";function Kd(){this.__data__=new tt,this.size=0}function zd(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function qd(e){return this.__data__.get(e)}function Jd(e){return this.__data__.has(e)}var Qd=200;function Xd(e,n){var i=this.__data__;if(i instanceof tt){var a=i.__data__;if(!en||a.length<Qd-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new nt(a)}return i.set(e,n),this.size=i.size,this}function Ut(e){var n=this.__data__=new tt(e);this.size=n.size}Ut.prototype.clear=Kd,Ut.prototype.delete=zd,Ut.prototype.get=qd,Ut.prototype.has=Jd,Ut.prototype.set=Xd;var Bn=function(){try{var e=kt(Object,"defineProperty");return e({},"",{}),e}catch{}}();function ga(e,n,i){n=="__proto__"&&Bn?Bn(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var Zd=Object.prototype,Wd=Zd.hasOwnProperty;function ma(e,n,i){var a=e[n];(!(Wd.call(e,n)&&En(a,i))||i===void 0&&!(n in e))&&ga(e,n,i)}function kn(e,n,i,a){var o=!i;i||(i={});for(var r=-1,s=n.length;++r<s;){var l=n[r],d=void 0;d===void 0&&(d=e[l]),o?ga(i,l,d):ma(i,l,d)}return i}function _d(e,n){return e&&kn(n,yn(n),e)}function $d(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var eu=Object.prototype,tu=eu.hasOwnProperty;function nu(e){if(!Fe(e))return $d(e);var n=zn(e),i=[];for(var a in e)a=="constructor"&&(n||!tu.call(e,a))||i.push(a);return i}function In(e){return hn(e)?sa(e,!0):nu(e)}function iu(e,n){return e&&kn(n,In(n),e)}var fa=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ha=fa&&typeof module=="object"&&module&&!module.nodeType&&module,au=ha&&ha.exports===fa,ya=au?Qe.Buffer:void 0,ba=ya?ya.allocUnsafe:void 0;function ou(e,n){if(n)return e.slice();var i=e.length,a=ba?ba(i):new e.constructor(i);return e.copy(a),a}function ru(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function su(e,n){for(var i=-1,a=e==null?0:e.length,o=0,r=[];++i<a;){var s=e[i];n(s,i,e)&&(r[o++]=s)}return r}function Ea(){return[]}var lu=Object.prototype,cu=lu.propertyIsEnumerable,wa=Object.getOwnPropertySymbols,Xn=wa?function(e){return e==null?[]:(e=Object(e),su(wa(e),function(n){return cu.call(e,n)}))}:Ea;function du(e,n){return kn(e,Xn(e),n)}function Ca(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var Ba=la(Object.getPrototypeOf,Object),uu=Object.getOwnPropertySymbols,ka=uu?function(e){for(var n=[];e;)Ca(n,Xn(e)),e=Ba(e);return n}:Ea;function pu(e,n){return kn(e,ka(e),n)}function Ia(e,n,i){var a=n(e);return dt(e)?a:Ca(a,i(e))}function Au(e){return Ia(e,yn,Xn)}function gu(e){return Ia(e,In,ka)}var Zn=kt(Qe,"DataView"),Wn=kt(Qe,"Promise"),jt=kt(Qe,"Set"),_n=kt(Qe,"WeakMap"),va="[object Map]",mu="[object Object]",Oa="[object Promise]",Ma="[object Set]",Ra="[object WeakMap]",Ta="[object DataView]",fu=Bt(Zn),hu=Bt(en),yu=Bt(Wn),bu=Bt(jt),Eu=Bt(_n),it=lt;(Zn&&it(new Zn(new ArrayBuffer(1)))!=Ta||en&&it(new en)!=va||Wn&&it(Wn.resolve())!=Oa||jt&&it(new jt)!=Ma||_n&&it(new _n)!=Ra)&&(it=function(e){var n=lt(e),i=n==mu?e.constructor:void 0,a=i?Bt(i):"";if(a)switch(a){case fu:return Ta;case hu:return va;case yu:return Oa;case bu:return Ma;case Eu:return Ra}return n});var wu=Object.prototype,Cu=wu.hasOwnProperty;function Bu(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&Cu.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var Sa=Qe.Uint8Array;function $n(e){var n=new e.constructor(e.byteLength);return new Sa(n).set(new Sa(e)),n}function ku(e,n){var i=n?$n(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var Iu=/\w*$/;function vu(e){var n=new e.constructor(e.source,Iu.exec(e));return n.lastIndex=e.lastIndex,n}var xa=st?st.prototype:void 0,Va=xa?xa.valueOf:void 0;function Ou(e){return Va?Object(Va.call(e)):{}}function Mu(e,n){var i=n?$n(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var Ru="[object Boolean]",Tu="[object Date]",Su="[object Map]",xu="[object Number]",Vu="[object RegExp]",Nu="[object Set]",Du="[object String]",Pu="[object Symbol]",Gu="[object ArrayBuffer]",Lu="[object DataView]",Uu="[object Float32Array]",ju="[object Float64Array]",Yu="[object Int8Array]",Hu="[object Int16Array]",Fu="[object Int32Array]",Ku="[object Uint8Array]",zu="[object Uint8ClampedArray]",qu="[object Uint16Array]",Ju="[object Uint32Array]";function Qu(e,n,i){var a=e.constructor;switch(n){case Gu:return $n(e);case Ru:case Tu:return new a(+e);case Lu:return ku(e,i);case Uu:case ju:case Yu:case Hu:case Fu:case Ku:case zu:case qu:case Ju:return Mu(e,i);case Su:return new a;case xu:case Du:return new a(e);case Vu:return vu(e);case Nu:return new a;case Pu:return Ou(e)}}var Na=Object.create,Xu=function(){function e(){}return function(n){if(!Fe(n))return{};if(Na)return Na(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function Zu(e){return typeof e.constructor=="function"&&!zn(e)?Xu(Ba(e)):{}}var Wu="[object Map]";function _u(e){return ct(e)&&it(e)==Wu}var Da=Lt&&Lt.isMap,$u=Da?Fn(Da):_u,ep="[object Set]";function tp(e){return ct(e)&&it(e)==ep}var Pa=Lt&&Lt.isSet,np=Pa?Fn(Pa):tp,ip=1,ap=2,op=4,Ga="[object Arguments]",rp="[object Array]",sp="[object Boolean]",lp="[object Date]",cp="[object Error]",La="[object Function]",dp="[object GeneratorFunction]",up="[object Map]",pp="[object Number]",Ua="[object Object]",Ap="[object RegExp]",gp="[object Set]",mp="[object String]",fp="[object Symbol]",hp="[object WeakMap]",yp="[object ArrayBuffer]",bp="[object DataView]",Ep="[object Float32Array]",wp="[object Float64Array]",Cp="[object Int8Array]",Bp="[object Int16Array]",kp="[object Int32Array]",Ip="[object Uint8Array]",vp="[object Uint8ClampedArray]",Op="[object Uint16Array]",Mp="[object Uint32Array]",fe={};fe[Ga]=fe[rp]=fe[yp]=fe[bp]=fe[sp]=fe[lp]=fe[Ep]=fe[wp]=fe[Cp]=fe[Bp]=fe[kp]=fe[up]=fe[pp]=fe[Ua]=fe[Ap]=fe[gp]=fe[mp]=fe[fp]=fe[Ip]=fe[vp]=fe[Op]=fe[Mp]=!0,fe[cp]=fe[La]=fe[hp]=!1;function tn(e,n,i,a,o,r){var s,l=n&ip,d=n&ap,p=n&op;if(s!==void 0)return s;if(!Fe(e))return e;var u=dt(e);if(u){if(s=Bu(e),!l)return ru(e,s)}else{var A=it(e),g=A==La||A==dp;if(na(e))return ou(e,l);if(A==Ua||A==Ga||g&&!o){if(s=d||g?{}:Zu(e),!l)return d?pu(e,iu(s,e)):du(e,_d(s,e))}else{if(!fe[A])return o?e:{};s=Qu(e,A,l)}}r||(r=new Ut);var w=r.get(e);if(w)return w;r.set(e,s),np(e)?e.forEach(function(v){s.add(tn(v,n,i,v,e,r))}):$u(e)&&e.forEach(function(v,C){s.set(C,tn(v,n,i,C,e,r))});var S=p?d?gu:Au:d?In:yn,h=u?void 0:S(e);return Ji(h||e,function(v,C){h&&(C=v,v=e[C]),ma(s,C,tn(v,n,i,C,e,r))}),s}var Rp=1,Tp=4;function at(e){return tn(e,Rp|Tp)}const ei=(e,n="")=>typeof e.id<"u"?n+e.id+"":n+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,""),ja=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var Sp="[object String]";function vt(e){return typeof e=="string"||!dt(e)&&ct(e)&<(e)==Sp}const Ya={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[le(this.options,"validationErrorClass","error")]:n,[le(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?Pe(e.styleClasses,a=>i[a]=!0):vt(e.styleClasses)&&(i[e.styleClasses]=!0),Re(e.type)||(i["field-"+e.type]=!0),i},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},fieldDisabled(e){return ye(e.disabled)?e.disabled.call(this,this.model,e,this):Re(e.disabled)?!1:e.disabled},fieldReadonly(e){return ye(e.readonly)?e.readonly.call(this,this.model,e,this):Re(e.readonly)?!1:e.readonly},fieldFeatured(e){return ye(e.featured)?e.featured.call(this,this.model,e,this):Re(e.featured)?!1:e.featured},fieldRequired(e){return ye(e.required)?e.required.call(this,this.model,e,this):Re(e.required)?!1:e.required}}};var ti=function(){return Qe.Date.now()},xp=/\s/;function Vp(e){for(var n=e.length;n--&&xp.test(e.charAt(n)););return n}var Np=/^\s+/;function Dp(e){return e&&e.slice(0,Vp(e)+1).replace(Np,"")}var Ha=NaN,Pp=/^[-+]0x[0-9a-f]+$/i,Gp=/^0b[01]+$/i,Lp=/^0o[0-7]+$/i,Up=parseInt;function ni(e){if(typeof e=="number")return e;if(bn(e))return Ha;if(Fe(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Fe(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Dp(e);var i=Gp.test(e);return i||Lp.test(e)?Up(e.slice(2),i?2:8):Pp.test(e)?Ha:+e}var jp="Expected a function",Yp=Math.max,Hp=Math.min;function nn(e,n,i){var a,o,r,s,l,d,p=0,u=!1,A=!1,g=!0;if(typeof e!="function")throw new TypeError(jp);n=ni(n)||0,Fe(i)&&(u=!!i.leading,A="maxWait"in i,r=A?Yp(ni(i.maxWait)||0,n):r,g="trailing"in i?!!i.trailing:g);function w(f){var I=a,M=o;return a=o=void 0,p=f,s=e.apply(M,I),s}function S(f){return p=f,l=setTimeout(C,n),u?w(f):s}function h(f){var I=f-d,M=f-p,F=n-I;return A?Hp(F,r-M):F}function v(f){var I=f-d,M=f-p;return d===void 0||I>=n||I<0||A&&M>=r}function C(){var f=ti();if(v(f))return Y(f);l=setTimeout(C,h(f))}function Y(f){return l=void 0,g&&a?w(f):(a=o=void 0,s)}function y(){l!==void 0&&clearTimeout(l),p=0,a=d=o=l=void 0}function m(){return l===void 0?s:Y(ti())}function E(){var f=ti(),I=v(f);if(a=arguments,o=this,d=f,I){if(l===void 0)return S(d);if(A)return clearTimeout(l),l=setTimeout(C,n),w(d)}return l===void 0&&(l=setTimeout(C,n)),s}return E.cancel=y,E.flush=m,E}var Fp="__lodash_hash_undefined__";function Kp(e){return this.__data__.set(e,Fp),this}function zp(e){return this.__data__.has(e)}function vn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new nt;++n<i;)this.add(e[n])}vn.prototype.add=vn.prototype.push=Kp,vn.prototype.has=zp;function qp(e,n,i,a){for(var o=e.length,r=i+-1;++r<o;)if(n(e[r],r,e))return r;return-1}function Jp(e){return e!==e}function Qp(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function Xp(e,n,i){return n===n?Qp(e,n,i):qp(e,Jp,i)}function Zp(e,n){var i=e==null?0:e.length;return!!i&&Xp(e,n,0)>-1}function Wp(e,n){return e.has(n)}function _p(){}function Fa(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var $p=1/0,eA=jt&&1/Fa(new jt([,-0]))[1]==$p?function(e){return new jt(e)}:_p,tA=200;function nA(e,n,i){var a=-1,o=Zp,r=e.length,s=!0,l=[],d=l;if(r>=tA){var p=eA(e);if(p)return Fa(p);s=!1,o=Wp,d=new vn}else d=l;e:for(;++a<r;){var u=e[a],A=u;if(u=u!==0?u:0,s&&A===A){for(var g=d.length;g--;)if(d[g]===A)continue e;l.push(u)}else o(d,A,i)||(d!==l&&d.push(A),l.push(u))}return l}function Ka(e){return e&&e.length?nA(e):[]}var iA=0;function za(e){var n=++iA;return Aa(e)+n}var qa=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,At="\\d\\d?",gt="\\d\\d",aA="\\d{3}",oA="\\d{4}",an="[^\\s]+",Ja=/\[([^]*?)\]/gm;function Qa(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var Xa=function(e){return function(n,i){var a=i[e].map(function(r){return r.toLowerCase()}),o=a.indexOf(n.toLowerCase());return o>-1?o:null}};function Ot(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var a=0,o=n;a<o.length;a++){var r=o[a];for(var s in r)e[s]=r[s]}return e}var Za=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Wa=["January","February","March","April","May","June","July","August","September","October","November","December"],rA=Qa(Wa,3),sA=Qa(Za,3),_a={dayNamesShort:sA,dayNames:Za,monthNamesShort:rA,monthNames:Wa,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},On=Ot({},_a),lA=function(e){return On=Ot(On,e)},$a=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ge=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},cA={D:function(e){return String(e.getDate())},DD:function(e){return Ge(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Ge(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return Ge(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return Ge(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Ge(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Ge(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Ge(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Ge(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Ge(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Ge(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Ge(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60),2)+":"+Ge(Math.abs(n)%60,2)}},eo=function(e){return+e-1},to=[null,At],no=[null,an],io=["isPm",an,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],ao=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var n=(e+"").match(/([+-]|\d\d)/gi);if(n){var i=+n[1]*60+parseInt(n[2],10);return n[0]==="+"?i:-i}return 0}],dA={D:["day",At],DD:["day",gt],Do:["day",At+an,function(e){return parseInt(e,10)}],M:["month",At,eo],MM:["month",gt,eo],YY:["year",gt,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",At,void 0,"isPm"],hh:["hour",gt,void 0,"isPm"],H:["hour",At],HH:["hour",gt],m:["minute",At],mm:["minute",gt],s:["second",At],ss:["second",gt],YYYY:["year",oA],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",gt,function(e){return+e*10}],SSS:["millisecond",aA],d:to,dd:to,ddd:no,dddd:no,MMM:["month",an,Xa("monthNamesShort")],MMMM:["month",an,Xa("monthNames")],a:io,A:io,ZZ:ao,Z:ao},Mn={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},uA=function(e){return Ot(Mn,e)},pA=function(e,n,i){if(n===void 0&&(n=Mn.default),i===void 0&&(i={}),typeof e=="number"&&(e=new Date(e)),Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");n=Mn[n]||n;var a=[];n=n.replace(Ja,function(r,s){return a.push(s),"@@@"});var o=Ot(Ot({},On),i);return n=n.replace(qa,function(r){return cA[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function AA(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Mn[n]||n,e.length>1e3)return null;var a=new Date,o={year:a.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},r=[],s=[],l=n.replace(Ja,function(m,E){return s.push($a(E)),"@@@"}),d={},p={};l=$a(l).replace(qa,function(m){var E=dA[m],f=E[0],I=E[1],M=E[3];if(d[f])throw new Error("Invalid format. "+f+" specified twice in format");return d[f]=!0,M&&(p[M]=!0),r.push(E),"("+I+")"}),Object.keys(p).forEach(function(m){if(!d[m])throw new Error("Invalid format. "+m+" is required in specified format")}),l=l.replace(/@@@/g,function(){return s.shift()});var u=e.match(new RegExp(l,"i"));if(!u)return null;for(var A=Ot(Ot({},On),i),g=1;g<u.length;g++){var w=r[g-1],S=w[0],h=w[2],v=h?h(u[g],A):+u[g];if(v==null)return null;o[S]=v}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var C;if(o.timezoneOffset==null){C=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var Y=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,y=Y.length;g<y;g++)if(d[Y[g][0]]&&o[Y[g][0]]!==C[Y[g][1]]())return null}else if(C=new Date(Date.UTC(o.year,o.month,o.day,o.hour,o.minute-o.timezoneOffset,o.second,o.millisecond)),o.month>11||o.month<0||o.day>31||o.day<1||o.hour>23||o.hour<0||o.minute>59||o.minute<0||o.second>59||o.second<0)return null;return C}var Yt={format:pA,parse:AA,defaultI18n:_a,setGlobalDateI18n:lA,setGlobalDateMasks:uA};function gA(e,n,i){switch(i.length){case 0:return e.call(n);case 1:return e.call(n,i[0]);case 2:return e.call(n,i[0],i[1]);case 3:return e.call(n,i[0],i[1],i[2])}return e.apply(n,i)}var oo=Math.max;function mA(e,n,i){return n=oo(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=oo(a.length-n,0),s=Array(r);++o<r;)s[o]=a[n+o];o=-1;for(var l=Array(n+1);++o<n;)l[o]=a[o];return l[n]=i(s),gA(e,this,l)}}function fA(e){return function(){return e}}var hA=Bn?function(e,n){return Bn(e,"toString",{configurable:!0,enumerable:!1,value:fA(n),writable:!0})}:qn,yA=800,bA=16,EA=Date.now;function wA(e){var n=0,i=0;return function(){var a=EA(),o=bA-(a-i);if(i=a,o>0){if(++n>=yA)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var CA=wA(hA);function BA(e,n){return CA(mA(e,n,qn),e+"")}function kA(e,n,i){if(!Fe(i))return!1;var a=typeof n;return(a=="number"?hn(i)&&ia(n,i.length):a=="string"&&n in i)?En(i[n],e):!1}var ro=Object.prototype,IA=ro.hasOwnProperty,vA=BA(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&kA(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=In(r),l=-1,d=s.length;++l<d;){var p=s[l],u=e[p];(u===void 0||En(u,ro[p])&&!IA.call(e,p))&&(e[p]=r[p])}return e}),OA=Qe.isFinite;function MA(e){return typeof e=="number"&&OA(e)}var so=1/0,RA=17976931348623157e292;function TA(e){if(!e)return e===0?e:0;if(e=ni(e),e===so||e===-so){var n=e<0?-1:1;return n*RA}return e===e?e:0}function SA(e){var n=TA(e),i=n%1;return n===n?i?n-i:n:0}function xA(e){return typeof e=="number"&&e==SA(e)}var VA="[object Number]";function ii(e){return typeof e=="number"||ct(e)&<(e)==VA}const NA={packageName:"forms",disable_global_radio:"The plugin is set to 'Scoped' by default when configured under a {scope}. To configure a global plugin, navigate to the global plugin list page.",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it."},DA={view_advanced_fields:"View Advanced Fields",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},PA={field_is_required:"This field is required",invalid_format:"Invalid format",number_too_small:"The number is too small. Minimum: {0}",number_too_large:"The number is too large. Maximum: {0}",invalid_number:"Invalid number",invalid_integer:"The value is not an integer",text_too_short:"The length of text is too short. Current: {0}, Minimum: {1}",text_too_long:"The length of text is too long. Current: {0}, Maximum: {1}",this_not_text:"This is not a text",this_not_array:"This is not an array",select_min_items:"Select minimum {0} items",select_max_items:"Select maximum {0} items",invalid_date:"Invalid date",date_is_early:"The date is too early. Current: {0}, Minimum: {1}",date_is_late:"The date is too late. Current: {0}, Maximum: {1}",invalid_email:"Invalid e-mail address",invalid_url:"Invalid URL",invalid_card:"Invalid card format",invalid_card_number:"Invalid card number",invalid_text_contain_number:"Invalid text - cannot contains numbers or special characters",invalid_tex_contain_spec:"Invalid text - cannot contains special characters"},GA={labels:{on:"On",off:"Off"}},Mt={general:NA,"post-function":{tags:{hint:"e.g. tag1, tag2, tag3",newElementButtonLabel:"+ Add"},enabled:{newElementButtonLabel:"+ Add"},selectionGroup:{newElementButtonLabel:"+ Add"},instance_name:{newElementButtonLabel:"+ Add"},name:{newElementButtonLabel:"+ Add"},"config-certificate":{help:"Array of stringified Lua code to be cached and run in sequence during the certificate phase.",newElementButtonLabel:"+ Add"},"config-access":{help:"Array of stringified Lua code to be cached and run in sequence during the access phase.",newElementButtonLabel:"+ Add"},"config-body_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the body_filter phase.",newElementButtonLabel:"+ Add"},"config-header_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the header_filter phase.",newElementButtonLabel:"+ Add"},"config-functions":{newElementButtonLabel:"+ Add"},"config-log":{newElementButtonLabel:"+ Add"},"config-rewrite":{newElementButtonLabel:"+ Add"},"config-ws_client_frame":{newElementButtonLabel:"+ Add"},"config-ws_close":{newElementButtonLabel:"+ Add"},"config-ws_handshake":{newElementButtonLabel:"+ Add"},"config-ws_upstream_frame":{newElementButtonLabel:"+ Add"}},"exit-transformer":{"config-functions":{newElementButtonLabel:"+ Add"}},rla:DA,validators:PA,vfg:GA},{t:Oe}=We.createI18n("en-us",Mt),Se={fieldIsRequired:Oe("validators.field_is_required"),invalidFormat:Oe("validators.invalid_format"),numberTooSmall:Oe("validators.number_too_small"),numberTooBig:Oe("validators.number_too_large"),invalidNumber:Oe("validators.invalid_number"),invalidInteger:Oe("validators.invalid_integer"),textTooSmall:Oe("validators.text_too_short"),textTooBig:Oe("validators.text_too_long"),thisNotText:Oe("validators.this_not_text"),thisNotArray:Oe("validators.this_not_array"),selectMinItems:Oe("validators.select_min_items"),selectMaxItems:Oe("validators.select_max_items"),invalidDate:Oe("validators.invalid_date"),dateIsEarly:Oe("validators.date_is_early"),dateIsLate:Oe("validators.date_is_late"),invalidEmail:Oe("validators.invalid_email"),invalidURL:Oe("validators.invalid_url"),invalidCard:Oe("validators.invalid_card"),invalidCardNumber:Oe("validators.invalid_card_number"),invalidTextContainNumber:Oe("validators.invalid_text_contain_number"),invalidTextContainSpec:Oe("validators.invalid_tex_contain_spec")},Ce=(e,...n)=>{if(e&&n.length>0)for(let i=0;i<n.length;i++)e=e.replace("{"+(i-1)+"}",String(n[i]||""));return e},Ze=(e,n,i=Se)=>Re(e)||e===""?n?[Ce(i.fieldIsRequired)]:[]:null,Rt={required:(e,n,i,a=Se)=>Ze(e,n.required,a)||[],number:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);return o!=null||(o=[],MA(e)?(!Re(n.min)&&e<n.min,(a=Se)&&o.push(Ce(a.numberTooSmall,n.min)),!Re(n.max)&&e>n.max,(a=Se)&&o.push(Ce(a.numberTooBig,n.max))):o.push(Ce(a.invalidNumber))),o},integer:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);return o!=null||(o=[],o.concat(Rt.number(e,n,i,a)),xA(e)||o.push(Ce(a.invalidInteger))),o},double:(e,n,i,a=Se)=>Ze(e,n.required,a)??(!ii(e)||isNaN(e)?[Ce(a.invalidNumber)]:[]),string:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);return o!=null||(o=[],vt(e)?(!Re(n.min)&&e.length<n.min&&o.push(Ce(a.textTooSmall,e.length,n.min)),!Re(n.max)&&e.length>n.max&&o.push(Ce(a.textTooBig,e.length,n.max))):o.push(Ce(a.thisNotText))),o},array:(e,n,i,a=Se)=>{if(n.required){if(!Array.isArray(e))return[Ce(a.thisNotArray)];if(e.length===0)return[Ce(a.fieldIsRequired)]}if(!Re(e)){if(!Re(n.min)&&e.length<n.min)return[Ce(a.selectMinItems,n.min)];if(!Re(n.max)&&e.length>n.max)return[Ce(a.selectMaxItems,n.max)]}return[]},date:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);if(o!=null)return o;o=[];const r=new Date(e);if(isNaN(r.getDate()))return[Ce(a.invalidDate)];if(!Re(n.min)){const s=new Date(n.min);r.valueOf()<s.valueOf()&&o.push(Ce(a.dateIsEarly,Yt.format(r),Yt.format(s)))}if(!Re(n.max)){const s=new Date(n.max);r.valueOf()>s.valueOf()&&o.push(Ce(a.dateIsLate,Yt.format(r),Yt.format(s)))}return o},regexp:(e,n,i,a=Se)=>Ze(e,n.required,a)??(!Re(n.pattern)&&!new RegExp(n.pattern).test(e)?[Ce(a.invalidFormat)]:[]),email:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)?[]:[Ce(a.invalidEmail)]),url:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e)?[]:[Ce(a.invalidURL)]),creditCard:(e,n,i,a=Se)=>{const o=Ze(e,n.required,a);if(o!=null)return o;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!r.test(s))return[Ce(a.invalidCard)];let l=0,d,p,u;for(let A=s.length-1;A>=0;A--)d=s.substring(A,A+1),p=parseInt(d,10),u?(p*=2,p>=10?l+=p%10+1:l+=p):l+=p,u=!u;return l%10===0&&s?[]:[Ce(a.invalidCardNumber)]},alpha:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/^[a-zA-Z]*$/.test(e)?[]:[Ce(a.invalidTextContainNumber)]),alphaNumeric:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Ce(a.invalidTextContainSpec)])};Object.keys(Rt).forEach(e=>{const n=Rt[e];ye(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,vA(i,Se)))});function lo(e){return vt(e)?Rt[e]!=null?Rt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function ai(e,n,i){let a=le(i.context,"schema.attributes",{});const o=n.value||"input";vt(o)&&(a=le(a,o)||a),Pe(a,(r,s)=>{e.setAttribute(s,r)})}const ot={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:ai,updated:ai,componentUpdated:ai}},computed:{value:{cache:!1,get(){let e;return ye(le(this.schema,"get"))?e=this.schema.get(this.model):e=le(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),ye(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=le(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const o=[];Array.isArray(this.schema.validator)?Pe(this.schema.validator,r=>{o.push(lo(r).bind(this))}):o.push(lo(this.schema.validator).bind(this)),Pe(o,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const s=r(this.value,this.schema,this.model);s&&ye(s.then)?s.then(l=>{l&&(this.errors=this.errors.concat(l));const d=this.errors.length===0;this.$emit("validated",d,this.errors,this)}):s&&(i=i.concat(s))}})}const a=o=>{let r=[];Pe(Ka(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):vt(l)&&r.push(l)}),ye(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,r,this.schema);const s=r.length===0;return e||this.$emit("validated",s,r,this),this.errors=r,r};return n?Promise.all(i).then(a):a(i)},debouncedValidate(){ye(this.debouncedValidateFunc)||(this.debouncedValidateFunc=nn(this.validate.bind(this),le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;ye(this.schema.set)?(this.schema.set(this.model,e),i=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),i=!0),i&&(this.$emit("modelUpdated",e,this.schema.model),ye(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),le(this.formOptions,"validateAfterChanged",!1)===!0&&(le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");let a=this.model;const o=i.split(".");let r=0;const s=o.length;for(;r<s;){const l=o[r];if(r<s-1)a[l]!==void 0||(a[l]={}),a=a[l];else{a[l]=n;return}++r}},getFieldID(e,n=!1){const i=le(this.formOptions,"fieldIdPrefix","");return ei(e,i)+(n?"-"+za():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return le(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},we=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},LA={mixins:[ot],emits:["model-updated"],data(){return{isOpen:!1}},computed:{openClass(){return this.isOpen?"open":"closed"},fieldCount(){return this.schema.fields.length},titleText(){return`${this.isOpen?"Hide":"View"} ${this.fieldCount} Advanced Fields`}},methods:{handleOpen(){this.isOpen=!this.isOpen},updateModel(e,n){this.$emit("model-updated",e,n)}}},UA={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},jA={class:"material-icons"};function YA(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",UA,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",jA,t.toDisplayString(o.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(r.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",r.openClass])},[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const HA=we(LA,[["render",YA],["__scopeId","data-v-acfccff7"]]),FA={class:"array-card-container"},KA=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null},index:{type:Number,default:void 0}},emits:["remove-item"],setup(e){return t.provide("vfg-array-item-index",e.index),(n,i)=>{const a=t.resolveComponent("KCard"),o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",FA,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(o,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.TrashIcon))]),_:1})])}}}),co=we(KA,[["__scopeId","data-v-96055692"]]),zA={class:"array-item-wrapper"},qA={class:"array-item"},JA={class:"array-item-after"},QA=t.defineComponent({__name:"FieldArrayItem",props:{model:{type:String,default:""}},emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",zA,[t.createElementVNode("div",qA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.TrashIcon))]),_:1})]),t.createElementVNode("div",JA,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),uo=we(QA,[["__scopeId","data-v-eb9975cc"]]),XA={class:"multi-item-wrapper"},ZA=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",XA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>i[1]||(i[1]=[t.createTextVNode(" - Remove Field ")])),_:1}),i[2]||(i[2]=t.createElementVNode("hr",null,null,-1))])}}}),po=we(ZA,[["__scopeId","data-v-37458a0a"]]),WA="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",_A=e=>e?e.length===36&&new RegExp(`^${WA}$`).test(e):!1,oi=50,Tt={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"};function $A(e,n,i){return i?Tt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Tt.UPDATE_ENTITY:e&&n?Tt.CREATE_FROM_ENTITY:Tt.CREATE_NOT_FROM_ENTITY}const eg={mixins:[ot],inject:[ut],emits:["model-updated"],setup(){const{t:e}=We.createI18n("en-us",Mt);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return $A(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},scope(){return this.schema.label.toLowerCase()},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Tt.UPDATE_ENTITY:if(!this[ut]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[ut].getOne(this.entity,this.model[this.schema.model])).data,e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Tt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Tt.SET_REFERRAL_VALUE:this.idValue=this.value}try{e&&(this.initialItems=[{...e,label:this.getSuggestionLabel(e),value:e.id}]),this.items=this.initialItems}catch(i){this.message=`There was an error loading ${this.schema.entity}`,console.error("err!",i)}},methods:{onQueryChange(e){e.trim().length===0&&(this.items=[],this.message="Type something to search"),typeof this.performSearch!="function"&&(this.performSearch=nn(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],a=this.getInputFields(),o=new Set;_A(e)&&a.includes("id")?i.push((async()=>{const r=await this.fetchExact(e);n.push({...r,label:this.getSuggestionLabel(r),value:r.id})})()):i.push(...a.filter(r=>r!=="id").map(async r=>{(await this.fetchSuggestions(e,r)).forEach(s=>{o.has(s.id)||(o.add(s.id),n.push({...s,label:this.getSuggestionLabel(s),value:s.id}))})})),await Promise.all(i),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let i=null;if(!this[ut])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<oi;){const a=await this[ut].getAll(this.entity,{size:oi,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,oi)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[ut]?(await this[ut].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},getSuggestionLabel(e){const n=this.getInputFields();return n.length&&e?n.map(i=>e[i]).filter(Boolean).join(" - "):""},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var n;const i=(n=this.schema)==null?void 0:n.returnKey;return i?e[i]:e.id}}},tg=["data-testid","data-testlabel"],ng=["data-testid"],ig={class:"autosuggest__results_message"};function ag(e,n,i,a,o,r){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.disabled?"k-tooltip":"div"),{class:"field-wrap autosuggest","max-width":"300",text:a.t("general.disable_source_scope_change",{scope:r.scope})},{default:t.withCtx(()=>[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:o.idValue,"onUpdate:modelValue":n[0]||(n[0]=l=>o.idValue=l),clearable:"",disabled:e.schema.disabled,"enable-filtering":"","filter-function":()=>!0,items:o.items,loading:o.loading,placeholder:e.schema.placeholder,width:"100%",onChange:r.onSelected,onQueryChange:r.onQueryChange},{"item-template":t.withCtx(({item:l})=>[t.createElementVNode("span",{class:"first-part","data-testid":l.id&&`${l.id}-0`,"data-testlabel":l.label},t.toDisplayString(r.getSuggestionLabel(l).split(" - ")[0]),9,tg),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(l).split(" - ").slice(1),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,class:"field-span","data-testid":l.id&&`${l.id}-${p+1}`||p+1},t.toDisplayString(d),9,ng))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",ig,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Ao=we(eg,[["render",ag],["__scopeId","data-v-40a272a2"]]);function og(e){const n=t.ref([]),i=t.ref(null),a=h=>vt(h)?Rt[h]!=null?Rt[h]:(console.warn(`'${h}' is not a validator function!`),null):h,o=t.computed({get(){var h,v;let C;return ye(le(e.schema,"get"))?C=e.schema.get((h=e.model)==null?void 0:h.value):C=le((v=e.model)==null?void 0:v.value,e.schema.model),w(C)},set(h){const v=o;h=S(h),ye(h)?h(h,v):l(h,v)}}),r=h=>{var v;d();const C=(v=e.schema)==null?void 0:v.validator,Y=le(e.formOptions,"validateAsync",!1);let y=[];if(C&&e.schema.readonly!==!0&&e.disabled!==!0){const E=[];Array.isArray(C)?Pe(C,f=>{E.push(a(f))}):E.push(a(C)),Pe(E,f=>{var I,M;if(Y)y.push(f(o.value,e.schema,(I=e.model)==null?void 0:I.value));else{const F=f(o.value,e.schema,(M=e.model)==null?void 0:M.value);F&&ye(F.then)?F.then(V=>{V&&(n.value=n.value.concat(V));const D=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:D,errors:n.value,field:e.schema})}):F&&(y=y.concat(F))}})}const m=E=>{var f,I;let M=[];if(Pe(Ka(E),F=>{Array.isArray(F)&&F.length>0?M=M.concat(F):vt(F)&&M.push(F)}),ye((f=e.schema)==null?void 0:f.onValidated)&&e.schema.onValidated((I=e.model)==null?void 0:I.value,M,e.schema),!h){const F=M.length===0;e.emitValidated&&e.emitValidated({isValid:F,errors:M,field:e.schema})}return E=M,M};return Y?Promise.all(y).then(m):m(y)},s=()=>{ye(i.value)?i.value():i.value=nn(r,le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",500)))},l=(h,v)=>{var C,Y,y;let m=!1;ye(e.schema.set)?(e.schema.set((C=e.model)==null?void 0:C.value,h),m=!0):e.schema.model&&(p(e.schema.model,h),m=!0),m&&(e.emitModelUpdated&&(Y=e.model)!=null&&Y.value&&e.emitModelUpdated({value:h,model:e.schema.model}),ye(e.schema.onChanged)&&e.schema.onChanged((y=e.model)==null?void 0:y.value,h,v,e.schema),le(e.formOptions,"validateAfterChanged",!1)===!0&&(le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",0))>0?s():r()))},d=()=>{n.value.splice(0)},p=(h,v)=>{var C;let Y=h.replace(/\[(\w+)\]/g,".$1");Y=Y.replace(/^\./,"");let y=((C=e.model)==null?void 0:C.value)||{},m=0;const E=Y.split("."),f=E.length;for(;m<f;){const I=E[m];if(m<f-1)y[I]!==void 0||(y[I]={}),y=y[I];else{y[I]=v;return}++m}},u=(h,v=!1)=>{const C=le(e.formOptions,"fieldIdPrefix","");return ei(h,C)+(v?"-"+za():"")},A=h=>`${u(h)}-label`,g=()=>le(e.schema,"fieldClasses",[]),w=h=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(h):h,S=h=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(h):h;return{value:o,clearValidationErrors:d,getFieldID:u,getLabelId:A,getFieldClasses:g,updateModelValue:l}}const mt={useAbstractFields:og},rg={class:"form-field-wrapper"},sg=t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Xe,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:y=>{o("modelUpdated",y.value,y.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{var y;const m=(y=a.schema)==null?void 0:y.inputType.toLowerCase();switch(m){case"string":return"text";case"datetime":return"datetime-local";default:return m||"text"}}),g={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},w=(y,m)=>{var E,f;let I=y;const M=g[A.value]||"",F=Yt.parse(y,M);F&&((E=a.schema)!=null&&E.format?I=Yt.format(F,(f=a.schema)==null?void 0:f.format):I=F.valueOf()),l(I,m)},S=(y,m)=>{ii(y)||(y=NaN),l(y,m)},h=y=>{let m=y;switch(A.value){case"number":case"range":ii(parseFloat(y))&&(m=parseFloat(y));break}u.value=m,l(m,y)},v=y=>{u.value=y,l(y,y)},C=t.ref(null),Y=()=>{var y;ye(C.value)&&((y=C.value)==null||y.flush())};return t.onMounted(()=>{switch(A.value){case"number":case"range":C.value=nn((y,m)=>{S(y,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":C.value=nn((y,m)=>{w(y,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{A.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):A.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):A.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(y,m)=>{const E=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",rg,[t.createVNode(E,t.mergeProps(y.$attrs,{id:t.unref(d)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:A.value==="color"||A.value==="range"?t.unref(u):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(u),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":A.value==="password",type:A.value,width:e.schema.width,onBlur:Y,"onUpdate:modelValue":h}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:v,value:t.unref(u)},null,8,["schema","value"]))])}}}),go=we(sg,[["__scopeId","data-v-fe1132bb"]]),lg={name:"FieldMetric",components:{AddIcon:Ye.AddIcon,TrashIcon:Ye.TrashIcon},mixins:[ot],emits:["remove-item"],data(){return{contentVisible:!1}}},cg={key:0,class:"content"};function dg(e,n,i,a,o,r){const s=t.resolveComponent("AddIcon"),l=t.resolveComponent("TrashIcon"),d=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:o.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=p=>o.contentVisible=!o.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(s,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[o.contentVisible?(t.openBlock(),t.createElementBlock("div",cg,[t.renderSlot(e.$slots,"default"),t.createVNode(d,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=p=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(l)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const mo=we(lg,[["render",dg]]),ug={mixins:[ot],emits:["modelUpdated"],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let i=0;i<e.length;i++){const a=e[i];n[a]=typeof this.value[a]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const i=this.keyTypes;delete i[e],this.keyTypes=JSON.parse(JSON.stringify(i))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""},updateModel(e,n){this.$emit("modelUpdated",e,n)}}},pg={class:"field-object-container"},Ag={key:1},gg=["id"],mg={key:0},fg=["onUpdate:modelValue"],hg={key:1},yg=["onUpdate:modelValue"],bg={key:2},Eg=["onUpdate:modelValue"],wg=["onClick"];function Cg(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator"),l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",pg,[e.schema.schema?(t.openBlock(),t.createBlock(s,{key:0,model:e.value,options:e.formOptions,schema:e.schema.schema,onModelUpdated:r.updateModel},null,8,["model","options","schema","onModelUpdated"])):(t.openBlock(),t.createElementBlock("div",Ag,[t.createElementVNode("table",{id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("tr",{key:p},[t.createElementVNode("td",null,t.toDisplayString(p),1),o.keyTypes[p]==="string"?(t.openBlock(),t.createElementBlock("td",mg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"text"},null,8,fg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="boolean"?(t.openBlock(),t.createElementBlock("td",hg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"checkbox"},null,8,yg),[[t.vModelCheckbox,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="number"?(t.openBlock(),t.createElementBlock("td",bg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"number"},null,8,Eg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>r.removeElement(p)},null,8,wg)])]))),128))],10,gg),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.newKeyType=d)},n[3]||(n[3]=[t.createElementVNode("option",{value:"string"}," String ",-1),t.createElementVNode("option",{value:"number"}," Number ",-1),t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)]),512),[[t.vModelSelect,o.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=d=>o.newKeyName=d),type:"text"},null,512),[[t.vModelText,o.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...d)=>r.addKey&&r.addKey(...d))})]))])),[[l,o.attributes]])}const fo=we(ug,[["render",Cg],["__scopeId","data-v-b7e3dcd7"]]),Bg={components:{TrashIcon:Ye.TrashIcon},mixins:[ot],inject:{autofillSlot:{from:Xe,default:void 0}},emits:["model-updated"],data(){return{newKeyName:""}},computed:{subSchema(){return this.schema.schema&&this.schema.schema.fields[0].schema},subFields(){return!this.subSchema&&this.schema.fields},hasObjectKeys(){return this.value&&Object.keys(this.value).length>0},transformedModel(){return this.subSchema&&this.subSchema.fields.length>=1&&this.subSchema.fields[0].type==="array"?new Proxy(this.model[this.schema.model],{get:(e,n)=>({[this.schema.model]:e[n]}),set:(e,n,i)=>e[n]=i[this.schema.model]}):this.model[this.schema.model]},valueInputType(){var e;return["number","integer"].includes((e=this.schema.values)==null?void 0:e.type)?"number":"text"}},mounted(){this.value||(this.value={});let e=[];this.subSchema?e=this.subSchema.fields:this.subFields&&(e=this.schema.fields[0].schema),this.value=this.transformMapModelValuesToObject(this.model,e,this.schema.model)},methods:{removeElement(e){const n=this.value;delete n[e],this.value={...n}},transformMapModelValuesToObject(e,n,i){let a={};try{a=JSON.parse(JSON.stringify(e??{}))[i]??{}}catch{}return Object.keys(e).map(o=>{const r=o.indexOf(i+"-");if(r>-1&&Array.isArray(n))if(n.length>0){const s=o.split("-").filter(d=>n.find(p=>p.model===d)),l=o.split(`-${s}`)[0].split(`${i}-`)[1];s.length?a[l]={...a[l],[s]:e[o]}:a[o.substring(r+`${i}-`.length)]=e[o]}else a[o.substring(`${i}-`.length)]=e[o];else{const s=o.split("-").filter(d=>d===this.schema.model),l=o.split(`-${s}`)[0].split(`${i}-`)[1];l&&(a[l]=e[o])}return o}),a},addKey(){var e;const n=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",i=((e=this.schema.values)==null?void 0:e.default)??(this.valueInputType==="number"?0:""),a=this.subSchema?n?[""]:{}:i;this.value[this.newKeyName]=a,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},kg=["id"],Ig=["data-testid"],vg={class:"item-wrapper"},Og={class:"index-wrapper"},Mg={key:0},Rg={key:1},Tg=["onUpdate:modelValue","placeholder","type","onInput"],Sg={key:0,class:"hint"},xg={class:"input-item"},Vg=["placeholder"],Ng={key:0,class:"hint"};function Dg(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton"),d=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",vg,[t.createElementVNode("div",Og,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:A=>r.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["onClick"])])]),n[1]||(n[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),r.subSchema?(t.openBlock(),t.createElementBlock("div",Mg,[t.createVNode(d,{model:r.transformedModel[u],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",Rg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":A=>e.value[u]=A,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:r.valueInputType,onInput:A=>r.updateModel(e.value[u],e.model[e.schema.model])},null,40,Tg),[[t.vModelDynamic,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",Sg,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema.fields&&e.schema.fields[0].schema||e.schema.values,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))])),n[2]||(n[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,Ig))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",xg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>o.newKeyName=p),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,Vg),[[t.vModelText,o.newKeyName]]),t.createVNode(l,{appearance:"tertiary","data-testid":"add-key",disabled:!o.newKeyName,onClick:r.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(e.schema.buttonLabel||e.schema.label),1)]),_:1},8,["disabled","onClick"])]),e.schema.hintText?(t.openBlock(),t.createElementBlock("p",Ng,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,kg)}const ho=we(Bg,[["render",Dg],["__scopeId","data-v-9c0cacfc"]]),Pg={class:"radio-selection-group"},Gg=t.defineComponent({__name:"FieldRadio",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{updateModelValue:s,value:l,clearValidationErrors:d}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:u=>{o("modelUpdated",u.value,u.model)}});n({clearValidationErrors:d});const p=u=>{let A=u;typeof u=="string"&&(A=u.split(","),a.schema.array||(A=A.toString())),s(A,u)};return(u,A)=>{const g=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Pg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(w,S)=>(t.openBlock(),t.createBlock(g,{id:e.schema.name+"-"+S,key:w.value,modelValue:t.unref(l),"onUpdate:modelValue":A[0]||(A[0]=h=>t.isRef(l)?l.value=h:null),label:w.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":w.value,onChange:p},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),yo=we(Gg,[["__scopeId","data-v-09b8afda"]]),bo=t.defineComponent({__name:"FieldSelect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.computed(()=>a.schema.selectOptions||{}),s=h=>Re(h)?null:h,l=t.toRefs(a),{getFieldID:d,clearValidationErrors:p,value:u}=mt.useAbstractFields({model:l.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,emitModelUpdated:h=>{o("modelUpdated",h.value,h.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{const h=a.schema.values;return g(typeof h=="function"?h.apply(this,[a.model,a.schema]):h)}),g=h=>{const v=[];return h.forEach(C=>{v.push({label:S(C),value:w(C),disabled:typeof C=="object"&&C.disabled||void 0,group:typeof C=="object"&&String(C.group||"").toUpperCase()||void 0})}),v},w=h=>{if(Fe(h)){if(r.value&&typeof r.value.value<"u")return h[r.value.value];if(typeof h.id<"u")return String(h.id);throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return h},S=h=>{if(Fe(h)){if(r.value&&typeof r.value.name<"u")return h[r.value.name];if(typeof h.name<"u")return String(h.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(h)};return(h,v)=>{const C=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(C,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":v[0]||(v[0]=Y=>t.isRef(u)?u.value=Y:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:A.value,"kpop-attributes":{"data-testid":`${t.unref(d)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:r.value.hideNoneSelectedText?void 0:r.value.noneSelectedText||"Nothing Selected",required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","class","clearable","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),Lg={name:"FieldArray",components:{FieldArrayItem:uo,FieldArrayMultiItem:po,FieldSelect:bo,FieldMetric:mo,FieldObject:fo,FieldObjectAdvanced:ho,FieldAutoSuggest:Ao,FieldRadio:yo,FieldArrayCardContainer:co,FieldInput:go},mixins:[ot],inject:{autofillSlot:{from:Xe,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,i){var a,o,r;let s;return n&&(s=JSON.parse(JSON.stringify(n)),(r=(o=(a=s.schema)==null?void 0:a.fields)==null?void 0:o.map)==null||r.call(o,l=>(l.id=`${l.id||l.model}-${i}`,l))),{...s,set(l,d){e[i]=d},get(){return e[i]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,i)=>i!==e)},getFieldType(e){return"field-"+e.type},modelUpdated(){this.$emit("refreshModel")},handleInput(e,n){this.value=this.value.map((i,a)=>a===n?e:i)}}},Ug=["id"],jg={key:1},Yg=["onUpdate:modelValue","aria-labelledby","type"],Hg=["onUpdate:modelValue","aria-labelledby"];function Fg(e,n,i,a,o,r){const s=t.resolveComponent("KTextArea"),l=t.resolveComponent("KInput"),d=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,index:u,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",jg,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${u}`,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var A;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[u],"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),autosize:"","character-limit":e.schema.inputAttributes.max,class:e.schema.fieldClasses,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","character-limit","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"||e.schema.inputAttributes.type==="number"?(t.openBlock(),t.createBlock(l,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[u],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:g=>{r.handleInput(g,u)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((A=e.schema.inputAttributes)==null?void 0:A.type)||"text"}),null,16,Yg)),[[t.vModelDynamic,e.value[u]]])]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":A=>e.value[u]=A,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Hg),[[t.vModelText,e.value[u]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:r.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,Ug)):t.createCommentVNode("",!0)}const Kg=we(Lg,[["render",Fg],["__scopeId","data-v-a569ac75"]]),zg={class:"form-field-wrapper field-checkbox"},qg=t.defineComponent({__name:"FieldCheckbox",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{getFieldID:s,value:l,clearValidationErrors:d}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:p=>{o("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:d}),(p,u)=>{const A=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",zg,[t.createVNode(A,t.mergeProps(p.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(l),"onUpdate:modelValue":u[0]||(u[0]=g=>t.isRef(l)?l.value=g:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:void 0,name:e.schema.inputName,readonly:e.schema.readonly,required:e.schema.required,width:e.schema.width}),null,16,["id","modelValue","autocomplete","class","disabled","help","name","readonly","required","width"])])}}}),Jg=we(qg,[["__scopeId","data-v-6b4ee1cd"]]);var Qg=4;function Eo(e){return tn(e,Qg)}const Xg={class:"wrapper"},Zg=["disabled"],Wg=["id","checked","disabled","onChange","name"],_g=["disabled"],$g={class:"info"},em={class:"dropList"},tm=["id","checked","disabled","onChange","name"];function nm(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Xg,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,Wg),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,Zg)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:o.comboExpanded}]),onClick:n[0]||(n[0]=(...l)=>r.onExpandCombo&&r.onExpandCombo(...l))},[t.createElementVNode("div",$g,t.toDisplayString(r.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",em,[o.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,tm),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,_g))])),[[s,"wrapper"]])}const im={mixins:[ot],data(){return{comboExpanded:!1}},computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},selectedCount(){return this.value?this.value.length:0}},methods:{getInputName(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?ja(this.schema.inputName+"_"+this.getItemValue(e)):ja(this.getItemValue(e))},getItemValue(e){if(Fe(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.value<"u")return e[this.schema.checklistOptions.value];if(typeof e.value<"u")return e.value;throw new Error("`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},getItemName(e){if(Fe(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.name<"u")return e[this.schema.checklistOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},isItemChecked(e){return this.value&&this.value.indexOf(this.getItemValue(e))!==-1},onChanged(e,n){if((Re(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=Eo(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=Eo(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},am=we(im,[["render",nm]]),om={name:"FieldKeyValuePairs",components:{TrashIcon:Ye.TrashIcon},mixins:[ot],inject:{autofillSlot:{from:Xe,default:void 0}},data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){var e,n;this.value||(this.value={});const i=((n=this.model)==null?void 0:n[(e=this.schema)==null?void 0:e.model])??{};Object.keys(i).forEach(a=>{this.pairs.push({key:a,value:i[a]})})},methods:{onInput(e,n,i){this.pairs[n][i]=e.target.value},updateValue(){this.value=this.pairs.reduce((e,{key:n,value:i})=>({...e,...n&&i?{[n]:i}:null}),{})},addPair(){this.pairs.push({key:"",value:""})},removePair(e){this.pairs.splice(e,1)}}},rm={class:"key-value-pairs-editor"},sm={class:"pair-item-cell"},lm=["data-testid","placeholder","value","onInput"],cm={class:"pair-item-cell"},dm=["data-testid","placeholder","value","onInput"];function um(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",rm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.pairs,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:"pair-item"},[t.createElementVNode("div",sm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${p}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:d.key,onInput:u=>{r.onInput(u,p,"key")}},null,40,lm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"key"),value:d.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",cm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${p}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:d.value,onInput:u=>{r.onInput(u,p,"value")}},null,40,dm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"value"),value:d.value},null,8,["schema","update","value"]))]),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${p}`,onClick:()=>{r.removePair(p)}},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["data-testid","onClick"])]))),128)),t.createVNode(l,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:r.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const pm=we(om,[["render",um],["__scopeId","data-v-70998d5b"]]),Am=t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,i=t.toRefs(n),{getFieldID:a,value:o}=mt.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(r,s)=>{const l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(l,{id:t.unref(a)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)),1)]),_:1},8,["id"])],2)}}}),gm=we(Am,[["__scopeId","data-v-d046a15a"]]),mm=t.defineComponent({__name:"FieldMultiselect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRef(a,"model"),{getLabelId:s,getFieldID:l,clearValidationErrors:d,value:p}=mt.useAbstractFields({model:r,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:A=>{o("modelUpdated",A.value,A.model)}});n({clearValidationErrors:d});const u=t.computed(()=>{var A,g;return a.schema.values?a.schema.values:(g=(A=a.schema.elements)==null?void 0:A.one_of)!=null&&g.length?a.schema.elements.one_of.map(w=>({label:String(w),value:String(w)})):[]});return(A,g)=>{const w=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(w,{id:t.unref(l)(e.schema),modelValue:t.unref(p),"onUpdate:modelValue":g[0]||(g[0]=S=>t.isRef(p)?p.value=S:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:u.value,"kpop-attributes":{"data-testid":`${t.unref(l)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","aria-labelledby","class","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),fm={mixins:[ot],emits:["model-updated"],setup(){const{t:e}=We.createI18n("en-us",Mt);return{t:e}},data(){return{checkedGroup:null,fieldModel:{...this.model},fieldSchema:[],scope:"scope"}},watch:{checkedGroup:{handler(e,n){if(n===null){this.fieldModel={...this.model};return}const i=this.schema.fields[e].fields,a=this.schema.fields[n].fields;a&&a.forEach(o=>this.updateModel("",o.model)),i&&i.forEach(o=>this.updateModel(this.fieldModel[o.model],o.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{var a;this.model[i.model]&&(this.checkedGroup=n,this.fieldSchema.push(i.model),this.scope=(a=i.label)==null?void 0:a.toLowerCase())})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},hm={class:"selection-group"},ym={class:"form-group horizontal-radios"},bm={class:"radio-group"},Em=["disabled","value"],wm={class:"control-help"},Cm={class:"option-field"},Bm={class:"option-field-container"};function km(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",hm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.$props.disabled?"k-tooltip":"div"),{"max-width":"300",text:a.t("general.disable_global_radio",{scope:o.scope})},{default:t.withCtx(()=>[t.createElementVNode("div",ym,[t.createElementVNode("div",bm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(l,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:t.normalizeClass(["option-group",{"radio-disabled":e.$props.disabled}])},[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${l.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>o.checkedGroup=p),class:"k-input",disabled:e.$props.disabled,type:"radio",value:d},null,8,Em),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",wm,t.toDisplayString(l.description),1)],2)],2))),128))])])]),_:1},8,["text"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(l,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:"option-group"},[t.withDirectives(t.createElementVNode("div",Cm,[t.createElementVNode("div",Bm,[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:{fields:l.fields},onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,l.fields&&o.checkedGroup===d]])]))),128))])}const Im=we(fm,[["render",km],["__scopeId","data-v-56d57edb"]]),vm={class:"form-field-wrapper"},Om=t.defineComponent({__name:"FieldSwitch",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,{t:r}=We.createI18n("en-us",Mt),s=g=>g!=null&&a.schema.valueOn?g===a.schema.valueOn:g,l=g=>g!=null&&a.schema.valueOn?g?a.schema.valueOn:a.schema.valueOff:g,d=t.toRefs(a),{getFieldID:p,value:u,clearValidationErrors:A}=mt.useAbstractFields({model:d.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,formatValueToModel:l,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});return n({clearValidationErrors:A}),(g,w)=>{const S=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",vm,[t.createVNode(S,{id:t.unref(p)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":w[0]||(w[0]=h=>t.isRef(u)?u.value=h:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(u)?e.schema.textOn||t.unref(r)("vfg.labels.on"):e.schema.textOff||t.unref(r)("vfg.labels.off"),"label-attributes":{info:e.schema.help},name:e.schema.inputName,required:e.schema.required||void 0},null,8,["id","modelValue","autocomplete","class","disabled","label","label-attributes","name","required"])])}}}),Mm={class:"field-textarea"},Rm=t.defineComponent({__name:"FieldTextArea",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Xe,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});n({clearValidationErrors:p});const A=g=>{u.value=g,l(g,g)};return(g,w)=>{const S=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",Mm,[t.createVNode(S,t.mergeProps(g.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":w[0]||(w[0]=h=>t.isRef(u)?u.value=h:null),autosize:"","character-limit":e.schema.max,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint||void 0,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","character-limit","class","disabled","help","minlength","name","placeholder","readonly","required","rows"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:A,value:t.unref(u)},null,8,["schema","value"]))])}}}),Tm=we(Rm,[["__scopeId","data-v-0e146fba"]]),Sm=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:HA,FieldArray:Kg,FieldArrayCardContainer:co,FieldArrayItem:uo,FieldArrayMultiItem:po,FieldAutoSuggest:Ao,FieldCheckbox:Jg,FieldChecklist:am,FieldInput:go,FieldKeyValuePairs:pm,FieldLabel:gm,FieldMetric:mo,FieldMultiselect:mm,FieldObject:fo,FieldObjectAdvanced:ho,FieldRadio:yo,FieldSelect:bo,FieldSelectionGroup:Im,FieldSwitch:Om,FieldTextArea:Tm},Symbol.toStringTag,{value:"Module"})),xm={name:"FormGroup",components:Sm,mixins:[Ya],inject:{"vfg-array-item-index":{default:void 0}},props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated","refreshModel"],data(){return{child:t.ref()}},computed:{schema(){var e;if(!((e=this.field)!=null&&e.schema)||!Array.isArray(this.field.schema.fields))return this.field;const n=this["vfg-array-item-index"];return typeof n!="number"||Number.isNaN(n)?this.field:{...this.field,schema:{...this.field.schema,fields:this.field.schema.fields.map(i=>({...i,...i.id?{id:`${i.id}-${n}`}:void 0}))}}}},methods:{fieldTypeHasLabel(e){if(Re(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=le(this.options,"fieldIdPrefix","");return ei(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return le(e,"type","button")},onFieldValidated(e,n,i){this.$emit("validated",e,n,i)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,i){return e.onclick.call(this,this.model,n,i,this)},fieldHint(e){return ye(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},Vm=["innerHTML"],Nm={class:"icon-wrapper"},Dm=["innerHTML"],Pm={key:0,class:"link-wrapper"},Gm={class:"field-wrap"},Lm={key:0,class:"buttons"},Um=["type","onClick","textContent"],jm=["innerHTML"],Ym={key:2,class:"errors help-block"},Hm=["innerHTML"];function Fm(e,n,i,a,o,r){const s=t.resolveComponent("KExternalLink"),l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[r.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(l,{key:0,"aria-describedby":i.field.help?r.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:r.getFieldID(i.field),info:!i.options.helpAsHtml&&i.field.help?i.field.help:void 0,"tooltip-attributes":i.field.help?{maxWidth:"300",placement:"top",tooltipId:r.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",Nm,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,Dm)]),i.field.link?(t.openBlock(),t.createElementBlock("div",Pm,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>n[0]||(n[0]=[t.createElementVNode("span",{class:"section-header"},"More info",-1)])),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[i.options.helpAsHtml&&i.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.field.help},null,8,Vm)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",Gm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&r.getFieldType(i.field)==="field-input"?r.fieldHint(i.field):void 0,model:i.model,schema:r.schema,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onRefreshModel","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",Lm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(d,p)=>(t.openBlock(),t.createElementBlock("button",{key:p,class:t.normalizeClass(d.classes),type:r.getButtonType(d),onClick:u=>r.buttonClickHandler(d,i.field,u),textContent:t.toDisplayString(d.label)},null,10,Um))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&r.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:r.fieldHint(i.field)},null,8,jm)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Ym,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,innerHTML:d},null,8,Hm))),128))])):t.createCommentVNode("",!0)],2)}const Km=we(xm,[["render",Fm],["__scopeId","data-v-0cb2e226"]]),zm={name:"FormGenerator",components:{formGroup:Km},mixins:[Ya],inject:{autofillSlot:{from:Xe,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[Xe]:(e=this.$slots)==null?void 0:e[pt]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated","refreshModel"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Pe(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Pe(this.schema.groups.slice(0),n=>{e.push(n)}),e}},watch:{model:{deep:!0,handler(e,n){n!==e&&e!=null&&this.$nextTick(()=>{this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors()})}}},mounted(){this.$nextTick(()=>{this.model&&(this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors())})},methods:{fieldVisible(e){return ye(e.visible)?e.visible.call(this,this.model,e,this):Re(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(o=>o.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&Pe(n,o=>{this.errors.push({field:i.schema,error:o})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=le(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Pe(this.$refs.children,o=>{ye(o.validate)&&(n.push(o.$refs.child),i.push(o.$refs.child.validate(!0)))});const a=o=>{const r=[];Pe(o,(l,d)=>{Array.isArray(l)&&l.length>0&&Pe(l,p=>{r.push({field:n[d].schema,error:p})})}),this.errors=r;const s=r.length===0;return this.$emit("validated",s,r,this),e?r:s};return e?Promise.all(i).then(a):a(i)},clearValidationErrors(){this.errors.splice(0),Pe(this.$refs.children,e=>{e.clearValidationErrors()})}}},qm={key:0,class:"vue-form-generator"},Jm={key:0};function Qm(e,n,i,a,o,r){const s=t.resolveComponent("form-group"),l=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",qm,[i.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fields,d=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:d.model},[r.fieldVisible(d)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:d,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(d,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${p}`},[d.collapsible!==void 0&&d.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:d.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,A,g,w;return[(u=d.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(A=d.slots)==null?void 0:A.beforeContent,{key:0}):t.createCommentVNode("",!0),d.fields.length===0&&(g=d.slots)!=null&&g.emptyState?t.renderSlot(e.$slots,(w=d.slots)==null?void 0:w.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),d.collapsible!==!0&&d.collapsible.nestedCollapsible&&d.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${p}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${p}-nested`]??!0?d.collapsible.nestedCollapsible.triggerLabel.expand:d.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":S=>o.collapseStates[`group-${p}-nested`]=S},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.collapsible.nestedCollapsible.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[d.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[d.legend?(t.openBlock(),t.createElementBlock("legend",Jm,t.toDisplayString(d.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[r.fieldVisible(u)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:u,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Le=we(zm,[["render",Qm]]),wo=new Set(["config-client_id","config-client_secret","config-issuer"]),Co=new Set(["config-scopes_claim","config-scopes_required","config-audience_claim","config-audience_required","config-roles_claim","config-roles_required","config-groups_claim","config-groups_required","config-authenticated_groups_claim"]),Xm={name:"OIDCForm",components:{VueFormGenerator:Le},provide(){var e;return{[Xe]:(e=this.$slots)==null?void 0:e[pt]}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},data(){return{init:!1,authMethods:[],sessionManagement:!1,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")};const n=this.formSchema.fields.reduce((i,a)=>(i[a.model]=a,i),{});this.commonFieldsSchema={fields:Array.from(wo).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.authFieldsSchema={fields:Array.from(Co).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.advancedFieldsSchema={fields:this.formSchema.fields.filter(i=>i.model.startsWith("config")&&i.model!=="config-auth_methods"&&!wo.has(i.model)&&!Co.has(i.model)||i.model==="tags").reduce((i,a)=>{var o,r,s,l;switch(a.model){case"config-client_jwk":{if(Array.isArray((r=(o=a.items)==null?void 0:o.schema)==null?void 0:r.fields))for(const d of a.items.schema.fields)d.label=d.model;i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record",newElementButtonLabel:"+ Add Client JWK",...Array.isArray((l=(s=a.items)==null?void 0:s.schema)==null?void 0:l.fields)&&a.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-session_redis_cluster_nodes":{i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record",newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(a)}return i},[])},this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const a of i.fields){const o=(e=n[a.model])==null?void 0:e.help;a.help===void 0&&typeof o=="string"&&(a.help=o)}}},getAuthMethodsValue(e,n){const i=[];for(let a=0;a<this.authMethods.length;a++)this.authMethods[a].prop&&this.authMethods[a].value!==e&&i.push(this.authMethods[a].value);return this.sessionManagement&&e&&i.push("session"),n&&(e?i.push(e):i.push("session")),i},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()}}},Zm={class:"general-settings"},Wm={class:"link-wrapper"},_m={class:"auth-method-container"},$m={class:"general-settings"},ef={class:"link-wrapper"},tf={class:"general-settings"},nf={class:"link-wrapper"};function af(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel"),p=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),A=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:o.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(A,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Zm,[t.createElementVNode("div",Wm,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>n[1]||(n[1]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])),_:1})]),n[3]||(n[3]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(d,null,{default:t.withCtx(()=>n[2]||(n[2]=[t.createTextVNode("Auth Methods")])),_:1}),t.createElementVNode("div",_m,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":w=>g.prop=w,onChange:w=>r.handleUpdate(w,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>o.sessionManagement=g),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",$m,[t.createElementVNode("div",ef,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>n[4]||(n[4]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])),_:1})]),n[5]||(n[5]=t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.authFieldsSchema,onModelUpdated:i.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",tf,[t.createElementVNode("div",nf,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>n[6]||(n[6]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])),_:1})]),n[7]||(n[7]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const of=we(Xm,[["render",af],["__scopeId","data-v-bb72c68e"]]),rf=t.defineComponent({__name:"PostFunction",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const{t:i,te:a}=We.createI18n("en-us",Mt),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`post-function.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="post-function-array-item-container",d.fieldItemsClasses="post-function-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),sf=we(rf,[["__scopeId","data-v-f54f37ae"]]),lf=t.defineComponent({__name:"ExitTransformer",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const{t:i,te:a}=We.createI18n("en-us",Mt),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`exit-transformer.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="exit-transformer-array-item-container",d.fieldItemsClasses="exit-transformer-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),cf=we(lf,[["__scopeId","data-v-0d5c541f"]]),df={fields:[{inputType:"text",label:"Config.Account Email",model:"config-account_email",required:!0,type:"input"},{inputType:"text",label:"Config.Account Key.Key Id",model:"config-account_key-key_id",required:!0,type:"input"},{type:"input",inputType:"text",valueType:"string",label:"Config.Account Key.Key Set",model:"config-account_key-key_set",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",label:"Config.Allow Any Domain",model:"config-allow_any_domain",order:0,disabled:!1}]},uf={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",model:"config-tos_accepted",label:"Config.Tos Accepted",order:0,disabled:!1}]},pf={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_hmac_key",label:"Config.Eab Hmac Key",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_kid",label:"Config.Eab Kid",order:0,disabled:!1}]},Af={class:"general-settings"},gf={class:"sub-form"},mf={class:"general-settings"},ff={class:"sub-form"},hf={class:"general-settings"},yf=t.defineComponent({__name:"ACMEForm",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const i=e,a=t.ref("zeroSsl"),o=t.ref("shm"),r=t.computed(()=>{var f;const I={};if((f=i.formSchema)!=null&&f.fields)for(const M of i.formSchema.fields)I[M.model]=M;return I}),s=t.computed(()=>{var f;const I=at(df);for(const M of I.fields){const F=(f=r.value[M.model])==null?void 0:f.help;M.help===void 0&&typeof F=="string"&&(M.help=F)}return I}),l=t.computed(()=>{var f;const I=at(uf);for(const M of I.fields){const F=(f=r.value[M.model])==null?void 0:f.help;M.help===void 0&&typeof F=="string"&&(M.help=F)}return I}),d=t.computed(()=>{var f;const I=at(pf);for(const M of I.fields){const F=(f=r.value[M.model])==null?void 0:f.help;M.help===void 0&&typeof F=="string"&&(M.help=F)}return I}),p=t.computed(()=>({fields:i.formSchema.fields.filter(f=>!f.model.startsWith("config")&&f.model!=="tags")})),u=t.computed(()=>({fields:s.value.fields.filter(f=>!l.value.fields.some(I=>I.model===f.model)&&!d.value.fields.some(I=>I.model===f.model))})),A=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage")&&!f.model.startsWith("config-storage_config-consul")&&!f.model.startsWith("config-storage_config-redis")&&!f.model.startsWith("config-storage_config-shm")&&!f.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-consul"))})),w=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-redis"))})),S=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-shm"))})),h=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-vault"))})),v=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config")&&!u.value.fields.filter(I=>I.model===f.model).length&&!A.value.fields.filter(I=>I.model===f.model).length||f.model==="tags")})),C=t.computed(()=>i.formModel.id&&i.isEditing||!i.isEditing),Y=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],y=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{a.value==="zeroSsl"&&(i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const m=f=>{a.value=f.value,(f.value==="zeroSsl"||f.value==="other")&&(f.value==="zeroSsl"?i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":i.formModel["config-api_uri"]="https://acme.example.com/",i.formModel["config-tos_accepted"]=!1),f.value==="letsEncrypt"&&(i.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",i.formModel["config-eab_hmac_key"]="",i.formModel["config-eab_kid"]=""),i.onModelUpdated()},E=(f,I)=>{I==="config-storage"&&(o.value=f),i.onModelUpdated()};return(f,I)=>{const M=t.resolveComponent("KSelect"),F=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Le,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(F,{tabs:Y},{general:t.withCtx(()=>[t.createElementVNode("div",Af,[I[0]||(I[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),I[1]||(I[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),C.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),I[2]||(I[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(M,{class:"issuer-select",items:y,label:"Issuer",onChange:m}),t.createElementVNode("div",gf,[a.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:l.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="zeroSsl"||a.value==="other"?(t.openBlock(),t.createBlock(Le,{key:1,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",mf,[I[3]||(I[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),I[4]||(I[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),C.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:A.value,onModelUpdated:E},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",ff,[o.value==="consul"?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Le,{key:1,model:e.formModel,options:e.formOptions,schema:w.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Le,{key:2,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Le,{key:3,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",hf,[I[5]||(I[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),I[6]||(I[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),C.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:v.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),bf=we(yf,[["__scopeId","data-v-07cecf5b"]]),Ef={class:"rla-form-basic-fields"},wf={class:"rla-form-request-limits-subtitle"},Cf={class:"rla-form-request-limits-content"},Bf={class:"rla-form-window-type"},kf=["innerHTML"],If={class:"rla-form-window-type-radios"},vf={class:"rla-form-request-limits-items"},Of={class:"rla-form-request-limits-row"},Mf=["id"],Rf={class:"rla-form-request-limits-actions"},Tf={key:0,class:"rla-form-request-limits-examples"},Sf={class:"rla-form-request-limits-examples-badges"},xf=["innerHTML"],Vf={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Nf=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{type:Boolean}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const i={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
66
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Ct}]},Vl={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},_e={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",...x["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",...x["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",...x["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",...x.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",...x["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",...x["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",...x["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",...x["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",...x["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",...x.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",...x["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",...x["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",...x["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",...x["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",...x.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...x["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",...x.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...x["kubernetes-sidecar-injector"]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]},...x["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",isEnterprise:!1,nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...x.acl},canary:{descriptionKey:"plugins.meta.canary.description",isEnterprise:!0,nameKey:"plugins.meta.canary.name",fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]},...x.canary},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...x["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",...x["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",imageName:"proxy-cache",...x["proxy-cache-advanced"]},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",imageName:"graphql",...x["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",...x["rate-limiting-advanced"]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]},...x["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...x["graphql-rate-limiting-advanced"]},mocking:{descriptionKey:"plugins.meta.mocking.description",isEnterprise:!0,nameKey:"plugins.meta.mocking.name",fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]},...x.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",...x["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",...x["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",...x["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",...x["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...x["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...x["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...x["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...x["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...x["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...x["ai-response-transformer"]},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",useLegacyForm:!0,...x["ai-rate-limiting-advanced"]},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",useLegacyForm:!0,...x["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",...x["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",...x["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",...x.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",imageName:"kong-function",...x["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",imageName:"kong-function",...x["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",...x.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",...x.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",...x.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",...x.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",...x["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",...x["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",...x["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",...x["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",...x["response-transformer"]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]},...x["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",...x["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",...x.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",...x["exit-transformer"]},jq:{descriptionKey:"plugins.meta.jq.description",isEnterprise:!0,nameKey:"plugins.meta.jq.name",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]},...x.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",...x["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",...x["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",...x.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",...x["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",...x.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",...x.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",...x["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",...x["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",...x["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",...x.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",...x["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",...x["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",imageName:"application-registration",...x["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",...x.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",...x["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",...x["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",...x["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...x.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",...x["websocket-validator"]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]},...x["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",...x["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",...x["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",...x["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",...x["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",...x["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",...x.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",...x["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.json-threat-protection.name",...x["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",...x["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...x["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...x["ai-semantic-cache"]},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-prompt-guard.name",useLegacyForm:!0,...x["ai-semantic-prompt-guard"]},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",isEnterprise:!0,nameKey:"plugins.meta.header-cert-auth.name",imageName:"tls-metadata-headers",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]},...x["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",imageName:"oauth2",...x["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",...x.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",...x["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",...x["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",...x.redirect}},Gt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:ji,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:wt(ji),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Yi,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:wt(Yi)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Hi,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:wt(Hi)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:zi,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:wt(zi)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Ki,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:wt(Ki)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Fi,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:wt(Fi)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Tl,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Nl={acls:vl,basicauth_credentials:Ol,keyauth_credentials:Ml,keyauth_enc_credentials:Vl,oauth2_credentials:xl,hmacauth_credentials:Rl,jwt_secrets:Sl},qi=e=>{var a;const n=((a=_e[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":Pr,"../assets/images/plugin-icons/acme.png":Gr,"../assets/images/plugin-icons/ai-azure-content-safety.png":Lr,"../assets/images/plugin-icons/ai-data-sanitization.png":Ur,"../assets/images/plugin-icons/ai-prompt-decorator.png":jr,"../assets/images/plugin-icons/ai-prompt-guard.png":Yr,"../assets/images/plugin-icons/ai-prompt-template.png":Hr,"../assets/images/plugin-icons/ai-proxy-advanced.png":Fr,"../assets/images/plugin-icons/ai-proxy.png":Kr,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":zr,"../assets/images/plugin-icons/ai-request-transformer.png":qr,"../assets/images/plugin-icons/ai-response-transformer.png":Jr,"../assets/images/plugin-icons/ai-semantic-cache.png":Qr,"../assets/images/plugin-icons/ai-semantic-prompt-guard.png":Xr,"../assets/images/plugin-icons/app-dynamics.png":Zr,"../assets/images/plugin-icons/application-registration.png":Wr,"../assets/images/plugin-icons/aws-lambda.png":_r,"../assets/images/plugin-icons/azure-functions.png":$r,"../assets/images/plugin-icons/basic-auth.png":es,"../assets/images/plugin-icons/bot-detection.png":ts,"../assets/images/plugin-icons/canary.png":ns,"../assets/images/plugin-icons/collector.png":is,"../assets/images/plugin-icons/confluent.png":as,"../assets/images/plugin-icons/correlation-id.png":os,"../assets/images/plugin-icons/cors.png":rs,"../assets/images/plugin-icons/datadog.png":ss,"../assets/images/plugin-icons/degraphql.png":ls,"../assets/images/plugin-icons/dynamic-ssl.png":cs,"../assets/images/plugin-icons/exit-transformer.png":ds,"../assets/images/plugin-icons/file-log.png":us,"../assets/images/plugin-icons/forward-proxy.png":ps,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":As,"../assets/images/plugin-icons/graphql.png":gs,"../assets/images/plugin-icons/grpc-gateway.png":ms,"../assets/images/plugin-icons/grpc-web.png":fs,"../assets/images/plugin-icons/hmac-auth.png":hs,"../assets/images/plugin-icons/http-log.png":ys,"../assets/images/plugin-icons/injection-protection.png":bs,"../assets/images/plugin-icons/ip-restriction.png":Es,"../assets/images/plugin-icons/jq.png":ws,"../assets/images/plugin-icons/json-threat-protection.png":Cs,"../assets/images/plugin-icons/jwe-decrypt.png":Bs,"../assets/images/plugin-icons/jwt-signer.png":ks,"../assets/images/plugin-icons/jwt.png":Is,"../assets/images/plugin-icons/kafka-log.png":vs,"../assets/images/plugin-icons/kafka-upstream.png":Os,"../assets/images/plugin-icons/key-auth-enc.png":Ms,"../assets/images/plugin-icons/key-auth.png":Rs,"../assets/images/plugin-icons/kong-function.png":Ts,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":Ss,"../assets/images/plugin-icons/ldap-auth-advanced.png":xs,"../assets/images/plugin-icons/ldap-auth.png":Vs,"../assets/images/plugin-icons/loggly.png":Ns,"../assets/images/plugin-icons/missing.png":Ds,"../assets/images/plugin-icons/mocking.png":Ps,"../assets/images/plugin-icons/mtls-auth.png":Gs,"../assets/images/plugin-icons/new.png":Ls,"../assets/images/plugin-icons/oas-validation.png":Us,"../assets/images/plugin-icons/oauth2-introspection.png":js,"../assets/images/plugin-icons/oauth2.png":Ys,"../assets/images/plugin-icons/opa.png":Hs,"../assets/images/plugin-icons/openid-connect.png":Fs,"../assets/images/plugin-icons/opentelemetry.png":Ks,"../assets/images/plugin-icons/openwhisk.png":zs,"../assets/images/plugin-icons/prometheus.png":qs,"../assets/images/plugin-icons/proxy-cache.png":Js,"../assets/images/plugin-icons/rate-limiting-advanced.png":Qs,"../assets/images/plugin-icons/rate-limiting.png":Xs,"../assets/images/plugin-icons/redirect.png":Zs,"../assets/images/plugin-icons/request-size-limiting.png":Ws,"../assets/images/plugin-icons/request-termination.png":_s,"../assets/images/plugin-icons/request-transformer-advanced.png":$s,"../assets/images/plugin-icons/request-transformer.png":el,"../assets/images/plugin-icons/request-validator.png":tl,"../assets/images/plugin-icons/response-ratelimiting.png":nl,"../assets/images/plugin-icons/response-transformer-advanced.png":il,"../assets/images/plugin-icons/response-transformer.png":al,"../assets/images/plugin-icons/route-by-header.png":ol,"../assets/images/plugin-icons/route-transformer-advanced.png":rl,"../assets/images/plugin-icons/runscope.png":sl,"../assets/images/plugin-icons/saml.png":ll,"../assets/images/plugin-icons/service-protection.png":cl,"../assets/images/plugin-icons/session.png":dl,"../assets/images/plugin-icons/standard-webhooks.png":ul,"../assets/images/plugin-icons/statsd-advanced.png":pl,"../assets/images/plugin-icons/statsd.png":Al,"../assets/images/plugin-icons/syslog.png":gl,"../assets/images/plugin-icons/tcp-log.png":ml,"../assets/images/plugin-icons/tls-handshake-modifier.png":fl,"../assets/images/plugin-icons/tls-metadata-headers.png":hl,"../assets/images/plugin-icons/udp-log.png":yl,"../assets/images/plugin-icons/upstream-timeout.png":bl,"../assets/images/plugin-icons/upstream-tls.png":El,"../assets/images/plugin-icons/vault-auth.png":wl,"../assets/images/plugin-icons/websocket-size-limit.png":Cl,"../assets/images/plugin-icons/websocket-validator.png":Bl,"../assets/images/plugin-icons/xml-threat-protection.png":kl,"../assets/images/plugin-icons/zipkin.png":Il})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:et&&et.tagName.toUpperCase()==="SCRIPT"&&et.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;return i.includes("undefined")?new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:et&&et.tagName.toUpperCase()==="SCRIPT"&&et.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},Dl=()=>{const{i18n:{t:e}}=fn(),n={},i={};for(const[o,r]of Object.entries(_e))n[o]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[o,r]of Object.entries(Gt))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:Gt,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function Ji(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function Pl(e){return function(n,i,a){for(var o=-1,r=Object(n),s=a(n),l=s.length;l--;){var d=s[++o];if(i(r[d],d,r)===!1)break}return n}}var Gl=Pl();function Ll(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var Qi=typeof global=="object"&&global&&global.Object===Object&&global,Ul=typeof self=="object"&&self&&self.Object===Object&&self,Qe=Qi||Ul||Function("return this")(),st=Qe.Symbol,Xi=Object.prototype,jl=Xi.hasOwnProperty,Yl=Xi.toString,Wt=st?st.toStringTag:void 0;function Hl(e){var n=jl.call(e,Wt),i=e[Wt];try{e[Wt]=void 0;var a=!0}catch{}var o=Yl.call(e);return a&&(n?e[Wt]=i:delete e[Wt]),o}var Fl=Object.prototype,Kl=Fl.toString;function zl(e){return Kl.call(e)}var ql="[object Null]",Jl="[object Undefined]",Zi=st?st.toStringTag:void 0;function lt(e){return e==null?e===void 0?Jl:ql:Zi&&Zi in Object(e)?Hl(e):zl(e)}function ct(e){return e!=null&&typeof e=="object"}var Ql="[object Arguments]";function Wi(e){return ct(e)&<(e)==Ql}var _i=Object.prototype,Xl=_i.hasOwnProperty,Zl=_i.propertyIsEnumerable,Wl=Wi(function(){return arguments}())?Wi:function(e){return ct(e)&&Xl.call(e,"callee")&&!Zl.call(e,"callee")},dt=Array.isArray;function _l(){return!1}var $i=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ea=$i&&typeof module=="object"&&module&&!module.nodeType&&module,$l=ea&&ea.exports===$i,ta=$l?Qe.Buffer:void 0,ec=ta?ta.isBuffer:void 0,na=ec||_l,tc=9007199254740991,nc=/^(?:0|[1-9]\d*)$/;function ia(e,n){var i=typeof e;return n=n??tc,!!n&&(i=="number"||i!="symbol"&&nc.test(e))&&e>-1&&e%1==0&&e<n}var ic=9007199254740991;function aa(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ic}var ac="[object Arguments]",oc="[object Array]",rc="[object Boolean]",sc="[object Date]",lc="[object Error]",cc="[object Function]",dc="[object Map]",uc="[object Number]",pc="[object Object]",Ac="[object RegExp]",gc="[object Set]",mc="[object String]",fc="[object WeakMap]",hc="[object ArrayBuffer]",yc="[object DataView]",bc="[object Float32Array]",Ec="[object Float64Array]",wc="[object Int8Array]",Cc="[object Int16Array]",Bc="[object Int32Array]",kc="[object Uint8Array]",Ic="[object Uint8ClampedArray]",vc="[object Uint16Array]",Oc="[object Uint32Array]",he={};he[bc]=he[Ec]=he[wc]=he[Cc]=he[Bc]=he[kc]=he[Ic]=he[vc]=he[Oc]=!0,he[ac]=he[oc]=he[hc]=he[rc]=he[yc]=he[sc]=he[lc]=he[cc]=he[dc]=he[uc]=he[pc]=he[Ac]=he[gc]=he[mc]=he[fc]=!1;function Mc(e){return ct(e)&&aa(e.length)&&!!he[lt(e)]}function Fn(e){return function(n){return e(n)}}var oa=typeof ee=="object"&&ee&&!ee.nodeType&&ee,_t=oa&&typeof module=="object"&&module&&!module.nodeType&&module,Rc=_t&&_t.exports===oa,Kn=Rc&&Qi.process,Lt=function(){try{var e=_t&&_t.require&&_t.require("util").types;return e||Kn&&Kn.binding&&Kn.binding("util")}catch{}}(),ra=Lt&&Lt.isTypedArray,Tc=ra?Fn(ra):Mc,Sc=Object.prototype,xc=Sc.hasOwnProperty;function sa(e,n){var i=dt(e),a=!i&&Wl(e),o=!i&&!a&&na(e),r=!i&&!a&&!o&&Tc(e),s=i||a||o||r,l=s?Ll(e.length,String):[],d=l.length;for(var p in e)(n||xc.call(e,p))&&!(s&&(p=="length"||o&&(p=="offset"||p=="parent")||r&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||ia(p,d)))&&l.push(p);return l}var Vc=Object.prototype;function zn(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||Vc;return e===i}function la(e,n){return function(i){return e(n(i))}}var Nc=la(Object.keys,Object),Dc=Object.prototype,Pc=Dc.hasOwnProperty;function Gc(e){if(!zn(e))return Nc(e);var n=[];for(var i in Object(e))Pc.call(e,i)&&i!="constructor"&&n.push(i);return n}function Fe(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Lc="[object AsyncFunction]",Uc="[object Function]",jc="[object GeneratorFunction]",Yc="[object Proxy]";function ye(e){if(!Fe(e))return!1;var n=lt(e);return n==Uc||n==jc||n==Lc||n==Yc}function hn(e){return e!=null&&aa(e.length)&&!ye(e)}function yn(e){return hn(e)?sa(e):Gc(e)}function Hc(e,n){return e&&Gl(e,n,yn)}function Fc(e,n){return function(i,a){if(i==null)return i;if(!hn(i))return e(i,a);for(var o=i.length,r=-1,s=Object(i);++r<o&&a(s[r],r,s)!==!1;);return i}}var Kc=Fc(Hc);function qn(e){return e}function zc(e){return typeof e=="function"?e:qn}function Pe(e,n){var i=dt(e)?Ji:Kc;return i(e,zc(n))}var qc="[object Symbol]";function bn(e){return typeof e=="symbol"||ct(e)&<(e)==qc}var Jc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qc=/^\w*$/;function Xc(e,n){if(dt(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||bn(e)?!0:Qc.test(e)||!Jc.test(e)||n!=null&&e in Object(n)}var Jn=Qe["__core-js_shared__"],ca=function(){var e=/[^.]+$/.exec(Jn&&Jn.keys&&Jn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Zc(e){return!!ca&&ca in e}var Wc=Function.prototype,_c=Wc.toString;function Bt(e){if(e!=null){try{return _c.call(e)}catch{}try{return e+""}catch{}}return""}var $c=/[\\^$.*+?()[\]{}|]/g,ed=/^\[object .+?Constructor\]$/,td=Function.prototype,nd=Object.prototype,id=td.toString,ad=nd.hasOwnProperty,od=RegExp("^"+id.call(ad).replace($c,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function rd(e){if(!Fe(e)||Zc(e))return!1;var n=ye(e)?od:ed;return n.test(Bt(e))}function sd(e,n){return e==null?void 0:e[n]}function kt(e,n){var i=sd(e,n);return rd(i)?i:void 0}var $t=kt(Object,"create");function ld(){this.__data__=$t?$t(null):{},this.size=0}function cd(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var dd="__lodash_hash_undefined__",ud=Object.prototype,pd=ud.hasOwnProperty;function Ad(e){var n=this.__data__;if($t){var i=n[e];return i===dd?void 0:i}return pd.call(n,e)?n[e]:void 0}var gd=Object.prototype,md=gd.hasOwnProperty;function fd(e){var n=this.__data__;return $t?n[e]!==void 0:md.call(n,e)}var hd="__lodash_hash_undefined__";function yd(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=$t&&n===void 0?hd:n,this}function It(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var a=e[n];this.set(a[0],a[1])}}It.prototype.clear=ld,It.prototype.delete=cd,It.prototype.get=Ad,It.prototype.has=fd,It.prototype.set=yd;function bd(){this.__data__=[],this.size=0}function En(e,n){return e===n||e!==e&&n!==n}function wn(e,n){for(var i=e.length;i--;)if(En(e[i][0],n))return i;return-1}var Ed=Array.prototype,wd=Ed.splice;function Cd(e){var n=this.__data__,i=wn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():wd.call(n,i,1),--this.size,!0}function Bd(e){var n=this.__data__,i=wn(n,e);return i<0?void 0:n[i][1]}function kd(e){return wn(this.__data__,e)>-1}function Id(e,n){var i=this.__data__,a=wn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function tt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var a=e[n];this.set(a[0],a[1])}}tt.prototype.clear=bd,tt.prototype.delete=Cd,tt.prototype.get=Bd,tt.prototype.has=kd,tt.prototype.set=Id;var en=kt(Qe,"Map");function vd(){this.size=0,this.__data__={hash:new It,map:new(en||tt),string:new It}}function Od(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Cn(e,n){var i=e.__data__;return Od(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Md(e){var n=Cn(this,e).delete(e);return this.size-=n?1:0,n}function Rd(e){return Cn(this,e).get(e)}function Td(e){return Cn(this,e).has(e)}function Sd(e,n){var i=Cn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function nt(e){var n=-1,i=e==null?0:e.length;for(this.clear();++n<i;){var a=e[n];this.set(a[0],a[1])}}nt.prototype.clear=vd,nt.prototype.delete=Md,nt.prototype.get=Rd,nt.prototype.has=Td,nt.prototype.set=Sd;var xd="Expected a function";function Qn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(xd);var i=function(){var a=arguments,o=n?n.apply(this,a):a[0],r=i.cache;if(r.has(o))return r.get(o);var s=e.apply(this,a);return i.cache=r.set(o,s)||r,s};return i.cache=new(Qn.Cache||nt),i}Qn.Cache=nt;var Vd=500;function Nd(e){var n=Qn(e,function(a){return i.size===Vd&&i.clear(),a}),i=n.cache;return n}var Dd=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pd=/\\(\\)?/g,Gd=Nd(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Dd,function(i,a,o,r){n.push(o?r.replace(Pd,"$1"):a||i)}),n});function Ld(e,n){for(var i=-1,a=e==null?0:e.length,o=Array(a);++i<a;)o[i]=n(e[i],i,e);return o}var Ud=1/0,da=st?st.prototype:void 0,ua=da?da.toString:void 0;function pa(e){if(typeof e=="string")return e;if(dt(e))return Ld(e,pa)+"";if(bn(e))return ua?ua.call(e):"";var n=e+"";return n=="0"&&1/e==-Ud?"-0":n}function Aa(e){return e==null?"":pa(e)}function jd(e,n){return dt(e)?e:Xc(e,n)?[e]:Gd(Aa(e))}var Yd=1/0;function Hd(e){if(typeof e=="string"||bn(e))return e;var n=e+"";return n=="0"&&1/e==-Yd?"-0":n}function Fd(e,n){n=jd(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[Hd(n[i++])];return i&&i==a?e:void 0}function le(e,n,i){var a=e==null?void 0:Fd(e,n);return a===void 0?i:a}function Re(e){return e==null}const ut="kong-ui-forms-api",pt="autofill",Xe="autofillSlot";function Kd(){this.__data__=new tt,this.size=0}function zd(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function qd(e){return this.__data__.get(e)}function Jd(e){return this.__data__.has(e)}var Qd=200;function Xd(e,n){var i=this.__data__;if(i instanceof tt){var a=i.__data__;if(!en||a.length<Qd-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new nt(a)}return i.set(e,n),this.size=i.size,this}function Ut(e){var n=this.__data__=new tt(e);this.size=n.size}Ut.prototype.clear=Kd,Ut.prototype.delete=zd,Ut.prototype.get=qd,Ut.prototype.has=Jd,Ut.prototype.set=Xd;var Bn=function(){try{var e=kt(Object,"defineProperty");return e({},"",{}),e}catch{}}();function ga(e,n,i){n=="__proto__"&&Bn?Bn(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var Zd=Object.prototype,Wd=Zd.hasOwnProperty;function ma(e,n,i){var a=e[n];(!(Wd.call(e,n)&&En(a,i))||i===void 0&&!(n in e))&&ga(e,n,i)}function kn(e,n,i,a){var o=!i;i||(i={});for(var r=-1,s=n.length;++r<s;){var l=n[r],d=void 0;d===void 0&&(d=e[l]),o?ga(i,l,d):ma(i,l,d)}return i}function _d(e,n){return e&&kn(n,yn(n),e)}function $d(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var eu=Object.prototype,tu=eu.hasOwnProperty;function nu(e){if(!Fe(e))return $d(e);var n=zn(e),i=[];for(var a in e)a=="constructor"&&(n||!tu.call(e,a))||i.push(a);return i}function In(e){return hn(e)?sa(e,!0):nu(e)}function iu(e,n){return e&&kn(n,In(n),e)}var fa=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ha=fa&&typeof module=="object"&&module&&!module.nodeType&&module,au=ha&&ha.exports===fa,ya=au?Qe.Buffer:void 0,ba=ya?ya.allocUnsafe:void 0;function ou(e,n){if(n)return e.slice();var i=e.length,a=ba?ba(i):new e.constructor(i);return e.copy(a),a}function ru(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function su(e,n){for(var i=-1,a=e==null?0:e.length,o=0,r=[];++i<a;){var s=e[i];n(s,i,e)&&(r[o++]=s)}return r}function Ea(){return[]}var lu=Object.prototype,cu=lu.propertyIsEnumerable,wa=Object.getOwnPropertySymbols,Xn=wa?function(e){return e==null?[]:(e=Object(e),su(wa(e),function(n){return cu.call(e,n)}))}:Ea;function du(e,n){return kn(e,Xn(e),n)}function Ca(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var Ba=la(Object.getPrototypeOf,Object),uu=Object.getOwnPropertySymbols,ka=uu?function(e){for(var n=[];e;)Ca(n,Xn(e)),e=Ba(e);return n}:Ea;function pu(e,n){return kn(e,ka(e),n)}function Ia(e,n,i){var a=n(e);return dt(e)?a:Ca(a,i(e))}function Au(e){return Ia(e,yn,Xn)}function gu(e){return Ia(e,In,ka)}var Zn=kt(Qe,"DataView"),Wn=kt(Qe,"Promise"),jt=kt(Qe,"Set"),_n=kt(Qe,"WeakMap"),va="[object Map]",mu="[object Object]",Oa="[object Promise]",Ma="[object Set]",Ra="[object WeakMap]",Ta="[object DataView]",fu=Bt(Zn),hu=Bt(en),yu=Bt(Wn),bu=Bt(jt),Eu=Bt(_n),it=lt;(Zn&&it(new Zn(new ArrayBuffer(1)))!=Ta||en&&it(new en)!=va||Wn&&it(Wn.resolve())!=Oa||jt&&it(new jt)!=Ma||_n&&it(new _n)!=Ra)&&(it=function(e){var n=lt(e),i=n==mu?e.constructor:void 0,a=i?Bt(i):"";if(a)switch(a){case fu:return Ta;case hu:return va;case yu:return Oa;case bu:return Ma;case Eu:return Ra}return n});var wu=Object.prototype,Cu=wu.hasOwnProperty;function Bu(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&Cu.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var Sa=Qe.Uint8Array;function $n(e){var n=new e.constructor(e.byteLength);return new Sa(n).set(new Sa(e)),n}function ku(e,n){var i=n?$n(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var Iu=/\w*$/;function vu(e){var n=new e.constructor(e.source,Iu.exec(e));return n.lastIndex=e.lastIndex,n}var xa=st?st.prototype:void 0,Va=xa?xa.valueOf:void 0;function Ou(e){return Va?Object(Va.call(e)):{}}function Mu(e,n){var i=n?$n(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var Ru="[object Boolean]",Tu="[object Date]",Su="[object Map]",xu="[object Number]",Vu="[object RegExp]",Nu="[object Set]",Du="[object String]",Pu="[object Symbol]",Gu="[object ArrayBuffer]",Lu="[object DataView]",Uu="[object Float32Array]",ju="[object Float64Array]",Yu="[object Int8Array]",Hu="[object Int16Array]",Fu="[object Int32Array]",Ku="[object Uint8Array]",zu="[object Uint8ClampedArray]",qu="[object Uint16Array]",Ju="[object Uint32Array]";function Qu(e,n,i){var a=e.constructor;switch(n){case Gu:return $n(e);case Ru:case Tu:return new a(+e);case Lu:return ku(e,i);case Uu:case ju:case Yu:case Hu:case Fu:case Ku:case zu:case qu:case Ju:return Mu(e,i);case Su:return new a;case xu:case Du:return new a(e);case Vu:return vu(e);case Nu:return new a;case Pu:return Ou(e)}}var Na=Object.create,Xu=function(){function e(){}return function(n){if(!Fe(n))return{};if(Na)return Na(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function Zu(e){return typeof e.constructor=="function"&&!zn(e)?Xu(Ba(e)):{}}var Wu="[object Map]";function _u(e){return ct(e)&&it(e)==Wu}var Da=Lt&&Lt.isMap,$u=Da?Fn(Da):_u,ep="[object Set]";function tp(e){return ct(e)&&it(e)==ep}var Pa=Lt&&Lt.isSet,np=Pa?Fn(Pa):tp,ip=1,ap=2,op=4,Ga="[object Arguments]",rp="[object Array]",sp="[object Boolean]",lp="[object Date]",cp="[object Error]",La="[object Function]",dp="[object GeneratorFunction]",up="[object Map]",pp="[object Number]",Ua="[object Object]",Ap="[object RegExp]",gp="[object Set]",mp="[object String]",fp="[object Symbol]",hp="[object WeakMap]",yp="[object ArrayBuffer]",bp="[object DataView]",Ep="[object Float32Array]",wp="[object Float64Array]",Cp="[object Int8Array]",Bp="[object Int16Array]",kp="[object Int32Array]",Ip="[object Uint8Array]",vp="[object Uint8ClampedArray]",Op="[object Uint16Array]",Mp="[object Uint32Array]",fe={};fe[Ga]=fe[rp]=fe[yp]=fe[bp]=fe[sp]=fe[lp]=fe[Ep]=fe[wp]=fe[Cp]=fe[Bp]=fe[kp]=fe[up]=fe[pp]=fe[Ua]=fe[Ap]=fe[gp]=fe[mp]=fe[fp]=fe[Ip]=fe[vp]=fe[Op]=fe[Mp]=!0,fe[cp]=fe[La]=fe[hp]=!1;function tn(e,n,i,a,o,r){var s,l=n&ip,d=n&ap,p=n&op;if(s!==void 0)return s;if(!Fe(e))return e;var u=dt(e);if(u){if(s=Bu(e),!l)return ru(e,s)}else{var A=it(e),g=A==La||A==dp;if(na(e))return ou(e,l);if(A==Ua||A==Ga||g&&!o){if(s=d||g?{}:Zu(e),!l)return d?pu(e,iu(s,e)):du(e,_d(s,e))}else{if(!fe[A])return o?e:{};s=Qu(e,A,l)}}r||(r=new Ut);var w=r.get(e);if(w)return w;r.set(e,s),np(e)?e.forEach(function(v){s.add(tn(v,n,i,v,e,r))}):$u(e)&&e.forEach(function(v,C){s.set(C,tn(v,n,i,C,e,r))});var S=p?d?gu:Au:d?In:yn,h=u?void 0:S(e);return Ji(h||e,function(v,C){h&&(C=v,v=e[C]),ma(s,C,tn(v,n,i,C,e,r))}),s}var Rp=1,Tp=4;function at(e){return tn(e,Rp|Tp)}const ei=(e,n="")=>typeof e.id<"u"?n+e.id+"":n+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,""),ja=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var Sp="[object String]";function vt(e){return typeof e=="string"||!dt(e)&&ct(e)&<(e)==Sp}const Ya={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[le(this.options,"validationErrorClass","error")]:n,[le(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?Pe(e.styleClasses,a=>i[a]=!0):vt(e.styleClasses)&&(i[e.styleClasses]=!0),Re(e.type)||(i["field-"+e.type]=!0),i},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},fieldDisabled(e){return ye(e.disabled)?e.disabled.call(this,this.model,e,this):Re(e.disabled)?!1:e.disabled},fieldReadonly(e){return ye(e.readonly)?e.readonly.call(this,this.model,e,this):Re(e.readonly)?!1:e.readonly},fieldFeatured(e){return ye(e.featured)?e.featured.call(this,this.model,e,this):Re(e.featured)?!1:e.featured},fieldRequired(e){return ye(e.required)?e.required.call(this,this.model,e,this):Re(e.required)?!1:e.required}}};var ti=function(){return Qe.Date.now()},xp=/\s/;function Vp(e){for(var n=e.length;n--&&xp.test(e.charAt(n)););return n}var Np=/^\s+/;function Dp(e){return e&&e.slice(0,Vp(e)+1).replace(Np,"")}var Ha=NaN,Pp=/^[-+]0x[0-9a-f]+$/i,Gp=/^0b[01]+$/i,Lp=/^0o[0-7]+$/i,Up=parseInt;function ni(e){if(typeof e=="number")return e;if(bn(e))return Ha;if(Fe(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Fe(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Dp(e);var i=Gp.test(e);return i||Lp.test(e)?Up(e.slice(2),i?2:8):Pp.test(e)?Ha:+e}var jp="Expected a function",Yp=Math.max,Hp=Math.min;function nn(e,n,i){var a,o,r,s,l,d,p=0,u=!1,A=!1,g=!0;if(typeof e!="function")throw new TypeError(jp);n=ni(n)||0,Fe(i)&&(u=!!i.leading,A="maxWait"in i,r=A?Yp(ni(i.maxWait)||0,n):r,g="trailing"in i?!!i.trailing:g);function w(f){var I=a,M=o;return a=o=void 0,p=f,s=e.apply(M,I),s}function S(f){return p=f,l=setTimeout(C,n),u?w(f):s}function h(f){var I=f-d,M=f-p,F=n-I;return A?Hp(F,r-M):F}function v(f){var I=f-d,M=f-p;return d===void 0||I>=n||I<0||A&&M>=r}function C(){var f=ti();if(v(f))return Y(f);l=setTimeout(C,h(f))}function Y(f){return l=void 0,g&&a?w(f):(a=o=void 0,s)}function y(){l!==void 0&&clearTimeout(l),p=0,a=d=o=l=void 0}function m(){return l===void 0?s:Y(ti())}function E(){var f=ti(),I=v(f);if(a=arguments,o=this,d=f,I){if(l===void 0)return S(d);if(A)return clearTimeout(l),l=setTimeout(C,n),w(d)}return l===void 0&&(l=setTimeout(C,n)),s}return E.cancel=y,E.flush=m,E}var Fp="__lodash_hash_undefined__";function Kp(e){return this.__data__.set(e,Fp),this}function zp(e){return this.__data__.has(e)}function vn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new nt;++n<i;)this.add(e[n])}vn.prototype.add=vn.prototype.push=Kp,vn.prototype.has=zp;function qp(e,n,i,a){for(var o=e.length,r=i+-1;++r<o;)if(n(e[r],r,e))return r;return-1}function Jp(e){return e!==e}function Qp(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function Xp(e,n,i){return n===n?Qp(e,n,i):qp(e,Jp,i)}function Zp(e,n){var i=e==null?0:e.length;return!!i&&Xp(e,n,0)>-1}function Wp(e,n){return e.has(n)}function _p(){}function Fa(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var $p=1/0,eA=jt&&1/Fa(new jt([,-0]))[1]==$p?function(e){return new jt(e)}:_p,tA=200;function nA(e,n,i){var a=-1,o=Zp,r=e.length,s=!0,l=[],d=l;if(r>=tA){var p=eA(e);if(p)return Fa(p);s=!1,o=Wp,d=new vn}else d=l;e:for(;++a<r;){var u=e[a],A=u;if(u=u!==0?u:0,s&&A===A){for(var g=d.length;g--;)if(d[g]===A)continue e;l.push(u)}else o(d,A,i)||(d!==l&&d.push(A),l.push(u))}return l}function Ka(e){return e&&e.length?nA(e):[]}var iA=0;function za(e){var n=++iA;return Aa(e)+n}var qa=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,At="\\d\\d?",gt="\\d\\d",aA="\\d{3}",oA="\\d{4}",an="[^\\s]+",Ja=/\[([^]*?)\]/gm;function Qa(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var Xa=function(e){return function(n,i){var a=i[e].map(function(r){return r.toLowerCase()}),o=a.indexOf(n.toLowerCase());return o>-1?o:null}};function Ot(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var a=0,o=n;a<o.length;a++){var r=o[a];for(var s in r)e[s]=r[s]}return e}var Za=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Wa=["January","February","March","April","May","June","July","August","September","October","November","December"],rA=Qa(Wa,3),sA=Qa(Za,3),_a={dayNamesShort:sA,dayNames:Za,monthNamesShort:rA,monthNames:Wa,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},On=Ot({},_a),lA=function(e){return On=Ot(On,e)},$a=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ge=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},cA={D:function(e){return String(e.getDate())},DD:function(e){return Ge(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Ge(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return Ge(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return Ge(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Ge(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Ge(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Ge(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Ge(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Ge(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Ge(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Ge(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60),2)+":"+Ge(Math.abs(n)%60,2)}},eo=function(e){return+e-1},to=[null,At],no=[null,an],io=["isPm",an,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],ao=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var n=(e+"").match(/([+-]|\d\d)/gi);if(n){var i=+n[1]*60+parseInt(n[2],10);return n[0]==="+"?i:-i}return 0}],dA={D:["day",At],DD:["day",gt],Do:["day",At+an,function(e){return parseInt(e,10)}],M:["month",At,eo],MM:["month",gt,eo],YY:["year",gt,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",At,void 0,"isPm"],hh:["hour",gt,void 0,"isPm"],H:["hour",At],HH:["hour",gt],m:["minute",At],mm:["minute",gt],s:["second",At],ss:["second",gt],YYYY:["year",oA],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",gt,function(e){return+e*10}],SSS:["millisecond",aA],d:to,dd:to,ddd:no,dddd:no,MMM:["month",an,Xa("monthNamesShort")],MMMM:["month",an,Xa("monthNames")],a:io,A:io,ZZ:ao,Z:ao},Mn={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},uA=function(e){return Ot(Mn,e)},pA=function(e,n,i){if(n===void 0&&(n=Mn.default),i===void 0&&(i={}),typeof e=="number"&&(e=new Date(e)),Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");n=Mn[n]||n;var a=[];n=n.replace(Ja,function(r,s){return a.push(s),"@@@"});var o=Ot(Ot({},On),i);return n=n.replace(qa,function(r){return cA[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function AA(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Mn[n]||n,e.length>1e3)return null;var a=new Date,o={year:a.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},r=[],s=[],l=n.replace(Ja,function(m,E){return s.push($a(E)),"@@@"}),d={},p={};l=$a(l).replace(qa,function(m){var E=dA[m],f=E[0],I=E[1],M=E[3];if(d[f])throw new Error("Invalid format. "+f+" specified twice in format");return d[f]=!0,M&&(p[M]=!0),r.push(E),"("+I+")"}),Object.keys(p).forEach(function(m){if(!d[m])throw new Error("Invalid format. "+m+" is required in specified format")}),l=l.replace(/@@@/g,function(){return s.shift()});var u=e.match(new RegExp(l,"i"));if(!u)return null;for(var A=Ot(Ot({},On),i),g=1;g<u.length;g++){var w=r[g-1],S=w[0],h=w[2],v=h?h(u[g],A):+u[g];if(v==null)return null;o[S]=v}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var C;if(o.timezoneOffset==null){C=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var Y=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,y=Y.length;g<y;g++)if(d[Y[g][0]]&&o[Y[g][0]]!==C[Y[g][1]]())return null}else if(C=new Date(Date.UTC(o.year,o.month,o.day,o.hour,o.minute-o.timezoneOffset,o.second,o.millisecond)),o.month>11||o.month<0||o.day>31||o.day<1||o.hour>23||o.hour<0||o.minute>59||o.minute<0||o.second>59||o.second<0)return null;return C}var Yt={format:pA,parse:AA,defaultI18n:_a,setGlobalDateI18n:lA,setGlobalDateMasks:uA};function gA(e,n,i){switch(i.length){case 0:return e.call(n);case 1:return e.call(n,i[0]);case 2:return e.call(n,i[0],i[1]);case 3:return e.call(n,i[0],i[1],i[2])}return e.apply(n,i)}var oo=Math.max;function mA(e,n,i){return n=oo(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=oo(a.length-n,0),s=Array(r);++o<r;)s[o]=a[n+o];o=-1;for(var l=Array(n+1);++o<n;)l[o]=a[o];return l[n]=i(s),gA(e,this,l)}}function fA(e){return function(){return e}}var hA=Bn?function(e,n){return Bn(e,"toString",{configurable:!0,enumerable:!1,value:fA(n),writable:!0})}:qn,yA=800,bA=16,EA=Date.now;function wA(e){var n=0,i=0;return function(){var a=EA(),o=bA-(a-i);if(i=a,o>0){if(++n>=yA)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var CA=wA(hA);function BA(e,n){return CA(mA(e,n,qn),e+"")}function kA(e,n,i){if(!Fe(i))return!1;var a=typeof n;return(a=="number"?hn(i)&&ia(n,i.length):a=="string"&&n in i)?En(i[n],e):!1}var ro=Object.prototype,IA=ro.hasOwnProperty,vA=BA(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&kA(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=In(r),l=-1,d=s.length;++l<d;){var p=s[l],u=e[p];(u===void 0||En(u,ro[p])&&!IA.call(e,p))&&(e[p]=r[p])}return e}),OA=Qe.isFinite;function MA(e){return typeof e=="number"&&OA(e)}var so=1/0,RA=17976931348623157e292;function TA(e){if(!e)return e===0?e:0;if(e=ni(e),e===so||e===-so){var n=e<0?-1:1;return n*RA}return e===e?e:0}function SA(e){var n=TA(e),i=n%1;return n===n?i?n-i:n:0}function xA(e){return typeof e=="number"&&e==SA(e)}var VA="[object Number]";function ii(e){return typeof e=="number"||ct(e)&<(e)==VA}const NA={packageName:"forms",disable_global_radio:"The plugin is set to 'Scoped' by default when configured under a {scope}. To configure a global plugin, navigate to the global plugin list page.",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it."},DA={view_advanced_fields:"View Advanced Fields",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},PA={field_is_required:"This field is required",invalid_format:"Invalid format",number_too_small:"The number is too small. Minimum: {0}",number_too_large:"The number is too large. Maximum: {0}",invalid_number:"Invalid number",invalid_integer:"The value is not an integer",text_too_short:"The length of text is too short. Current: {0}, Minimum: {1}",text_too_long:"The length of text is too long. Current: {0}, Maximum: {1}",this_not_text:"This is not a text",this_not_array:"This is not an array",select_min_items:"Select minimum {0} items",select_max_items:"Select maximum {0} items",invalid_date:"Invalid date",date_is_early:"The date is too early. Current: {0}, Minimum: {1}",date_is_late:"The date is too late. Current: {0}, Maximum: {1}",invalid_email:"Invalid e-mail address",invalid_url:"Invalid URL",invalid_card:"Invalid card format",invalid_card_number:"Invalid card number",invalid_text_contain_number:"Invalid text - cannot contains numbers or special characters",invalid_tex_contain_spec:"Invalid text - cannot contains special characters"},GA={labels:{on:"On",off:"Off"}},Mt={general:NA,"post-function":{tags:{hint:"e.g. tag1, tag2, tag3",newElementButtonLabel:"+ Add"},enabled:{newElementButtonLabel:"+ Add"},selectionGroup:{newElementButtonLabel:"+ Add"},instance_name:{newElementButtonLabel:"+ Add"},name:{newElementButtonLabel:"+ Add"},"config-certificate":{help:"Array of stringified Lua code to be cached and run in sequence during the certificate phase.",newElementButtonLabel:"+ Add"},"config-access":{help:"Array of stringified Lua code to be cached and run in sequence during the access phase.",newElementButtonLabel:"+ Add"},"config-body_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the body_filter phase.",newElementButtonLabel:"+ Add"},"config-header_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the header_filter phase.",newElementButtonLabel:"+ Add"},"config-functions":{newElementButtonLabel:"+ Add"},"config-log":{newElementButtonLabel:"+ Add"},"config-rewrite":{newElementButtonLabel:"+ Add"},"config-ws_client_frame":{newElementButtonLabel:"+ Add"},"config-ws_close":{newElementButtonLabel:"+ Add"},"config-ws_handshake":{newElementButtonLabel:"+ Add"},"config-ws_upstream_frame":{newElementButtonLabel:"+ Add"}},"exit-transformer":{"config-functions":{newElementButtonLabel:"+ Add"}},rla:DA,validators:PA,vfg:GA},{t:Me}=We.createI18n("en-us",Mt),Se={fieldIsRequired:Me("validators.field_is_required"),invalidFormat:Me("validators.invalid_format"),numberTooSmall:Me("validators.number_too_small"),numberTooBig:Me("validators.number_too_large"),invalidNumber:Me("validators.invalid_number"),invalidInteger:Me("validators.invalid_integer"),textTooSmall:Me("validators.text_too_short"),textTooBig:Me("validators.text_too_long"),thisNotText:Me("validators.this_not_text"),thisNotArray:Me("validators.this_not_array"),selectMinItems:Me("validators.select_min_items"),selectMaxItems:Me("validators.select_max_items"),invalidDate:Me("validators.invalid_date"),dateIsEarly:Me("validators.date_is_early"),dateIsLate:Me("validators.date_is_late"),invalidEmail:Me("validators.invalid_email"),invalidURL:Me("validators.invalid_url"),invalidCard:Me("validators.invalid_card"),invalidCardNumber:Me("validators.invalid_card_number"),invalidTextContainNumber:Me("validators.invalid_text_contain_number"),invalidTextContainSpec:Me("validators.invalid_tex_contain_spec")},Be=(e,...n)=>{if(e&&n.length>0)for(let i=0;i<n.length;i++)e=e.replace("{"+(i-1)+"}",String(n[i]||""));return e},Ze=(e,n,i=Se)=>Re(e)||e===""?n?[Be(i.fieldIsRequired)]:[]:null,Rt={required:(e,n,i,a=Se)=>Ze(e,n.required,a)||[],number:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);return o!=null||(o=[],MA(e)?(!Re(n.min)&&e<n.min,(a=Se)&&o.push(Be(a.numberTooSmall,n.min)),!Re(n.max)&&e>n.max,(a=Se)&&o.push(Be(a.numberTooBig,n.max))):o.push(Be(a.invalidNumber))),o},integer:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);return o!=null||(o=[],o.concat(Rt.number(e,n,i,a)),xA(e)||o.push(Be(a.invalidInteger))),o},double:(e,n,i,a=Se)=>Ze(e,n.required,a)??(!ii(e)||isNaN(e)?[Be(a.invalidNumber)]:[]),string:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);return o!=null||(o=[],vt(e)?(!Re(n.min)&&e.length<n.min&&o.push(Be(a.textTooSmall,e.length,n.min)),!Re(n.max)&&e.length>n.max&&o.push(Be(a.textTooBig,e.length,n.max))):o.push(Be(a.thisNotText))),o},array:(e,n,i,a=Se)=>{if(n.required){if(!Array.isArray(e))return[Be(a.thisNotArray)];if(e.length===0)return[Be(a.fieldIsRequired)]}if(!Re(e)){if(!Re(n.min)&&e.length<n.min)return[Be(a.selectMinItems,n.min)];if(!Re(n.max)&&e.length>n.max)return[Be(a.selectMaxItems,n.max)]}return[]},date:(e,n,i,a=Se)=>{let o=Ze(e,n.required,a);if(o!=null)return o;o=[];const r=new Date(e);if(isNaN(r.getDate()))return[Be(a.invalidDate)];if(!Re(n.min)){const s=new Date(n.min);r.valueOf()<s.valueOf()&&o.push(Be(a.dateIsEarly,Yt.format(r),Yt.format(s)))}if(!Re(n.max)){const s=new Date(n.max);r.valueOf()>s.valueOf()&&o.push(Be(a.dateIsLate,Yt.format(r),Yt.format(s)))}return o},regexp:(e,n,i,a=Se)=>Ze(e,n.required,a)??(!Re(n.pattern)&&!new RegExp(n.pattern).test(e)?[Be(a.invalidFormat)]:[]),email:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)?[]:[Be(a.invalidEmail)]),url:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e)?[]:[Be(a.invalidURL)]),creditCard:(e,n,i,a=Se)=>{const o=Ze(e,n.required,a);if(o!=null)return o;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!r.test(s))return[Be(a.invalidCard)];let l=0,d,p,u;for(let A=s.length-1;A>=0;A--)d=s.substring(A,A+1),p=parseInt(d,10),u?(p*=2,p>=10?l+=p%10+1:l+=p):l+=p,u=!u;return l%10===0&&s?[]:[Be(a.invalidCardNumber)]},alpha:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/^[a-zA-Z]*$/.test(e)?[]:[Be(a.invalidTextContainNumber)]),alphaNumeric:(e,n,i,a=Se)=>Ze(e,n.required,a)??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Be(a.invalidTextContainSpec)])};Object.keys(Rt).forEach(e=>{const n=Rt[e];ye(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,vA(i,Se)))});function lo(e){return vt(e)?Rt[e]!=null?Rt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function ai(e,n,i){let a=le(i.context,"schema.attributes",{});const o=n.value||"input";vt(o)&&(a=le(a,o)||a),Pe(a,(r,s)=>{e.setAttribute(s,r)})}const ot={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:ai,updated:ai,componentUpdated:ai}},computed:{value:{cache:!1,get(){let e;return ye(le(this.schema,"get"))?e=this.schema.get(this.model):e=le(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),ye(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=le(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const o=[];Array.isArray(this.schema.validator)?Pe(this.schema.validator,r=>{o.push(lo(r).bind(this))}):o.push(lo(this.schema.validator).bind(this)),Pe(o,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const s=r(this.value,this.schema,this.model);s&&ye(s.then)?s.then(l=>{l&&(this.errors=this.errors.concat(l));const d=this.errors.length===0;this.$emit("validated",d,this.errors,this)}):s&&(i=i.concat(s))}})}const a=o=>{let r=[];Pe(Ka(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):vt(l)&&r.push(l)}),ye(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,r,this.schema);const s=r.length===0;return e||this.$emit("validated",s,r,this),this.errors=r,r};return n?Promise.all(i).then(a):a(i)},debouncedValidate(){ye(this.debouncedValidateFunc)||(this.debouncedValidateFunc=nn(this.validate.bind(this),le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;ye(this.schema.set)?(this.schema.set(this.model,e),i=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),i=!0),i&&(this.$emit("modelUpdated",e,this.schema.model),ye(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),le(this.formOptions,"validateAfterChanged",!1)===!0&&(le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");let a=this.model;const o=i.split(".");let r=0;const s=o.length;for(;r<s;){const l=o[r];if(r<s-1)a[l]!==void 0||(a[l]={}),a=a[l];else{a[l]=n;return}++r}},getFieldID(e,n=!1){const i=le(this.formOptions,"fieldIdPrefix","");return ei(e,i)+(n?"-"+za():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return le(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},Ce=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},LA={mixins:[ot],emits:["model-updated"],data(){return{isOpen:!1}},computed:{openClass(){return this.isOpen?"open":"closed"},fieldCount(){return this.schema.fields.length},titleText(){return`${this.isOpen?"Hide":"View"} ${this.fieldCount} Advanced Fields`}},methods:{handleOpen(){this.isOpen=!this.isOpen},updateModel(e,n){this.$emit("model-updated",e,n)}}},UA={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},jA={class:"material-icons"};function YA(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",UA,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",jA,t.toDisplayString(o.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(r.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",r.openClass])},[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const HA=Ce(LA,[["render",YA],["__scopeId","data-v-acfccff7"]]),FA={class:"array-card-container"},KA=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null},index:{type:Number,default:void 0}},emits:["remove-item"],setup(e){return t.provide("vfg-array-item-index",e.index),(n,i)=>{const a=t.resolveComponent("KCard"),o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",FA,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(o,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.TrashIcon))]),_:1})])}}}),co=Ce(KA,[["__scopeId","data-v-96055692"]]),zA={class:"array-item-wrapper"},qA={class:"array-item"},JA={class:"array-item-after"},QA=t.defineComponent({__name:"FieldArrayItem",props:{model:{type:String,default:""}},emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",zA,[t.createElementVNode("div",qA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.TrashIcon))]),_:1})]),t.createElementVNode("div",JA,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),uo=Ce(QA,[["__scopeId","data-v-eb9975cc"]]),XA={class:"multi-item-wrapper"},ZA=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",XA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>i[1]||(i[1]=[t.createTextVNode(" - Remove Field ")])),_:1}),i[2]||(i[2]=t.createElementVNode("hr",null,null,-1))])}}}),po=Ce(ZA,[["__scopeId","data-v-37458a0a"]]),WA="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",_A=e=>e?e.length===36&&new RegExp(`^${WA}$`).test(e):!1,oi=50,Tt={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"};function $A(e,n,i){return i?Tt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Tt.UPDATE_ENTITY:e&&n?Tt.CREATE_FROM_ENTITY:Tt.CREATE_NOT_FROM_ENTITY}const eg={mixins:[ot],inject:[ut],emits:["model-updated"],setup(){const{t:e}=We.createI18n("en-us",Mt);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return $A(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},scope(){return this.schema.label.toLowerCase()},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Tt.UPDATE_ENTITY:if(!this[ut]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[ut].getOne(this.entity,this.model[this.schema.model])).data,e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Tt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Tt.SET_REFERRAL_VALUE:this.idValue=this.value}try{e&&(this.initialItems=[{...e,label:this.getSuggestionLabel(e),value:e.id}]),this.items=this.initialItems}catch(i){this.message=`There was an error loading ${this.schema.entity}`,console.error("err!",i)}},methods:{onQueryChange(e){e.trim().length===0&&(this.items=[],this.message="Type something to search"),typeof this.performSearch!="function"&&(this.performSearch=nn(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],a=this.getInputFields(),o=new Set;_A(e)&&a.includes("id")?i.push((async()=>{const r=await this.fetchExact(e);n.push({...r,label:this.getSuggestionLabel(r),value:r.id})})()):i.push(...a.filter(r=>r!=="id").map(async r=>{(await this.fetchSuggestions(e,r)).forEach(s=>{o.has(s.id)||(o.add(s.id),n.push({...s,label:this.getSuggestionLabel(s),value:s.id}))})})),await Promise.all(i),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let i=null;if(!this[ut])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<oi;){const a=await this[ut].getAll(this.entity,{size:oi,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,oi)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[ut]?(await this[ut].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},getSuggestionLabel(e){const n=this.getInputFields();return n.length&&e?n.map(i=>e[i]).filter(Boolean).join(" - "):""},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var n;const i=(n=this.schema)==null?void 0:n.returnKey;return i?e[i]:e.id}}},tg=["data-testid","data-testlabel"],ng=["data-testid"],ig={class:"autosuggest__results_message"};function ag(e,n,i,a,o,r){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.disabled?"k-tooltip":"div"),{class:"field-wrap autosuggest","max-width":"300",text:a.t("general.disable_source_scope_change",{scope:r.scope})},{default:t.withCtx(()=>[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:o.idValue,"onUpdate:modelValue":n[0]||(n[0]=l=>o.idValue=l),clearable:"",disabled:e.schema.disabled,"enable-filtering":"","filter-function":()=>!0,items:o.items,loading:o.loading,placeholder:e.schema.placeholder,width:"100%",onChange:r.onSelected,onQueryChange:r.onQueryChange},{"item-template":t.withCtx(({item:l})=>[t.createElementVNode("span",{class:"first-part","data-testid":l.id&&`${l.id}-0`,"data-testlabel":l.label},t.toDisplayString(r.getSuggestionLabel(l).split(" - ")[0]),9,tg),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(l).split(" - ").slice(1),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,class:"field-span","data-testid":l.id&&`${l.id}-${p+1}`||p+1},t.toDisplayString(d),9,ng))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",ig,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Ao=Ce(eg,[["render",ag],["__scopeId","data-v-40a272a2"]]);function og(e){const n=t.ref([]),i=t.ref(null),a=h=>vt(h)?Rt[h]!=null?Rt[h]:(console.warn(`'${h}' is not a validator function!`),null):h,o=t.computed({get(){var h,v;let C;return ye(le(e.schema,"get"))?C=e.schema.get((h=e.model)==null?void 0:h.value):C=le((v=e.model)==null?void 0:v.value,e.schema.model),w(C)},set(h){const v=o;h=S(h),ye(h)?h(h,v):l(h,v)}}),r=h=>{var v;d();const C=(v=e.schema)==null?void 0:v.validator,Y=le(e.formOptions,"validateAsync",!1);let y=[];if(C&&e.schema.readonly!==!0&&e.disabled!==!0){const E=[];Array.isArray(C)?Pe(C,f=>{E.push(a(f))}):E.push(a(C)),Pe(E,f=>{var I,M;if(Y)y.push(f(o.value,e.schema,(I=e.model)==null?void 0:I.value));else{const F=f(o.value,e.schema,(M=e.model)==null?void 0:M.value);F&&ye(F.then)?F.then(V=>{V&&(n.value=n.value.concat(V));const D=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:D,errors:n.value,field:e.schema})}):F&&(y=y.concat(F))}})}const m=E=>{var f,I;let M=[];if(Pe(Ka(E),F=>{Array.isArray(F)&&F.length>0?M=M.concat(F):vt(F)&&M.push(F)}),ye((f=e.schema)==null?void 0:f.onValidated)&&e.schema.onValidated((I=e.model)==null?void 0:I.value,M,e.schema),!h){const F=M.length===0;e.emitValidated&&e.emitValidated({isValid:F,errors:M,field:e.schema})}return E=M,M};return Y?Promise.all(y).then(m):m(y)},s=()=>{ye(i.value)?i.value():i.value=nn(r,le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",500)))},l=(h,v)=>{var C,Y,y;let m=!1;ye(e.schema.set)?(e.schema.set((C=e.model)==null?void 0:C.value,h),m=!0):e.schema.model&&(p(e.schema.model,h),m=!0),m&&(e.emitModelUpdated&&(Y=e.model)!=null&&Y.value&&e.emitModelUpdated({value:h,model:e.schema.model}),ye(e.schema.onChanged)&&e.schema.onChanged((y=e.model)==null?void 0:y.value,h,v,e.schema),le(e.formOptions,"validateAfterChanged",!1)===!0&&(le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",0))>0?s():r()))},d=()=>{n.value.splice(0)},p=(h,v)=>{var C;let Y=h.replace(/\[(\w+)\]/g,".$1");Y=Y.replace(/^\./,"");let y=((C=e.model)==null?void 0:C.value)||{},m=0;const E=Y.split("."),f=E.length;for(;m<f;){const I=E[m];if(m<f-1)y[I]!==void 0||(y[I]={}),y=y[I];else{y[I]=v;return}++m}},u=(h,v=!1)=>{const C=le(e.formOptions,"fieldIdPrefix","");return ei(h,C)+(v?"-"+za():"")},A=h=>`${u(h)}-label`,g=()=>le(e.schema,"fieldClasses",[]),w=h=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(h):h,S=h=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(h):h;return{value:o,clearValidationErrors:d,getFieldID:u,getLabelId:A,getFieldClasses:g,updateModelValue:l}}const mt={useAbstractFields:og},rg={class:"form-field-wrapper"},sg=t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Xe,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:y=>{o("modelUpdated",y.value,y.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{var y;const m=(y=a.schema)==null?void 0:y.inputType.toLowerCase();switch(m){case"string":return"text";case"datetime":return"datetime-local";default:return m||"text"}}),g={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},w=(y,m)=>{var E,f;let I=y;const M=g[A.value]||"",F=Yt.parse(y,M);F&&((E=a.schema)!=null&&E.format?I=Yt.format(F,(f=a.schema)==null?void 0:f.format):I=F.valueOf()),l(I,m)},S=(y,m)=>{ii(y)||(y=NaN),l(y,m)},h=y=>{let m=y;switch(A.value){case"number":case"range":ii(parseFloat(y))&&(m=parseFloat(y));break}u.value=m,l(m,y)},v=y=>{u.value=y,l(y,y)},C=t.ref(null),Y=()=>{var y;ye(C.value)&&((y=C.value)==null||y.flush())};return t.onMounted(()=>{switch(A.value){case"number":case"range":C.value=nn((y,m)=>{S(y,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":C.value=nn((y,m)=>{w(y,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{A.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):A.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):A.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(y,m)=>{const E=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",rg,[t.createVNode(E,t.mergeProps(y.$attrs,{id:t.unref(d)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:A.value==="color"||A.value==="range"?t.unref(u):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(u),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":A.value==="password",type:A.value,width:e.schema.width,onBlur:Y,"onUpdate:modelValue":h}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:v,value:t.unref(u)},null,8,["schema","value"]))])}}}),go=Ce(sg,[["__scopeId","data-v-fe1132bb"]]),lg={name:"FieldMetric",components:{AddIcon:Ye.AddIcon,TrashIcon:Ye.TrashIcon},mixins:[ot],emits:["remove-item"],data(){return{contentVisible:!1}}},cg={key:0,class:"content"};function dg(e,n,i,a,o,r){const s=t.resolveComponent("AddIcon"),l=t.resolveComponent("TrashIcon"),d=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:o.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=p=>o.contentVisible=!o.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(s,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[o.contentVisible?(t.openBlock(),t.createElementBlock("div",cg,[t.renderSlot(e.$slots,"default"),t.createVNode(d,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=p=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(l)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const mo=Ce(lg,[["render",dg]]),ug={mixins:[ot],emits:["modelUpdated"],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let i=0;i<e.length;i++){const a=e[i];n[a]=typeof this.value[a]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const i=this.keyTypes;delete i[e],this.keyTypes=JSON.parse(JSON.stringify(i))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""},updateModel(e,n){this.$emit("modelUpdated",e,n)}}},pg={class:"field-object-container"},Ag={key:1},gg=["id"],mg={key:0},fg=["onUpdate:modelValue"],hg={key:1},yg=["onUpdate:modelValue"],bg={key:2},Eg=["onUpdate:modelValue"],wg=["onClick"];function Cg(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator"),l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",pg,[e.schema.schema?(t.openBlock(),t.createBlock(s,{key:0,model:e.value,options:e.formOptions,schema:e.schema.schema,onModelUpdated:r.updateModel},null,8,["model","options","schema","onModelUpdated"])):(t.openBlock(),t.createElementBlock("div",Ag,[t.createElementVNode("table",{id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("tr",{key:p},[t.createElementVNode("td",null,t.toDisplayString(p),1),o.keyTypes[p]==="string"?(t.openBlock(),t.createElementBlock("td",mg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"text"},null,8,fg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="boolean"?(t.openBlock(),t.createElementBlock("td",hg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"checkbox"},null,8,yg),[[t.vModelCheckbox,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="number"?(t.openBlock(),t.createElementBlock("td",bg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"number"},null,8,Eg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>r.removeElement(p)},null,8,wg)])]))),128))],10,gg),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.newKeyType=d)},n[3]||(n[3]=[t.createElementVNode("option",{value:"string"}," String ",-1),t.createElementVNode("option",{value:"number"}," Number ",-1),t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)]),512),[[t.vModelSelect,o.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=d=>o.newKeyName=d),type:"text"},null,512),[[t.vModelText,o.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...d)=>r.addKey&&r.addKey(...d))})]))])),[[l,o.attributes]])}const fo=Ce(ug,[["render",Cg],["__scopeId","data-v-b7e3dcd7"]]),Bg={components:{TrashIcon:Ye.TrashIcon},mixins:[ot],inject:{autofillSlot:{from:Xe,default:void 0}},emits:["model-updated"],data(){return{newKeyName:""}},computed:{subSchema(){return this.schema.schema&&this.schema.schema.fields[0].schema},subFields(){return!this.subSchema&&this.schema.fields},hasObjectKeys(){return this.value&&Object.keys(this.value).length>0},transformedModel(){return this.subSchema&&this.subSchema.fields.length>=1&&this.subSchema.fields[0].type==="array"?new Proxy(this.model[this.schema.model],{get:(e,n)=>({[this.schema.model]:e[n]}),set:(e,n,i)=>e[n]=i[this.schema.model]}):this.model[this.schema.model]},valueInputType(){var e;return["number","integer"].includes((e=this.schema.values)==null?void 0:e.type)?"number":"text"}},mounted(){this.value||(this.value={});let e=[];this.subSchema?e=this.subSchema.fields:this.subFields&&(e=this.schema.fields[0].schema),this.value=this.transformMapModelValuesToObject(this.model,e,this.schema.model)},methods:{removeElement(e){const n=this.value;delete n[e],this.value={...n}},transformMapModelValuesToObject(e,n,i){let a={};try{a=JSON.parse(JSON.stringify(e??{}))[i]??{}}catch{}return Object.keys(e).map(o=>{const r=o.indexOf(i+"-");if(r>-1&&Array.isArray(n))if(n.length>0){const s=o.split("-").filter(d=>n.find(p=>p.model===d)),l=o.split(`-${s}`)[0].split(`${i}-`)[1];s.length?a[l]={...a[l],[s]:e[o]}:a[o.substring(r+`${i}-`.length)]=e[o]}else a[o.substring(`${i}-`.length)]=e[o];else{const s=o.split("-").filter(d=>d===this.schema.model),l=o.split(`-${s}`)[0].split(`${i}-`)[1];l&&(a[l]=e[o])}return o}),a},addKey(){var e;const n=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",i=((e=this.schema.values)==null?void 0:e.default)??(this.valueInputType==="number"?0:""),a=this.subSchema?n?[""]:{}:i;this.value[this.newKeyName]=a,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},kg=["id"],Ig=["data-testid"],vg={class:"item-wrapper"},Og={class:"index-wrapper"},Mg={key:0},Rg={key:1},Tg=["onUpdate:modelValue","placeholder","type","onInput"],Sg={key:0,class:"hint"},xg={class:"input-item"},Vg=["placeholder"],Ng={key:0,class:"hint"};function Dg(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton"),d=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",vg,[t.createElementVNode("div",Og,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:A=>r.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["onClick"])])]),n[1]||(n[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),r.subSchema?(t.openBlock(),t.createElementBlock("div",Mg,[t.createVNode(d,{model:r.transformedModel[u],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",Rg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":A=>e.value[u]=A,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:r.valueInputType,onInput:A=>r.updateModel(e.value[u],e.model[e.schema.model])},null,40,Tg),[[t.vModelDynamic,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",Sg,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema.fields&&e.schema.fields[0].schema||e.schema.values,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))])),n[2]||(n[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,Ig))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",xg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>o.newKeyName=p),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,Vg),[[t.vModelText,o.newKeyName]]),t.createVNode(l,{appearance:"tertiary","data-testid":"add-key",disabled:!o.newKeyName,onClick:r.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(e.schema.buttonLabel||e.schema.label),1)]),_:1},8,["disabled","onClick"])]),e.schema.hintText?(t.openBlock(),t.createElementBlock("p",Ng,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,kg)}const ho=Ce(Bg,[["render",Dg],["__scopeId","data-v-9c0cacfc"]]),Pg={class:"radio-selection-group"},Gg=t.defineComponent({__name:"FieldRadio",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{updateModelValue:s,value:l,clearValidationErrors:d}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:u=>{o("modelUpdated",u.value,u.model)}});n({clearValidationErrors:d});const p=u=>{let A=u;typeof u=="string"&&(A=u.split(","),a.schema.array||(A=A.toString())),s(A,u)};return(u,A)=>{const g=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Pg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(w,S)=>(t.openBlock(),t.createBlock(g,{id:e.schema.name+"-"+S,key:w.value,modelValue:t.unref(l),"onUpdate:modelValue":A[0]||(A[0]=h=>t.isRef(l)?l.value=h:null),label:w.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":w.value,onChange:p},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),yo=Ce(Gg,[["__scopeId","data-v-09b8afda"]]),bo=t.defineComponent({__name:"FieldSelect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.computed(()=>a.schema.selectOptions||{}),s=h=>Re(h)?null:h,l=t.toRefs(a),{getFieldID:d,clearValidationErrors:p,value:u}=mt.useAbstractFields({model:l.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,emitModelUpdated:h=>{o("modelUpdated",h.value,h.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{const h=a.schema.values;return g(typeof h=="function"?h.apply(this,[a.model,a.schema]):h)}),g=h=>{const v=[];return h.forEach(C=>{v.push({label:S(C),value:w(C),disabled:typeof C=="object"&&C.disabled||void 0,group:typeof C=="object"&&String(C.group||"").toUpperCase()||void 0})}),v},w=h=>{if(Fe(h)){if(r.value&&typeof r.value.value<"u")return h[r.value.value];if(typeof h.id<"u")return String(h.id);throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return h},S=h=>{if(Fe(h)){if(r.value&&typeof r.value.name<"u")return h[r.value.name];if(typeof h.name<"u")return String(h.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(h)};return(h,v)=>{const C=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(C,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":v[0]||(v[0]=Y=>t.isRef(u)?u.value=Y:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:A.value,"kpop-attributes":{"data-testid":`${t.unref(d)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:r.value.hideNoneSelectedText?void 0:r.value.noneSelectedText||"Nothing Selected",required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","class","clearable","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),Lg={name:"FieldArray",components:{FieldArrayItem:uo,FieldArrayMultiItem:po,FieldSelect:bo,FieldMetric:mo,FieldObject:fo,FieldObjectAdvanced:ho,FieldAutoSuggest:Ao,FieldRadio:yo,FieldArrayCardContainer:co,FieldInput:go},mixins:[ot],inject:{autofillSlot:{from:Xe,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,i){var a,o,r;let s;return n&&(s=JSON.parse(JSON.stringify(n)),(r=(o=(a=s.schema)==null?void 0:a.fields)==null?void 0:o.map)==null||r.call(o,l=>(l.id=`${l.id||l.model}-${i}`,l))),{...s,set(l,d){e[i]=d},get(){return e[i]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,i)=>i!==e)},getFieldType(e){return"field-"+e.type},modelUpdated(){this.$emit("refreshModel")},handleInput(e,n){this.value=this.value.map((i,a)=>a===n?e:i)}}},Ug=["id"],jg={key:1},Yg=["onUpdate:modelValue","aria-labelledby","type"],Hg=["onUpdate:modelValue","aria-labelledby"];function Fg(e,n,i,a,o,r){const s=t.resolveComponent("KTextArea"),l=t.resolveComponent("KInput"),d=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,index:u,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",jg,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${u}`,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var A;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[u],"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),autosize:"","character-limit":e.schema.inputAttributes.max,class:e.schema.fieldClasses,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","character-limit","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"||e.schema.inputAttributes.type==="number"?(t.openBlock(),t.createBlock(l,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[u],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:g=>{r.handleInput(g,u)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((A=e.schema.inputAttributes)==null?void 0:A.type)||"text"}),null,16,Yg)),[[t.vModelDynamic,e.value[u]]])]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":A=>e.value[u]=A,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Hg),[[t.vModelText,e.value[u]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:r.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,Ug)):t.createCommentVNode("",!0)}const Kg=Ce(Lg,[["render",Fg],["__scopeId","data-v-a569ac75"]]),zg={class:"form-field-wrapper field-checkbox"},qg=t.defineComponent({__name:"FieldCheckbox",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{getFieldID:s,value:l,clearValidationErrors:d}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:p=>{o("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:d}),(p,u)=>{const A=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",zg,[t.createVNode(A,t.mergeProps(p.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(l),"onUpdate:modelValue":u[0]||(u[0]=g=>t.isRef(l)?l.value=g:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:void 0,name:e.schema.inputName,readonly:e.schema.readonly,required:e.schema.required,width:e.schema.width}),null,16,["id","modelValue","autocomplete","class","disabled","help","name","readonly","required","width"])])}}}),Jg=Ce(qg,[["__scopeId","data-v-6b4ee1cd"]]);var Qg=4;function Eo(e){return tn(e,Qg)}const Xg={class:"wrapper"},Zg=["disabled"],Wg=["id","checked","disabled","onChange","name"],_g=["disabled"],$g={class:"info"},em={class:"dropList"},tm=["id","checked","disabled","onChange","name"];function nm(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Xg,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,Wg),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,Zg)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:o.comboExpanded}]),onClick:n[0]||(n[0]=(...l)=>r.onExpandCombo&&r.onExpandCombo(...l))},[t.createElementVNode("div",$g,t.toDisplayString(r.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",em,[o.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,tm),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,_g))])),[[s,"wrapper"]])}const im={mixins:[ot],data(){return{comboExpanded:!1}},computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},selectedCount(){return this.value?this.value.length:0}},methods:{getInputName(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?ja(this.schema.inputName+"_"+this.getItemValue(e)):ja(this.getItemValue(e))},getItemValue(e){if(Fe(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.value<"u")return e[this.schema.checklistOptions.value];if(typeof e.value<"u")return e.value;throw new Error("`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},getItemName(e){if(Fe(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.name<"u")return e[this.schema.checklistOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},isItemChecked(e){return this.value&&this.value.indexOf(this.getItemValue(e))!==-1},onChanged(e,n){if((Re(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=Eo(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=Eo(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},am=Ce(im,[["render",nm]]),om={name:"FieldKeyValuePairs",components:{TrashIcon:Ye.TrashIcon},mixins:[ot],inject:{autofillSlot:{from:Xe,default:void 0}},data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){var e,n;this.value||(this.value={});const i=((n=this.model)==null?void 0:n[(e=this.schema)==null?void 0:e.model])??{};Object.keys(i).forEach(a=>{this.pairs.push({key:a,value:i[a]})})},methods:{onInput(e,n,i){this.pairs[n][i]=e.target.value},updateValue(){this.value=this.pairs.reduce((e,{key:n,value:i})=>({...e,...n&&i?{[n]:i}:null}),{})},addPair(){this.pairs.push({key:"",value:""})},removePair(e){this.pairs.splice(e,1)}}},rm={class:"key-value-pairs-editor"},sm={class:"pair-item-cell"},lm=["data-testid","placeholder","value","onInput"],cm={class:"pair-item-cell"},dm=["data-testid","placeholder","value","onInput"];function um(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",rm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.pairs,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:"pair-item"},[t.createElementVNode("div",sm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${p}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:d.key,onInput:u=>{r.onInput(u,p,"key")}},null,40,lm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"key"),value:d.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",cm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${p}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:d.value,onInput:u=>{r.onInput(u,p,"value")}},null,40,dm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"value"),value:d.value},null,8,["schema","update","value"]))]),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${p}`,onClick:()=>{r.removePair(p)}},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["data-testid","onClick"])]))),128)),t.createVNode(l,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:r.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const pm=Ce(om,[["render",um],["__scopeId","data-v-70998d5b"]]),Am=t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,i=t.toRefs(n),{getFieldID:a,value:o}=mt.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(r,s)=>{const l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(l,{id:t.unref(a)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)),1)]),_:1},8,["id"])],2)}}}),gm=Ce(Am,[["__scopeId","data-v-d046a15a"]]),mm=t.defineComponent({__name:"FieldMultiselect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRef(a,"model"),{getLabelId:s,getFieldID:l,clearValidationErrors:d,value:p}=mt.useAbstractFields({model:r,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:A=>{o("modelUpdated",A.value,A.model)}});n({clearValidationErrors:d});const u=t.computed(()=>{var A,g;return a.schema.values?a.schema.values:(g=(A=a.schema.elements)==null?void 0:A.one_of)!=null&&g.length?a.schema.elements.one_of.map(w=>({label:String(w),value:String(w)})):[]});return(A,g)=>{const w=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(w,{id:t.unref(l)(e.schema),modelValue:t.unref(p),"onUpdate:modelValue":g[0]||(g[0]=S=>t.isRef(p)?p.value=S:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:u.value,"kpop-attributes":{"data-testid":`${t.unref(l)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","aria-labelledby","class","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),fm={mixins:[ot],emits:["model-updated"],setup(){const{t:e}=We.createI18n("en-us",Mt);return{t:e}},data(){return{checkedGroup:null,fieldModel:{...this.model},fieldSchema:[],scope:"scope"}},watch:{checkedGroup:{handler(e,n){if(n===null){this.fieldModel={...this.model};return}const i=this.schema.fields[e].fields,a=this.schema.fields[n].fields;a&&a.forEach(o=>this.updateModel("",o.model)),i&&i.forEach(o=>this.updateModel(this.fieldModel[o.model],o.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{var a;this.model[i.model]&&(this.checkedGroup=n,this.fieldSchema.push(i.model),this.scope=(a=i.label)==null?void 0:a.toLowerCase())})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},hm={class:"selection-group"},ym={class:"form-group horizontal-radios"},bm={class:"radio-group"},Em=["disabled","value"],wm={class:"control-help"},Cm={class:"option-field"},Bm={class:"option-field-container"};function km(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",hm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.$props.disabled?"k-tooltip":"div"),{"max-width":"300",text:a.t("general.disable_global_radio",{scope:o.scope})},{default:t.withCtx(()=>[t.createElementVNode("div",ym,[t.createElementVNode("div",bm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(l,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:t.normalizeClass(["option-group",{"radio-disabled":e.$props.disabled}])},[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${l.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>o.checkedGroup=p),class:"k-input",disabled:e.$props.disabled,type:"radio",value:d},null,8,Em),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",wm,t.toDisplayString(l.description),1)],2)],2))),128))])])]),_:1},8,["text"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(l,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:"option-group"},[t.withDirectives(t.createElementVNode("div",Cm,[t.createElementVNode("div",Bm,[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:{fields:l.fields},onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,l.fields&&o.checkedGroup===d]])]))),128))])}const Im=Ce(fm,[["render",km],["__scopeId","data-v-56d57edb"]]),vm={class:"form-field-wrapper"},Om=t.defineComponent({__name:"FieldSwitch",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,{t:r}=We.createI18n("en-us",Mt),s=g=>g!=null&&a.schema.valueOn?g===a.schema.valueOn:g,l=g=>g!=null&&a.schema.valueOn?g?a.schema.valueOn:a.schema.valueOff:g,d=t.toRefs(a),{getFieldID:p,value:u,clearValidationErrors:A}=mt.useAbstractFields({model:d.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,formatValueToModel:l,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});return n({clearValidationErrors:A}),(g,w)=>{const S=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",vm,[t.createVNode(S,{id:t.unref(p)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":w[0]||(w[0]=h=>t.isRef(u)?u.value=h:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(u)?e.schema.textOn||t.unref(r)("vfg.labels.on"):e.schema.textOff||t.unref(r)("vfg.labels.off"),"label-attributes":{info:e.schema.help},name:e.schema.inputName,required:e.schema.required||void 0},null,8,["id","modelValue","autocomplete","class","disabled","label","label-attributes","name","required"])])}}}),Mm={class:"field-textarea"},Rm=t.defineComponent({__name:"FieldTextArea",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Xe,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=mt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});n({clearValidationErrors:p});const A=g=>{u.value=g,l(g,g)};return(g,w)=>{const S=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",Mm,[t.createVNode(S,t.mergeProps(g.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":w[0]||(w[0]=h=>t.isRef(u)?u.value=h:null),autosize:"","character-limit":e.schema.max,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint||void 0,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","character-limit","class","disabled","help","minlength","name","placeholder","readonly","required","rows"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:A,value:t.unref(u)},null,8,["schema","value"]))])}}}),Tm=Ce(Rm,[["__scopeId","data-v-0e146fba"]]),Sm=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:HA,FieldArray:Kg,FieldArrayCardContainer:co,FieldArrayItem:uo,FieldArrayMultiItem:po,FieldAutoSuggest:Ao,FieldCheckbox:Jg,FieldChecklist:am,FieldInput:go,FieldKeyValuePairs:pm,FieldLabel:gm,FieldMetric:mo,FieldMultiselect:mm,FieldObject:fo,FieldObjectAdvanced:ho,FieldRadio:yo,FieldSelect:bo,FieldSelectionGroup:Im,FieldSwitch:Om,FieldTextArea:Tm},Symbol.toStringTag,{value:"Module"})),xm={name:"FormGroup",components:Sm,mixins:[Ya],inject:{"vfg-array-item-index":{default:void 0}},props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated","refreshModel"],data(){return{child:t.ref()}},computed:{schema(){var e;if(!((e=this.field)!=null&&e.schema)||!Array.isArray(this.field.schema.fields))return this.field;const n=this["vfg-array-item-index"];return typeof n!="number"||Number.isNaN(n)?this.field:{...this.field,schema:{...this.field.schema,fields:this.field.schema.fields.map(i=>({...i,...i.id?{id:`${i.id}-${n}`}:void 0}))}}}},methods:{fieldTypeHasLabel(e){if(Re(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=le(this.options,"fieldIdPrefix","");return ei(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return le(e,"type","button")},onFieldValidated(e,n,i){this.$emit("validated",e,n,i)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,i){return e.onclick.call(this,this.model,n,i,this)},fieldHint(e){return ye(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},Vm=["innerHTML"],Nm={class:"icon-wrapper"},Dm=["innerHTML"],Pm={key:0,class:"link-wrapper"},Gm={class:"field-wrap"},Lm={key:0,class:"buttons"},Um=["type","onClick","textContent"],jm=["innerHTML"],Ym={key:2,class:"errors help-block"},Hm=["innerHTML"];function Fm(e,n,i,a,o,r){const s=t.resolveComponent("KExternalLink"),l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[r.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(l,{key:0,"aria-describedby":i.field.help?r.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:r.getFieldID(i.field),info:!i.options.helpAsHtml&&i.field.help?i.field.help:void 0,"tooltip-attributes":i.field.help?{maxWidth:"300",placement:"top",tooltipId:r.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",Nm,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,Dm)]),i.field.link?(t.openBlock(),t.createElementBlock("div",Pm,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>n[0]||(n[0]=[t.createElementVNode("span",{class:"section-header"},"More info",-1)])),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[i.options.helpAsHtml&&i.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.field.help},null,8,Vm)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",Gm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&r.getFieldType(i.field)==="field-input"?r.fieldHint(i.field):void 0,model:i.model,schema:r.schema,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onRefreshModel","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",Lm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(d,p)=>(t.openBlock(),t.createElementBlock("button",{key:p,class:t.normalizeClass(d.classes),type:r.getButtonType(d),onClick:u=>r.buttonClickHandler(d,i.field,u),textContent:t.toDisplayString(d.label)},null,10,Um))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&r.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:r.fieldHint(i.field)},null,8,jm)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Ym,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,innerHTML:d},null,8,Hm))),128))])):t.createCommentVNode("",!0)],2)}const Km=Ce(xm,[["render",Fm],["__scopeId","data-v-0cb2e226"]]),zm={name:"FormGenerator",components:{formGroup:Km},mixins:[Ya],inject:{autofillSlot:{from:Xe,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[Xe]:(e=this.$slots)==null?void 0:e[pt]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated","refreshModel"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Pe(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Pe(this.schema.groups.slice(0),n=>{e.push(n)}),e}},watch:{model:{deep:!0,handler(e,n){n!==e&&e!=null&&this.$nextTick(()=>{this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors()})}}},mounted(){this.$nextTick(()=>{this.model&&(this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors())})},methods:{fieldVisible(e){return ye(e.visible)?e.visible.call(this,this.model,e,this):Re(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(o=>o.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&Pe(n,o=>{this.errors.push({field:i.schema,error:o})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=le(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Pe(this.$refs.children,o=>{ye(o.validate)&&(n.push(o.$refs.child),i.push(o.$refs.child.validate(!0)))});const a=o=>{const r=[];Pe(o,(l,d)=>{Array.isArray(l)&&l.length>0&&Pe(l,p=>{r.push({field:n[d].schema,error:p})})}),this.errors=r;const s=r.length===0;return this.$emit("validated",s,r,this),e?r:s};return e?Promise.all(i).then(a):a(i)},clearValidationErrors(){this.errors.splice(0),Pe(this.$refs.children,e=>{e.clearValidationErrors()})}}},qm={key:0,class:"vue-form-generator"},Jm={key:0};function Qm(e,n,i,a,o,r){const s=t.resolveComponent("form-group"),l=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",qm,[i.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fields,d=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:d.model},[r.fieldVisible(d)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:d,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(d,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${p}`},[d.collapsible!==void 0&&d.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:d.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,A,g,w;return[(u=d.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(A=d.slots)==null?void 0:A.beforeContent,{key:0}):t.createCommentVNode("",!0),d.fields.length===0&&(g=d.slots)!=null&&g.emptyState?t.renderSlot(e.$slots,(w=d.slots)==null?void 0:w.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),d.collapsible!==!0&&d.collapsible.nestedCollapsible&&d.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${p}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${p}-nested`]??!0?d.collapsible.nestedCollapsible.triggerLabel.expand:d.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":S=>o.collapseStates[`group-${p}-nested`]=S},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.collapsible.nestedCollapsible.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[d.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[d.legend?(t.openBlock(),t.createElementBlock("legend",Jm,t.toDisplayString(d.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[r.fieldVisible(u)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:u,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Le=Ce(zm,[["render",Qm]]),wo=new Set(["config-client_id","config-client_secret","config-issuer"]),Co=new Set(["config-scopes_claim","config-scopes_required","config-audience_claim","config-audience_required","config-roles_claim","config-roles_required","config-groups_claim","config-groups_required","config-authenticated_groups_claim"]),Xm={name:"OIDCForm",components:{VueFormGenerator:Le},provide(){var e;return{[Xe]:(e=this.$slots)==null?void 0:e[pt]}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},data(){return{init:!1,authMethods:[],sessionManagement:!1,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")};const n=this.formSchema.fields.reduce((i,a)=>(i[a.model]=a,i),{});this.commonFieldsSchema={fields:Array.from(wo).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.authFieldsSchema={fields:Array.from(Co).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.advancedFieldsSchema={fields:this.formSchema.fields.filter(i=>i.model.startsWith("config")&&i.model!=="config-auth_methods"&&!wo.has(i.model)&&!Co.has(i.model)||i.model==="tags").reduce((i,a)=>{var o,r,s,l;switch(a.model){case"config-client_jwk":{if(Array.isArray((r=(o=a.items)==null?void 0:o.schema)==null?void 0:r.fields))for(const d of a.items.schema.fields)d.label=d.model;i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record",newElementButtonLabel:"+ Add Client JWK",...Array.isArray((l=(s=a.items)==null?void 0:s.schema)==null?void 0:l.fields)&&a.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-session_redis_cluster_nodes":{i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record",newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(a)}return i},[])},this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const a of i.fields){const o=(e=n[a.model])==null?void 0:e.help;a.help===void 0&&typeof o=="string"&&(a.help=o)}}},getAuthMethodsValue(e,n){const i=[];for(let a=0;a<this.authMethods.length;a++)this.authMethods[a].prop&&this.authMethods[a].value!==e&&i.push(this.authMethods[a].value);return this.sessionManagement&&e&&i.push("session"),n&&(e?i.push(e):i.push("session")),i},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()}}},Zm={class:"general-settings"},Wm={class:"link-wrapper"},_m={class:"auth-method-container"},$m={class:"general-settings"},ef={class:"link-wrapper"},tf={class:"general-settings"},nf={class:"link-wrapper"};function af(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel"),p=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),A=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:o.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(A,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Zm,[t.createElementVNode("div",Wm,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>n[1]||(n[1]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])),_:1})]),n[3]||(n[3]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(d,null,{default:t.withCtx(()=>n[2]||(n[2]=[t.createTextVNode("Auth Methods")])),_:1}),t.createElementVNode("div",_m,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":w=>g.prop=w,onChange:w=>r.handleUpdate(w,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>o.sessionManagement=g),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",$m,[t.createElementVNode("div",ef,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>n[4]||(n[4]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])),_:1})]),n[5]||(n[5]=t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.authFieldsSchema,onModelUpdated:i.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",tf,[t.createElementVNode("div",nf,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>n[6]||(n[6]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])),_:1})]),n[7]||(n[7]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const of=Ce(Xm,[["render",af],["__scopeId","data-v-bb72c68e"]]),rf=t.defineComponent({__name:"PostFunction",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const{t:i,te:a}=We.createI18n("en-us",Mt),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`post-function.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="post-function-array-item-container",d.fieldItemsClasses="post-function-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),sf=Ce(rf,[["__scopeId","data-v-f54f37ae"]]),lf=t.defineComponent({__name:"ExitTransformer",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const{t:i,te:a}=We.createI18n("en-us",Mt),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`exit-transformer.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="exit-transformer-array-item-container",d.fieldItemsClasses="exit-transformer-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),cf=Ce(lf,[["__scopeId","data-v-0d5c541f"]]),df={fields:[{inputType:"text",label:"Config.Account Email",model:"config-account_email",required:!0,type:"input"},{inputType:"text",label:"Config.Account Key.Key Id",model:"config-account_key-key_id",required:!0,type:"input"},{type:"input",inputType:"text",valueType:"string",label:"Config.Account Key.Key Set",model:"config-account_key-key_set",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",label:"Config.Allow Any Domain",model:"config-allow_any_domain",order:0,disabled:!1}]},uf={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",model:"config-tos_accepted",label:"Config.Tos Accepted",order:0,disabled:!1}]},pf={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_hmac_key",label:"Config.Eab Hmac Key",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_kid",label:"Config.Eab Kid",order:0,disabled:!1}]},Af={class:"general-settings"},gf={class:"sub-form"},mf={class:"general-settings"},ff={class:"sub-form"},hf={class:"general-settings"},yf=t.defineComponent({__name:"ACMEForm",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const i=e,a=t.ref("zeroSsl"),o=t.ref("shm"),r=t.computed(()=>{var f;const I={};if((f=i.formSchema)!=null&&f.fields)for(const M of i.formSchema.fields)I[M.model]=M;return I}),s=t.computed(()=>{var f;const I=at(df);for(const M of I.fields){const F=(f=r.value[M.model])==null?void 0:f.help;M.help===void 0&&typeof F=="string"&&(M.help=F)}return I}),l=t.computed(()=>{var f;const I=at(uf);for(const M of I.fields){const F=(f=r.value[M.model])==null?void 0:f.help;M.help===void 0&&typeof F=="string"&&(M.help=F)}return I}),d=t.computed(()=>{var f;const I=at(pf);for(const M of I.fields){const F=(f=r.value[M.model])==null?void 0:f.help;M.help===void 0&&typeof F=="string"&&(M.help=F)}return I}),p=t.computed(()=>({fields:i.formSchema.fields.filter(f=>!f.model.startsWith("config")&&f.model!=="tags")})),u=t.computed(()=>({fields:s.value.fields.filter(f=>!l.value.fields.some(I=>I.model===f.model)&&!d.value.fields.some(I=>I.model===f.model))})),A=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage")&&!f.model.startsWith("config-storage_config-consul")&&!f.model.startsWith("config-storage_config-redis")&&!f.model.startsWith("config-storage_config-shm")&&!f.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-consul"))})),w=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-redis"))})),S=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-shm"))})),h=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-vault"))})),v=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config")&&!u.value.fields.filter(I=>I.model===f.model).length&&!A.value.fields.filter(I=>I.model===f.model).length||f.model==="tags")})),C=t.computed(()=>i.formModel.id&&i.isEditing||!i.isEditing),Y=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],y=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{a.value==="zeroSsl"&&(i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const m=f=>{a.value=f.value,(f.value==="zeroSsl"||f.value==="other")&&(f.value==="zeroSsl"?i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":i.formModel["config-api_uri"]="https://acme.example.com/",i.formModel["config-tos_accepted"]=!1),f.value==="letsEncrypt"&&(i.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",i.formModel["config-eab_hmac_key"]="",i.formModel["config-eab_kid"]=""),i.onModelUpdated()},E=(f,I)=>{I==="config-storage"&&(o.value=f),i.onModelUpdated()};return(f,I)=>{const M=t.resolveComponent("KSelect"),F=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Le,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(F,{tabs:Y},{general:t.withCtx(()=>[t.createElementVNode("div",Af,[I[0]||(I[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),I[1]||(I[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),C.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),I[2]||(I[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(M,{class:"issuer-select",items:y,label:"Issuer",onChange:m}),t.createElementVNode("div",gf,[a.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:l.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="zeroSsl"||a.value==="other"?(t.openBlock(),t.createBlock(Le,{key:1,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",mf,[I[3]||(I[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),I[4]||(I[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),C.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:A.value,onModelUpdated:E},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",ff,[o.value==="consul"?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Le,{key:1,model:e.formModel,options:e.formOptions,schema:w.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Le,{key:2,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Le,{key:3,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",hf,[I[5]||(I[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),I[6]||(I[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),C.value?(t.openBlock(),t.createBlock(Le,{key:0,model:e.formModel,options:e.formOptions,schema:v.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),bf=Ce(yf,[["__scopeId","data-v-07cecf5b"]]),Ef={class:"rla-form-basic-fields"},wf={class:"rla-form-request-limits-subtitle"},Cf={class:"rla-form-request-limits-content"},Bf={class:"rla-form-window-type"},kf=["innerHTML"],If={class:"rla-form-window-type-radios"},vf={class:"rla-form-request-limits-items"},Of={class:"rla-form-request-limits-row"},Mf=["id"],Rf={class:"rla-form-request-limits-actions"},Tf={key:0,class:"rla-form-request-limits-examples"},Sf={class:"rla-form-request-limits-examples-badges"},xf=["innerHTML"],Vf={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Nf=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{type:Boolean}},setup(e){var n;t.provide(Xe,(n=t.useSlots())==null?void 0:n[pt]);const i={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
67
67
|
If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
|
|
68
|
-
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`,config:{limit:500,window_size:3600}}]},a=new Set(["selectionGroup","enabled",...["identifier","limit","window_size","error_code","error_message"].map(V=>`config-${V}`)]),o=V=>V===void 0?!1:a.has(V),{t:r}=We.createI18n("en-us",Mt),s=e,l=t.computed(()=>{var V,D,K;const q=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(_=>_.type==="selectionGroup"&&_.model==="selectionGroup");return{fields:[(K=s.formSchema)==null?void 0:K.fields.find(_=>_.model==="enabled"),q].filter(Boolean)}}),d=t.computed(()=>{var V,D;const K=((D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.filter(T=>!o(T.model)))??[],q=[],_=[],te=[];let z=!1;for(const T of K){const N=T.model;if(N!==void 0){if(N.startsWith("config-redis-")){(T.model==="config-redis-cluster_addresses"||T.model==="config-redis-sentinel_addresses")&&(T.inputAttributes.help=r("rla.redis.address_example")),_.push(T);continue}z?te.push(T):q.push(T),T.model==="config-strategy"&&(z=!0)}}return{endsWithStrategy:{fields:q},redis:{fields:_},afterStrategy:{fields:te}}}),p=t.computed(()=>{const V=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,V)?i[V]:[]}),u=t.computed(()=>{var V,D;return(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(K=>K.model==="config-identifier")}),A=t.computed(()=>{var V,D,K;return(((K=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(q=>q.model==="config-identifier"))==null?void 0:K.values)??[]).map(q=>({label:r(`rla.identifiers.options.${q}`),value:q}))}),g=t.ref(),w=t.ref(!0),S=t.computed(()=>{var V,D,K;return s.formModel["config-window_type"]??((K=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(q=>q.model==="config-window_type"))==null?void 0:K.default)}),h=t.computed(()=>{var V,D,K,q,_,te;const z=(K=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(T=>T.model==="config-window_type"))==null?void 0:K.default;return(((te=(_=(q=s.formSchema)==null?void 0:q.fields)==null?void 0:_.find(T=>T.model==="config-window_type"))==null?void 0:te.values)??[]).sort((T,N)=>T===z?-1:N===z?1:0)}),v=t.computed(()=>{var V;const D=(V=s.formModel["config-limit"])==null?void 0:V.map((K,q)=>{var _,te;return{limit:K,windowSize:(te=(_=s.formModel)==null?void 0:_["config-window_size"])==null?void 0:te[q]}});return!Array.isArray(D)||D.length===0?[{limit:void 0,windowSize:void 0}]:D}),C=t.computed(()=>{var V,D,K,q;return((V=s.formModel)==null?void 0:V["config-identifier"])??((q=(K=(D=s.formSchema)==null?void 0:D.fields)==null?void 0:K.find(_=>_.model==="config-identifier"))==null?void 0:q.default)}),Y=t.computed(()=>{var V,D,K,q;return((V=s.formModel)==null?void 0:V["config-error_code"])??((q=(K=(D=s.formSchema)==null?void 0:D.fields)==null?void 0:K.find(_=>_.model==="config-error_code"))==null?void 0:q.default)}),y=t.computed(()=>{var V,D,K,q;return((V=s.formModel)==null?void 0:V["config-error_message"])??((q=(K=(D=s.formSchema)==null?void 0:D.fields)==null?void 0:K.find(_=>_.model==="config-error_message"))==null?void 0:q.default)}),m=(V,D)=>{if(D===g.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{g.value=void 0});return}s.onModelUpdated([V.config.limit],"config-limit"),s.onModelUpdated([V.config.window_size],"config-window_size"),t.nextTick(()=>{g.value=D})},E=V=>{g.value!==void 0&&(g.value=void 0),V!==null&&s.onModelUpdated(V.toString(),"config-window_type")},f=(V,D)=>{var K;g.value!==void 0&&(g.value=void 0);const q=at(((K=s.formModel)==null?void 0:K["config-limit"])??[]);q[V]=D,s.onModelUpdated(q,"config-limit")},I=(V,D)=>{var K;g.value!==void 0&&(g.value=void 0);const q=at(((K=s.formModel)==null?void 0:K["config-window_size"])??[]);q[V]=D,s.onModelUpdated(q,"config-window_size")},M=V=>{var D,K;g.value!==void 0&&(g.value=void 0);const q=at(((D=s.formModel)==null?void 0:D["config-limit"])??[]),_=at(((K=s.formModel)==null?void 0:K["config-window_size"])??[]);q.length===0&&q.push(void 0),_.length===0&&_.push(void 0),q.splice(V+1,0,void 0),_.splice(V+1,0,void 0),s.onModelUpdated(q,"config-limit"),s.onModelUpdated(_,"config-window_size")},F=V=>{var D,K;if(v.value.length>1){g.value!==void 0&&(g.value=void 0);const q=at(((D=s.formModel)==null?void 0:D["config-limit"])??[]),_=at(((K=s.formModel)==null?void 0:K["config-window_size"])??[]);q.length===0&&q.push(void 0),_.length===0&&_.push(void 0),q.splice(V,1),_.splice(V,1),s.onModelUpdated(q,"config-limit"),s.onModelUpdated(_,"config-window_size")}};return(V,D)=>{const K=t.resolveComponent("VueFormGenerator"),q=t.resolveComponent("KLabel"),_=t.resolveComponent("KRadio"),te=t.resolveComponent("KInput"),z=t.resolveComponent("KButton"),T=t.resolveComponent("KBadge"),N=t.resolveComponent("KTooltip"),H=t.resolveComponent("KCard"),B=t.resolveComponent("KSelect"),k=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Ef,[t.createVNode(K,{model:V.formModel,options:V.formOptions,schema:l.value,onModelUpdated:D[0]||(D[0]=(R,$)=>V.onModelUpdated(R,$))},null,8,["model","options","schema"]),t.createVNode(H,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(q,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",wf,t.toDisplayString(t.unref(r)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Cf,[t.createElementVNode("div",Bf,[t.createVNode(q,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(r)("rla.window_type.help")},null,8,kf)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",If,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,R=>(t.openBlock(),t.createBlock(_,{key:`window-type-${R}`,"model-value":S.value,name:R,"selected-value":R,"onUpdate:modelValue":E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`rla.window_type.options.${R}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",vf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v.value,(R,$)=>(t.openBlock(),t.createElementBlock("div",{key:$.toString()},[t.createVNode(q,{for:`rla-form-request-limits-item-${$}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.label_index",{index:$+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Of,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${$}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(te,{"model-value":R.limit&&R.limit.toString(),placeholder:t.unref(r)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":ie=>f($,Number.parseInt(ie))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.interval_determiner")),1),t.createVNode(te,{"model-value":R.windowSize&&R.windowSize.toString(),placeholder:t.unref(r)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":ie=>I($,Number.parseInt(ie))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.seconds")),1)],8,Mf),t.createElementVNode("div",Rf,[t.createVNode(z,{appearance:"tertiary",disabled:v.value.length<=1,onClick:()=>F($)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(z,{appearance:"tertiary",onClick:()=>M($)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",Tf,[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Sf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(R,$)=>(t.openBlock(),t.createBlock(N,{key:`use-case-${$}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(R.description),1),D[9]||(D[9]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.label"))+": "+t.toDisplayString(R.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.time_interval"))+": "+t.toDisplayString(R.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(T,{appearance:g.value===`${S.value}-${$}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>m(R,`${S.value}-${$}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(R.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(B,{modelValue:C.value,"onUpdate:modelValue":D[1]||(D[1]=R=>C.value=R),class:"rla-form-identifiers",items:A.value,label:t.unref(r)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:D[2]||(D[2]=R=>s.onModelUpdated(R.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:u.value&&u.value.help},null,8,xf)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(q,{for:"rla-form-error-legend",info:t.unref(r)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Vf,[t.createVNode(te,{class:"input-error-code","model-value":Y.value&&Y.value.toString(),placeholder:t.unref(r)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":D[3]||(D[3]=R=>V.onModelUpdated(Number.parseInt(R),"config-error_code"))},null,8,["model-value","placeholder"]),D[10]||(D[10]=t.createElementVNode("div",null,":",-1)),t.createVNode(te,{"model-value":y.value,placeholder:t.unref(r)("rla.error_message.message_placeholder"),"onUpdate:modelValue":D[4]||(D[4]=R=>V.onModelUpdated(R,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(k,{modelValue:w.value,"onUpdate:modelValue":D[8]||(D[8]=R=>w.value=R),"trigger-label":t.unref(r)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(K,{model:V.formModel,options:V.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:D[5]||(D[5]=(R,$)=>V.onModelUpdated(R,$))},null,8,["model","options","schema"]),V.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(H,{key:0,class:"rla-form-redis-card",title:t.unref(r)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(K,{model:V.formModel,options:V.formOptions,schema:d.value.redis,onModelUpdated:D[6]||(D[6]=(R,$)=>V.onModelUpdated(R,$))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(K,{class:t.normalizeClass({"rla-last-vfg":V.formModel["config-strategy"]!=="redis"}),model:V.formModel,options:V.formOptions,schema:d.value.afterStrategy,onModelUpdated:D[7]||(D[7]=(R,$)=>V.onModelUpdated(R,$))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),Df=we(Nf,[["__scopeId","data-v-e9e76a93"]]),Pf=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:bf,ExitTransformer:cf,OIDCForm:of,PostFunction:sf,RLAForm:Df},Symbol.toStringTag,{value:"Module"})),ri=["array","metric","advanced","selectionGroup","object-advanced"],Bo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Ht={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Gf={"config-prompts-prepend":{...Ht,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Ht,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Lf={"config-templates":{...Ht,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},Uf={shamefullyTransformPayload:({originalModel:e,model:n,payload:i,schema:a})=>{const o=s=>{var l;return(l=a[s])!=null&&l.required&&n[s]?!0:e[s]===n[s]?!1:e[s]===null?n[s]!==""&&!Number.isNaN(n[s]):!0},r=s=>Object.keys(e).some(l=>l.startsWith(s)&&o(l));r("config-embeddings")||(i.config.embeddings=null),r("config-vectordb")||(i.config.vectordb=null)}},jf={"config-llm_providers":{...Ht,newElementButtonLabel:"+ Add Provider",items:{type:"object",schema:{fields:[{label:"Window Size",model:"window_size",help:"Window size to apply a limit to (defined in seconds)",type:"input",required:!0,inputType:"number"},{label:"Name",model:"name",help:"The llm providers.",type:"select",required:!0,values:["anthropic","azure","bedrock","cohere","gemini","llama2","mistral","openai","requestPrompt"]},{label:"Limit",model:"limit",help:"Limit applied to the llm provider.",type:"input",required:!0,inputType:"number"}]}}}},Yf={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:Pt.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},Me={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Rn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Hf={"config-metrics":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Ff={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Kf={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},zf={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},qf={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Jf={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ko=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Pt.fields.arrayItems({newElementButtonLabel:"Add"})}),Jf),Tn={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},Qf={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},Xf=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:Pt.fields.arrayItems({newElementButtonLabel:"Add"})}),Qf),Io={"config-add-json":{...Me,label:"Config.Add.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Me,label:"Config.Append.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Me,label:"Config.Remove.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Me,label:"Config.Rename.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Me,label:"Config.Replace.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}}},Zf={...Io,"config-allow-json":{...Me,label:"Config.Allow.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Me,label:"Config.Transform.Functions",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Me,label:"Config.Transform.Json",inputAttributes:{...Me.inputAttributes,type:"textarea",max:!1}}},Wf={"config-rules":{...Ht,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},_f={"config-session_redis_cluster_nodes":{...Ht,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},$f={"config-metrics":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},eh={"config-metrics":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},th={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},nh={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},ih={"config-static_tags":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},ah=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},vo=(e,n)=>(e.order??0)-(n.order??0),Oo=(e,n)=>ah(e,n)||vo(e,n)||e.model.localeCompare(n.model),Ie={useI18n:fn,usePluginMetaData:Dl,usePluginHelpers:Gi,useSchemas:e=>{const{capitalize:n}=j.useStringHelpers(),{convertToDotNotation:i}=Gi(),{i18n:{t:a}}=fn(),o={"application-registration":{overwriteDefault:!0,formSchema:{...Yf}},datadog:{...Hf},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...$f},"statsd-advanced":{...eh},"route-by-header":{...Wf},"ai-prompt-decorator":{...Gf},"ai-prompt-template":{...Lf},"ai-proxy-advanced":{...Uf},"ai-rate-limiting-advanced":{...jf},"vault-auth":{...nh},"oas-validation":{...qf},mocking:{...zf},"rate-limiting":{...Tn},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Tn["config-consumer_groups"]}:{...Tn},"graphql-rate-limiting-advanced":{...Ff},"injection-protection":{...Kf},"response-ratelimiting":{...Tn},"pre-function":{...ko},"post-function":{...ko},"request-transformer-advanced":{...Xf},"response-transformer":{...Io},"response-transformer-advanced":{...Zf},zipkin:{...ih},"upstream-oauth":{...th},saml:{..._f}},r=()=>["created_at","updated_at","id"],s=(m,E,f)=>{let I={};(E||m)&&(I=E||(m.fields?m.fields:m));const M=r().concat(m.blacklist?m.blacklist:[]),F=Object.keys(I).filter(te=>!M.includes(te)),V=F.indexOf("comparator");V>-1&&F.splice(V,1);let D={fields:[]};const K={};F.forEach(te=>{d(I[te],te,I,K,D,f)});const q=K.name,_=_e[q];if(Bo(q)||_!=null&&_.useLegacyForm||e!=null&&e.credential)D.fields.sort((te,z)=>(te.order=te.order||0,z.order=z.order||0,te.order-z.order));else{const te=[],z=[],T=[],N={};if(_!=null&&_.fieldRules){const k=[..._.fieldRules.atLeastOneOf??[],..._.fieldRules.onlyOneOf??[],..._.fieldRules.mutuallyRequired??[]];if(_.fieldRules.onlyOneOfMutuallyRequired)for(const R of _.fieldRules.onlyOneOfMutuallyRequired)k.push(...R);for(const R of k)for(const $ of R)N[$.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const k of D.fields){if(k.pinned){te.push(k);continue}if(k.required||N[k.model]!==void 0){N[k.model]===!1&&(N[k.model]=!0),z.push(k);continue}T.push(k)}const H=Object.entries(N).filter(([,k])=>!k).map(([k])=>k.replace(/-/g,".").replace(/_/g,"-"));H.length>0&&console.warn(`Unknown checked fields for plugin ${q}: ${H.join(", ")}`);const B=[];te.length>0&&B.push({fields:te.sort(vo)}),(z.length>0||T.length>0)&&B.push({fields:z.sort(Oo),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:T.sort(Oo),triggerLabel:{expand:a("plugins.form.grouping.advanced_parameters.view"),collapse:a("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),D={groups:B}}return{schema:D,model:K,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},l=m=>Array.isArray(m.default)||m.default!=null&&typeof m.default!="object"&&m.default!=="function",d=(m,E,f,I,M,F)=>{const V=l(m);return I[E]=V?m.default:null,m.id=E,m.model=E,m.fields&&m.type==="record"?u(m,E,f,I,M,F):(f[E]=m,y(m,I),F&&F[E]&&p(f[E],F[E]),M.fields.push(m)),f},p=(m,E)=>(E&&(Object.assign(m,E),E.label&&(m.label=E.label)),m),u=(m,E,f,I,M,F)=>{m.fields.forEach(V=>{Object.keys(V).forEach(D=>{const K=V[D];f=d(K,E+"-"+D,f,I,M,F)})})},A=(m,E)=>{m.type="input",m.inputType="hidden",m.styleClasses="kong-form-hidden-field-wrapper";const f=e==null?void 0:e.entityId;E[m.model]=f?{id:f}:null},g=m=>{m.type="input",m.inputType="number",m.between&&m.between.length===2&&(m.min=m.between[0],m.max=m.between[1])},w=m=>{Object.prototype.hasOwnProperty.call(m,"one_of")?(m.type="select",m.values=m.one_of,m.selectOptions={hideNoneSelectedText:!0}):(m.type="input",m.inputType="text")},S=m=>{m.type="checkbox",m.default=!0,m.required=!1},h=m=>{if(m.type="object-advanced",m.values.type==="array"){const{type:E}=m.values.elements||{};m.schema={fields:[{schema:{fields:[{...Me,model:m.model,valueArrayType:E==="integer"?"number":E||"string",inputAttributes:{...Me.inputAttributes,type:E==="integer"?"number":"text",inputMode:E==="integer"?"numeric":"text"}}]}}]}}else m.values.fields&&(m.schema={fields:[{type:"object",model:"object",schema:{fields:m.values.fields.map(E=>{const f=Object.keys(E)[0];return{model:f,type:"input",label:n(f),placeholder:f,inputType:E[f].type}})}}]})},v=m=>m.fields.reduce((E,f)=>(f.fields&&f.fields.forEach(I=>{E[I.model]=I}),f.model&&(E[f.model]=f),E),{}),C=(m,E)=>{if(!ri.includes(m.model))return;const f=v(m);ri.forEach(I=>{Object.keys(f).forEach(M=>{const F=l(f[M]);E[M]=F?f[M].default:null}),delete E[I]})},Y=(m,E)=>m.inputType==="hidden"?"":i(n(m.label||E.replace(/_/g," "))),y=(m,E)=>{switch(C(m,E),m.type){case"foreign":A(m,E);break;case"number":g(m),m.attributes={step:"any"};break;case"integer":g(m);break;case"string":w(m);break;case"boolean":S(m);break;case"map":h(m);break}m.inputType==="foreign"&&A(m,E),m.label=Y(m,m.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:o,typedefs:Pt}}},xe="/v2/control-planes/{controlPlaneId}/core-entities",Ve="/{workspace}",ve={list:{konnect:{all:`${xe}/plugins`,forEntity:`${xe}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${xe}/v1/available-plugins`,streamingCustomPlugins:`${xe}/custom-plugins`,schemaCustomPluginItem:`${xe}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${xe}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Ve}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${xe}/plugins`,forEntity:`${xe}/{entityType}/{entityId}/plugins`},edit:{all:`${xe}/plugins/{id}`,forEntity:`${xe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${xe}/{resourceEndpoint}`,edit:`${xe}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${xe}/v1/schemas/json/plugin/validate`,entityGetOne:`${xe}/{entity}/{id}`,entityGetAll:`${xe}/{entity}?size=1000`},kongManager:{create:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`},edit:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ve}/schemas/plugins/{plugin}`,credential:{create:`${Ve}/{resourceEndpoint}`,edit:`${Ve}/{resourceEndpoint}/{id}`},credentialSchema:`${Ve}/schemas/{plugin}`,validate:`${Ve}/schemas/plugins/validate`,entityGetOne:`${Ve}/{entity}/{id}`,entityGetAll:`${Ve}/{entity}`}},item:{konnect:{all:`${xe}/plugins/{id}`,forEntity:`${xe}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`}}},oh={create:"New vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},rh={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},sh={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},lh={title:"Vaults",list:{toolbar_actions:{new_vault:"New vault"},table_headers:{prefix:"Prefix",name:"Vault Type",description:"Description",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Vault",description:"Improve the security of your Kong Gateway deployment with centralized secrets."},empty_state_v2:{title:"Configure your first vault",description:"Vaults securely store sensitive information, such as credentials and certificates, enhancing the security of your API infrastructure.",create_cta:"New vault"}}},ch={title:"Secrets",list:{toolbar_actions:{new_secret:"Store New Secret"},table_headers:{key:"Secret Key",updated_at:"Updated At"},empty_state:{title:"No Secrets Stored",description:"Improve the security of your Kong Gateway deployment with centralized secrets."}},form:{info:{title:"Secret",description:"Enter the secret key and secret value to be stored in Konnect vault"},fields:{key:{label:"Key",placeholder:"Enter key"},value:{label:"Value",placeholder:"Enter value here, can be simple values or multi-line"}},hint:"Once saved, the secret value will not be visible"}},dh={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},uh={vault_type:"Vault Type"},ph={sections:{general:{title:"General Information",description:"General information helps identify and manage this Vault instance."},config:{title:"Vault Configuration",description:"Select a type of Vault and configure properties specific to each type of Vault."}},fields:{prefix:{label:"Prefix",placeholder:"Enter a unique prefix for this vault",help:"e.g. my-vault",tooltip:"The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities."},description:{label:"Description",placeholder:"Enter some description for this vault"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"}},config:{konnect:{label:"Konnect",description:"Access secrets stored directly in Konnect's unified platform to easily reference in Kong Gateway configuration."},env:{label:"Environment Variables",description:"Access secrets stored via variables to be made available in Kong Gateway at runtime.",fields:{prefix:{label:"Environment Variable Prefix",placeholder:"Enter your environment variable vault prefix",tooltip:"Data plane will access all the environment variables starting with this prefix."}}},aws:{label:"AWS Secrets Manager",description:"Access secrets stored in AWS Secrets Manager for Kong Gateway configuration.",fields:{region:{label:"Region",placeholder:"Select an AWS region",tooltip:"The AWS region your vault is located in",locations:{"us-east-1":{location:"N. Virginia"},"us-east-2":{location:"Ohio"},"us-west-1":{location:"N. California"},"us-west-2":{location:"Oregon"},"af-south-1":{location:"Cape Town"},"ap-east-1":{location:"Hong Kong"},"ap-southeast-3":{location:"Jakarta"},"ap-south-1":{location:"Mumbai"},"ap-northeast-1":{location:"Tokyo"},"ap-northeast-2":{location:"Seoul"},"ap-northeast-3":{location:"Osaka"},"ap-southeast-1":{location:"Singapore"},"ap-southeast-2":{location:"Sydney"},"ca-central-1":{location:"Canada"},"eu-central-1":{location:"Frankfurt"},"eu-west-1":{location:"Ireland"},"eu-west-2":{location:"London"},"eu-west-3":{location:"Paris"},"eu-south-1":{location:"Milan"},"eu-north-1":{location:"Stockholm"},"me-south-1":{location:"Bahrain"},"sa-east-1":{location:"São Paulo"},"us-gov-east-1":{location:"US East"},"us-gov-west-1":{location:"US West"}}},endpoint_url:{label:"Endpoint URL",tooltip:'The AWS SecretsManager service endpoint url. If not specified, the value used by vault will be the official AWS SecretsManager service url which is `https://secretsmanager.<region>.amazonaws.com`. You can specify a complete URL(including the "http/https" scheme) to override the endpoint that vault will connect to.'},assume_role_arn:{label:"Assume Role ARN",tooltip:"The target AWS IAM role ARN that will be assumed. Typically this is used for operating between multiple roles or cross-accounts. If you are not using assume role you should not specify this value."},role_session_name:{label:"Role Session Name",tooltip:"The role session name used for role assuming."},sts_endpoint_url:{label:"STS Endpoint URL",tooltip:"The custom STS endpoint URL used for role assuming in AWS Vault. Note that this value will override the default STS endpoint URL(which should be `https: //sts.amazonaws.com`, or `https: //sts.<region>.amazonaws.com` if you have `AWS_STS_REGIONAL_ENDPOINTS` set to `regional`). If you are not using private VPC endpoint for STS service, you should not specify this value."}}},gcp:{label:"Google Secret Manager",description:"Access secrets stored in Google Secret Manager for Kong Gateway configuration.",fields:{project_id:{label:"Project ID",placeholder:"Enter your Google Cloud Project ID",tooltip:{text:"Visit your Google API Console and select {italic-text} in the projects list to see your project ID",italicText:"Manage all projects"}}}},hcv:{label:"HashiCorp Vault",description:"Access secrets stored in HashiCorp Vault for Kong Gateway configuration.",fields:{protocol:{label:"Protocol"},host:{label:"Host"},port:{label:"Port"},mount:{label:"Mount"},kv:{label:"Kv"},namespace:{label:"Namespace"},auth_method:{label:"Authentication Method"},token:{label:"Token"},kube_role:{label:"Kubernetes Role"},kube_auth_path:{label:"Kubernetes Auth Path"},kube_api_token_file:{label:"Kubernetes API Token File"},approle_auth_path:{label:"App Role Auth Path"},approle_role_id:{label:"App Role Role ID"},approle_secret_id:{label:"App Role Secret ID"},approle_secret_id_file:{label:"App Role Secret ID File"},approle_response_wrapping:{label:"App Role Response Wrapping"}}},azure:{label:"Azure Vault",description:"Access secrets stored in Azure Key Vault for Kong Gateway configuration.",fields:{location:{label:"Location"},vault_uri:{label:"Vault URI"},credential_prefix:{label:"Credential Prefix"},type:{label:"Type",placeholder:"Select a type"},client_id:{label:"Client ID"},tenant_id:{label:"Tenant ID"}}},advancedFields:{title:"View Advanced Fields",ttl:"Time-to-Live",ttlTooltip:"Time-to-live (in seconds) of a secret from a vault when cached by this reference",negTtl:"Negative Time-to-Live",negTtlTooltip:"Time-to-live (in seconds) of a vault miss (no secret)",resurrectTtl:"Time-to-Live Resurrection",resurrectTtlTooltip:"Time (in seconds) for which stale secrets from the vault are resurrected for when they cannot be refreshed"}},unavailable:"This vault provider is available on Enterprise."},Ah={title:"Look up Key in Vault",vault:{label:"Vault",placeholder:"Select a vault"},secret_id:{label:"Secret ID",input_placeholder:"Enter a secret ID",select_placeholder:"Select or enter a complete secret ID"},optional_secret_key:{label:"Secret Key",placeholder:"Enter the key or key path to access a nested secret value",help:"Optional. e.g. tokens, tokens/refresh_token"},fetch_error:{vaults:"Could not fetch available vaults",secrets:"Could not fetch available secrets",vaults_and_secrets:"Could not fetch available vaults and secrets"},no_results:"No results found",actions:{use_key:"Use Key"},provider:{complete_action:"Look up {cta}",cta:"Key in Vault"}},gh={actions:oh,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:rh,search:sh,vaults:lh,secrets:ch,copy:dh,labels:uh,form:ph,vault_secret_picker:Ah};function mh(){const e=We.createI18n("en-us",gh);return{i18n:e,i18nT:We.i18nTComponent(e)}}const Mo={useI18n:mh},si="/v2/control-planes/{controlPlaneId}/core-entities",Ro="/v2/control-planes/{controlPlaneId}/config-stores",li="/{workspace}",To={list:{konnect:{getAll:`${si}/vaults`,deleteConfigStore:`${Ro}/{id}?force=true`},kongManager:{getAll:`${li}/vaults`}},form:{konnect:{create:`${si}/vaults`,createConfigStore:Ro,edit:`${si}/vaults/{id}`},kongManager:{create:`${li}/vaults`,edit:`${li}/vaults/{id}`}}},So=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},Sn="/v2/control-planes/{controlPlaneId}",xo={getVault:{konnect:`${Sn}/core-entities/vaults/{id}`},list:{konnect:`${Sn}/config-stores/{id}/secrets`},form:{konnect:{create:`${Sn}/config-stores/{id}/secrets`,edit:`${Sn}/config-stores/{id}/secrets/{secretId}`}}},fh={class:"vault-secret-picker-provider"},hh=t.defineComponent({__name:"VaultSecretPickerProvider",props:{value:{},disabled:{type:Boolean},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o},i18nT:r}=Mo.useI18n();return(s,l)=>(t.openBlock(),t.createElementBlock("div",fh,[t.createVNode(t.unref(r),{keypath:"vault_secret_picker.provider.complete_action",scope:"global"},{cta:t.withCtx(()=>[t.createElementVNode("span",{class:t.normalizeClass({"vault-secret-picker-provider-action":!0,disabled:i.disabled}),onClick:l[0]||(l[0]=()=>!i.disabled&&a("open",i.value,i.update))},t.toDisplayString(t.unref(o)("vault_secret_picker.provider.cta")),3)]),_:1})]))}}),Vo=So(hh,[["__scopeId","data-v-66a1e406"]]),yh=e=>{let n=e.trim();if(!n.startsWith("{")||!n.endsWith("}"))throw new Error("Invalid secret reference: must be enclosed in curly braces");if(n=n.substring(1,n.length-1).trim(),!n.startsWith("vault://"))throw new Error("Invalid secret reference: must start with vault://");const i=new URL(`http://${n.substring(8)}`);if(!i)throw new Error("Invalid secret reference: must have a vault prefix");const a=i.host,[,o,...r]=i.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:o||void 0,optionalSecretKey:r==null?void 0:r.join("/")}},bh=e=>{if(!e.vaultPrefix)throw new Error("Invalid secret reference: must have a vault prefix");let n=`vault://${e.vaultPrefix}`;return e.secretId&&(n=`${n}/${e.secretId}`),e.optionalSecretKey&&(n=`${n}/${e.optionalSecretKey}`),`{${n}}`},Eh={key:1,class:"inputs-wrapper"},wh={"data-testid":"no-search-results"},Ch={class:"k-select-selected-item-label"},Bh={class:"vault-secret-picker-vault-dropdown-item"},kh={class:"select-item-label"},Ih={class:"select-item-description"},vh={class:"select-item-description"},Oh={"data-testid":"no-search-results"},Mh=t.defineComponent({__name:"VaultSecretPicker",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},setup:{type:null,required:!1,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){var i;const{i18n:{t:a}}=Mo.useI18n(),o=e,r=n,{axiosInstance:s}=j.useAxios({validateStatus:z=>z===404||z>=200&&z<300,...(i=o.config)==null?void 0:i.axiosRequestConfig}),l=t.ref(!1),d=t.ref(""),p=t.ref(""),u=t.ref(""),A=t.ref(),g=t.computed(()=>{var z,T;return o.config.app==="konnect"?xo.list[o.config.app].replace(/{id}/gi,((T=(z=A.value)==null?void 0:z.config)==null?void 0:T.config_store_id)??""):"<not_applicable>"}),w=t.computed(()=>{if(v&&E)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(v)return a("vault_secret_picker.fetch_error.vaults");if(E)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:S,loading:h,error:v,loadItems:C,results:Y}=j.useDebouncedFilter(o.config,To.list[o.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:y,loading:m,error:E,loadItems:f,results:I}=j.useDebouncedFilter(o.config,g,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),M=t.computed(()=>{var z;let T=!1;const N=((z=Y.value)==null?void 0:z.map(H=>(H.prefix===d.value&&(T=!0),{label:H.prefix,value:H.prefix,vault:H})))??[];return!T&&A.value&&N.push({label:A.value.prefix,value:A.value.prefix,vault:A.value}),N}),F=t.computed(()=>{var z;let T=!1;const N=((z=I.value)==null?void 0:z.map(H=>(H.key===p.value&&(T=!0),{label:H.key,value:H.key})))??[];return!T&&p.value&&N.push({label:p.value,value:p.value}),N}),V=t.computed(()=>{var z;return((z=A==null?void 0:A.value)==null?void 0:z.name)==="konnect"}),D=t.computed(()=>!!A.value&&!!p.value),K=z=>z.label?`${z.label} - (${z.vault.name} - ${z.vault.id})`:z.value,q=z=>{var T,N;let H=`${o.config.apiBaseUrl}${To.form[o.config.app].edit}`;return o.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,((T=o.config)==null?void 0:T.controlPlaneId)||""):o.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:"")),H.replace(/{id}/gi,z)},_=(z,T)=>{var N;return o.config.app!=="konnect"?"<not_applicable>":`${o.config.apiBaseUrl}${xo.form[o.config.app].edit}`.replace(/{controlPlaneId}/gi,((N=o.config)==null?void 0:N.controlPlaneId)||"").replace(/{id}/gi,T).replace(/{secretId}/gi,z)},te=()=>{r("proceed",bh({vaultPrefix:d.value,secretId:p.value||void 0,optionalSecretKey:u.value||void 0}))};return t.watch(()=>o.setup,async z=>{if(z!==!1){if(l.value=!0,d.value="",A.value=void 0,p.value="",u.value="",typeof z=="string"&&z.trim().length>0)try{let T,N="",H="",B="";const k=yh(z),{data:R}=await s.get(q(k.vaultPrefix));if(R!=null&&R.name)if(T=R,N=k.vaultPrefix,T.name==="konnect"){if(k.secretId){const{data:$}=await s.get(_(k.secretId,R.config.config_store_id));$.key===k.secretId&&(H=k.secretId,B=k.optionalSecretKey??"")}}else H=k.secretId??"",B=k.optionalSecretKey??"";await t.nextTick(()=>{d.value=N,A.value=T,p.value=H,u.value=B})}catch(T){console.debug(T)}l.value=!1,await C()}},{immediate:!0}),t.watch(d,async(z,T)=>{var N;l.value||z===T||(A.value=(N=M.value.find(H=>H.value===z))==null?void 0:N.vault,p.value="",u.value="")}),t.watch(g,async()=>{V.value&&await f()},{immediate:!0}),(z,T)=>{const N=t.resolveComponent("KEmptyState"),H=t.resolveComponent("KSelect"),B=t.resolveComponent("KInput"),k=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(k,{"action-button-disabled":!D.value,"action-button-text":t.unref(a)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(a)("vault_secret_picker.title"),visible:o.setup!==!1,onCancel:T[4]||(T[4]=()=>r("cancel")),onProceed:te},{default:t.withCtx(()=>[t.unref(v)||t.unref(E)?(t.openBlock(),t.createBlock(N,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:w.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Eh,[t.createVNode(H,{modelValue:d.value,"onUpdate:modelValue":T[0]||(T[0]=R=>d.value=R),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:l.value,"enable-filtering":"","filter-function":()=>!0,items:M.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(h),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(S)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",wh,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:R})=>[t.createElementVNode("span",Ch,t.toDisplayString(K(R)),1)]),"item-template":t.withCtx(({item:R})=>[t.createElementVNode("div",Bh,[t.createElementVNode("span",kh,t.toDisplayString(R.label),1),t.createElementVNode("span",Ih,t.toDisplayString(R.vault.name),1),t.createElementVNode("span",vh,t.toDisplayString(R.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),V.value?(t.openBlock(),t.createBlock(H,{key:0,modelValue:p.value,"onUpdate:modelValue":T[1]||(T[1]=R=>p.value=R),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:l.value||!A.value,"enable-filtering":"","filter-function":()=>!0,items:F.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(a)("vault_secret_picker.secret_id.label"),loading:t.unref(m),placeholder:t.unref(a)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(y)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",Oh,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(B,{key:1,modelValue:p.value,"onUpdate:modelValue":T[2]||(T[2]=R=>p.value=R),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:l.value||!A.value,label:t.unref(a)("vault_secret_picker.secret_id.label"),placeholder:t.unref(a)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(B,{modelValue:u.value,"onUpdate:modelValue":T[3]||(T[3]=R=>u.value=R),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:l.value||!A.value,help:t.unref(a)("vault_secret_picker.optional_secret_key.help"),label:t.unref(a)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(a)("vault_secret_picker.optional_secret_key.placeholder"),type:"text"},null,8,["modelValue","disabled","help","label","placeholder"])]))]),_:1},8,["action-button-disabled","action-button-text","title","visible"])}}}),Rh=So(Mh,[["__scopeId","data-v-df8552cc"]]),Th={key:0},Sh=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=Ie.usePluginHelpers(),{i18n:{t:a}}=Ie.useI18n(),o=l=>l.map(d=>d.replace(/^[cC]onfig\./,"").split(".").map(p=>i(p)).join(".")).join(", "),r=(l,d)=>a(l,{parameters:o(d)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const d of n.rules.atLeastOneOf)l.push(r("plugins.form.field_rules.at_least_one_of",d));if(n.rules.onlyOneOf)for(const d of n.rules.onlyOneOf)l.push(r("plugins.form.field_rules.only_one_of",d));if(n.rules.mutuallyRequired)for(const d of n.rules.mutuallyRequired)l.push(r("plugins.form.field_rules.mutually_required",d));return l});return(l,d)=>{const p=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(p,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(u,A)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${A}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Th,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,A)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${A}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(g,w)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${A}-combination-${w}`},t.toDisplayString(o(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),$e=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},xh=$e(Sh,[["__scopeId","data-v-d8eb79cf"]]),Vh={class:"kong-ui-entities-plugin-form"},Nh={key:1,class:"entity-form"},Dh={class:"plugin-config-empty-state"},Ph=t.defineComponent({components:{...Pf}}),Gh=t.defineComponent({...Ph,__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1}},emits:["loading","model-updated"],setup(e,{emit:n}){var te,z;const i=n,a=e,{axiosInstance:o}=j.useAxios((te=a.config)==null?void 0:te.axiosRequestConfig),{parseSchema:r}=Ie.useSchemas({entityId:((z=a.entityMap.focusedEntity)==null?void 0:z.id)||void 0,credential:a.credential}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:d,unsetNullForeignKey:p}=Ie.usePluginHelpers(),{objectsAreEqual:u}=j.useHelpers(),{i18n:{t:A}}=fn(),g=(T,N)=>{let H=`${a.config.apiBaseUrl}${ve.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),H=H.replace(/{entity}/gi,T),H=H.replace(/{id}/gi,N),H},w=T=>{let N=`${a.config.apiBaseUrl}${ve.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?N=N.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(N=N.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),N=N.replace(/{entity}/gi,T),N},S=(T,N)=>{const H=g(T,N);return o.get(H)},h=(T,N)=>{const H=w(T);return a.config.app==="konnect"?o.get(H).then(B=>{const{data:{data:k}}=B;if(delete N.size,delete N.offset,k.length&&Object.keys(N).length===1){const R=Object.keys(N)[0],$=k.filter(ie=>ie[R]?!!ie[R].toLowerCase().includes(N[R].toLowerCase()):!1);B.data.data=$}return B}):o.get(H,{params:N})};t.provide(ut,{getOne:S,getAll:h});const v=t.ref(""),C=t.ref(null),Y=t.ref({}),y=t.reactive({}),m=t.reactive({}),E=t.computed(()=>{var T;return(T=C.value)==null?void 0:T.options}),f=t.ref(!1),I=t.ref(),M=(T,N)=>{f.value=T??"",I.value=N},F=T=>{var N;(N=I.value)==null||N.call(I,T),f.value=!1},V=()=>{var R,$;const T={...a.schema},N=m,H=y,B=Object.keys(N),k={};if(!d(Y.value))for(let ie=0;ie<(($=(R=Y.value)==null?void 0:R.fields)==null?void 0:$.length);ie++)T[Y.value.fields[ie].model]=Y.value.fields[ie];return ri.forEach(ie=>{T[ie]&&(T[ie].fields.forEach(ne=>{ne.fields&&ne.fields.forEach(Q=>{T[Q.model]=Q}),ne.model&&(T[ne.model]=ne)}),delete T[ie])}),B.forEach(ie=>{var Nt;if(!T[ie])return;const ne=T[ie];let Q=N[ie];const Te=H[ie],ge=Array.isArray(Q)?"array":typeof Q,Ue=ne?ne.valueType:null,ht=ne?ne.valueArrayType:null,Vt=ne?ne.transform:null;if(Q==null&&Te==null&&!ne.submitWhenNull)return;if(ne){if(Ue&&ge!==Ue)switch(Ue){case"array":ge==="string"&&Q.length&&(Q=Q.split(",").map(ce=>{if(ce=ce.trim(),ht==="string")return String(ce);if(ht==="number")return Number(ce);if(ht==="boolean"){if(typeof ce=="string")return ce.toLowerCase()==="true"||ce==="1";if(typeof ce=="number")return ce===1}return ce})),(!Q||!Q.length)&&(Q=ne.submitWhenNull?null:[]);break;case"number":Q=Number(Q);break;case"boolean":ge==="string"&&(Q=Q.toLowerCase()==="true"||Q==="1"),ge==="number"&&(Q=Q===1);break;case"string":Q=Q==null?"":String(Q);break}else Ue==="array"&&(!Q||!Q.length?Q=ne.submitWhenNull?null:[]:((Nt=ne.inputAttributes)==null?void 0:Nt.type)==="number"&&(Q=Q.map(ce=>Number(ce))));if(ne.type==="array"&&ne.nestedFields){const ce=L=>{Object.keys(L).forEach(X=>{L[X]&&typeof L[X]=="object"&&!Array.isArray(L[X])&&L[X]!==null?ce(L[X]):(L[X]===void 0||L[X]===null||typeof L[X]=="number"&&isNaN(L[X])||typeof L[X]=="string"&&L[X].trim().length===0)&&delete L[X]})};Q&&typeof Q=="object"&&ce(Q)}ne.type==="object-advanced"&&ne.fields&&Q!==null&&(Object.entries(Q).length===0?Q=null:Object.keys(Q).forEach(ce=>{Array.isArray(Q[ce])||(Q[ce]=Q[ce].split(","))}))}let Be=s(ie);if(ne.fieldNameHasDashes){const[ce,...L]=Be.split(".").reverse();Be=[ce.replace(/_/g,"-"),...L].reverse().join(".")}if(Ue==="object-expand"){let ce;[Be,ce]=Be.split(".");let L={};k[Be]&&(L=k[Be]),L[ce]=Q,Q=L}Te!==void 0&&Q===""&&Q!==Te?k[Be]=Ue==="object"?{}:null:ne.type==="checklist"&&Q===""?k[Be]=[]:Q!==""&&(k[Be]=Q),k[Be]=Vt?Vt(Q):k[Be],p(Be,k)}),l(k)},D=(T,N)=>{var k;const H={[N]:T};typeof((k=a.schema[N])==null?void 0:k.modelTransformer)=="function"&&(H[N]=a.schema[N].modelTransformer(T));const B=Object.assign({},m,H);Object.assign(m,B),i("model-updated",{model:m,originalModel:y,data:V()})},K=(T,N)=>{Object.keys(T).forEach(H=>{var ie,ne;let B=N?`${N}-${H}`:H,k=a.schema[B];if(!k){const Q=N?`${N}-${H.replace(/-/g,"_")}`:H.replace(/-/g,"_");(ie=a.schema[Q])!=null&&ie.fieldNameHasDashes&&(B=Q,k=a.schema[B]),N&&((ne=a.schema[N])==null?void 0:ne.keyFromObject)===H&&(B=N,k=a.schema[B])}const R=T[H],$=typeof R;if(k&&k.type==="object-advanced"&&!R){m[B]={},y[B]={};return}if(Array.isArray(R)){m[B]=JSON.parse(JSON.stringify(R)),y[B]=JSON.parse(JSON.stringify(R));return}if($==="object"&&R&&!R.length)return K(R,B);if($==="object"&&R&&R.length&&k.type==="input"){m[B]=R.join(", "),y[B]=R.join(", ");return}m[B]=R,y[B]=R}),i("model-updated",{model:m,originalModel:y,data:V()})},q=t.ref(!0),_=()=>{var T;if(a.record&&a.schema&&(K({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&K({consumer_id:a.record.consumer_id||a.record.consumer}),K(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&K({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),K(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const N={};for(const H in a.entityMap){const B=a.entityMap[H].id,k=a.entityMap[H].idField,R=k==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(k).replace("_","-"));Object.prototype.hasOwnProperty.call(m,R)&&(N[R]=B)}K(N)}if((T=a.entityMap.consumer)!=null&&T.id&&a.schema&&a.credential){const N={};Object.prototype.hasOwnProperty.call(m,"consumer")&&(N.consumer=a.entityMap.consumer.id),K(N)}q.value=!1};return t.watch(q,T=>{i("loading",T)}),t.watch(()=>a.schema,(T,N)=>{var B,k;if(u(T||{},N||{}))return;const H=r(T);Object.assign(m,H.model),Y.value={fields:(k=(B=Y.value)==null?void 0:B.fields)==null?void 0:k.map(R=>({...R,disabled:R.disabled||!1}))},Object.assign(y,JSON.parse(JSON.stringify(H.model))),v.value=Bo(H.model.name),_()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var T,N;C.value=r(a.schema),Object.assign(m,((T=C.value)==null?void 0:T.model)||{}),Y.value=((N=C.value)==null?void 0:N.schema)||{},_()}),(T,N)=>{var k;const H=t.resolveComponent("KSkeleton"),B=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Vh,[q.value?(t.openBlock(),t.createBlock(H,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Nh,[v.value&&(m.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(v.value),{key:0,"form-model":m,"form-options":E.value,"form-schema":Y.value,"is-editing":e.editing,"on-model-updated":D},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(pt),fn:t.withCtx(R=>[R.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo),t.mergeProps({key:0},R,{onOpen:N[0]||(N[0]=($,ie)=>M($,ie))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!v.value&&(m.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(B,{key:1,model:m,options:E.value,schema:Y.value,onModelUpdated:D,onRefreshModel:V},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Dh,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(k=t.unref(_e)[m.name])!=null&&k.fieldRules&&(a.config.isNewOtelSchema||m.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(xh,{rules:t.unref(_e)[m.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(pt),fn:t.withCtx(R=>[R.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo),t.mergeProps({key:0},R,{onOpen:N[1]||(N[1]=($,ie)=>M($,ie))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(t.unref(Rh),{config:a.config,setup:f.value,onCancel:N[2]||(N[2]=()=>f.value=!1),onProceed:F},null,8,["config","setup"])],64)}}}),Lh=$e(Gh,[["__scopeId","data-v-0d6dd470"]]),Uh={key:1},jh=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,i)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",Uh,[t.renderSlot(n.$slots,"default")]))}}),Yh={class:"kong-ui-entities-plugin-form-container"},Hh={key:0},Fh={class:"plugin-form-actions"},Kh=$e(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var ce;const i=n,a=e,o=Kt.useRouter(),{i18n:{t:r}}=Ie.useI18n(),{customSchemas:s,typedefs:l}=Ie.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=Ie.usePluginHelpers(),{getMessageFromError:p}=j.useErrors(),{capitalize:u}=j.useStringHelpers(),{objectsAreEqual:A}=j.useHelpers(),{axiosInstance:g}=j.useAxios((ce=a.config)==null?void 0:ce.axiosRequestConfig),w=t.ref(!1),S=t.computed(()=>!!a.pluginId),h=t.computed(()=>a.pluginId?j.EntityBaseFormType.Edit:j.EntityBaseFormType.Create),v=t.ref(null),C=t.computed(()=>!!(a.credential&&a.config.entityId)),Y=t.ref(null),y=t.ref({}),m=t.ref(!1),E=t.reactive({enabled:!0,protocols:[],tags:[]}),f=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),I=t.ref([{title:r("view_configuration.json"),hash:"#json"},{title:r("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&I.value.splice(1,0,{title:r("view_configuration.terraform"),hash:"#terraform"});const M=t.ref(""),F=t.computed(()=>{if(C.value){let L=ve.form[a.config.app].credential[h.value];return L=L.replace(/{resourceEndpoint}/gi,q.value),L}return a.config.entityType&&a.config.entityId?ve.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):ve.form[a.config.app].edit.all}),V=()=>{w.value=!w.value},D=t.computed(()=>{var J,Z,ae,de,pe,U,G,W;const L=a.config.entityType==="consumers"&&a.config.entityId||((Z=(J=Y.value)==null?void 0:J.consumer)==null?void 0:Z.id),X=a.config.entityType==="consumer_groups"&&a.config.entityId||((de=(ae=Y.value)==null?void 0:ae.consumer_group)==null?void 0:de.id),O=a.config.entityType==="services"&&a.config.entityId||((U=(pe=Y.value)==null?void 0:pe.service)==null?void 0:U.id),re=a.config.entityType==="routes"&&a.config.entityId||((W=(G=Y.value)==null?void 0:G.route)==null?void 0:W.id);if(!(L||X||O||re))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const P={};return O&&(P.service={entity:c.SERVICE,entityEndpoint:"services",id:O,idField:Et.SERVICE}),re&&(P.route={entity:c.ROUTE,entityEndpoint:"routes",id:re,idField:Et.ROUTE}),L&&(P.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:L,idField:Et.CONSUMER}),X&&(P.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:X,idField:Et.CONSUMER_GROUP}),a.config.entityType&&(P.focusedEntity={entity:c[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:Et[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),P}),K=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:r("plugins.form.fields.enabled.label"),textOn:r("plugins.form.fields.enabled.on_text"),textOff:r("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||h.value===j.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",disabled:a.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:r("plugins.form.scoping.global.label"),description:r("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:r("plugins.form.fields.protocols.help"),label:r("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")},tags:l.tags}),q=t.computed(()=>{var O;const L=a.developer?"developers":"consumers",X=((O=Gt[a.pluginType])==null?void 0:O.endpoint)||"/plugins";return`${L}/${a.config.entityId}${a.developer?"/credentials":""}${X}`}),_=L=>{const X=Array.from(new Set(L.map(O=>typeof O)));return X.length>1?"string":X[0]},te=(L,X,O,re)=>{var ae,de;let P=X&&X.fields||[];const J=s[a.pluginType],Z=(de=(ae=Gt[a.pluginType])==null?void 0:ae.schema)==null?void 0:de.fields;return Array.isArray(P)&&(P=P.reduce((pe,U)=>{const G=Object.keys(U)[0];return G.match(/-/g)?pe[G.replace(/-/g,"_")]={...U[G],fieldNameHasDashes:!0}:pe[G]=U[G],pe},{})),Object.keys(P).sort().forEach(pe=>{var ke,Ne,Ke,Ft,cn,dn;const U=P[pe];U.type==="set"&&(U.type="array");const G=L?`${L}-${pe}`:`${pe}`;if(Object.prototype.hasOwnProperty.call(U,"overwrite")||U.hidden)return;if(U.type==="table")return te(G,U.schema,O);if(U.fields)return re&&U.type==="record"?(O[G]={type:"object",model:pe,schema:{fields:Object.values(te(G,U,{},!0))}},O):te(G,U,O);if(O[G]={id:G,model:pe},O[G].type=U.type==="boolean"?"checkbox":"input",O[G].required=U.required,O[G].referenceable=U.referenceable,G.startsWith("config-"))if(!re&&U.type==="array"&&(M.value=G),re&&M.value&&G.startsWith(M.value)){const oe=G.slice(M.value.length+1);O[G].label=oe.split("-").map(d).join(".")}else O[G].label=d(G);if((L==="config"||L.startsWith("config-"))&&(ke=P[pe])!=null&&ke.description&&(O[G].help=se.parse(P[pe].description,{mangle:!1,headerIds:!1})),U.type==="map"){if(O[G].type="object-advanced",O[G].values=U.values,U.values.type==="array"){const{type:oe}=U.values.elements||{};O[G].schema={fields:[{schema:{fields:[{...Me,model:G,valueArrayType:oe==="integer"?"number":oe||"string",inputAttributes:{...Me.inputAttributes,type:oe==="integer"?"number":"text",inputMode:oe==="integer"?"numeric":"text"}}]}}]}}else U.values.fields&&(O[G].schema={fields:[{type:"object",model:"object",schema:{fields:U.values.fields.map(oe=>{const je=Object.keys(oe)[0];return{model:je,type:"input",label:u(je),placeholder:je,inputType:oe[je].type}})}}]});return O}if(U.enum&&U.type==="array"&&(O[G].type="checklist",O[G].values=U.enum,O[G].multi=!0,O[G].multiSelect=!0),U.one_of&&U.type!=="array"&&(O[G].type="select",O[G].values=U.one_of,O[G].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),U.elements&&U.type==="array"){const oe=U.elements;if(O[G].referenceable=oe.referenceable,O[G].elements=oe,["string","integer","number"].includes(oe.type)&&!oe.one_of){const{id:je,help:Ee,label:Ae,hint:De,values:rt,referenceable:ze,model:Dt}=O[G],{inputAttributes:Nn,...pE}=JSON.parse(JSON.stringify(Me));Nn.type=oe.type==="string"?"text":"number",O[G]={id:je,help:Ee,label:Ae,hint:De,values:rt,referenceable:ze,model:Dt,inputAttributes:Nn,...pE}}}if(U.hint&&(O[G].hint=U.hint),J&&!J.overwriteDefault&&Object.keys(J).forEach(oe=>{if(oe===G){const{help:je,label:Ee,hint:Ae,values:De,referenceable:rt,elements:ze}=O[G],{help:Dt,...Nn}=J[oe];O[G]={help:je,label:Ee,hint:Ae,values:De,referenceable:rt,elements:ze,...Nn},typeof Dt=="string"&&(O[G].help=se.parse(Dt,{mangle:!1,headerIds:!1}))}}),U.type==="array"&&((Ne=U.elements)==null?void 0:Ne.type)==="record"&&Array.isArray(U.elements.fields)){let oe={};for(const Ee of U.elements.fields)oe={...oe,...Ee};const je=(cn=(Ft=(Ke=O[G])==null?void 0:Ke.items)==null?void 0:Ft.schema)==null?void 0:cn.fields;if(Array.isArray(je))for(const Ee of O[G].items.schema.fields){const Ae=(dn=oe[Ee.model])==null?void 0:dn.description;Ee.help===void 0&&typeof Ae=="string"&&(Ee.help=se.parse(Ae,{mangle:!1,headerIds:!1}))}if(je||(O[G].type="array",O[G].newElementButtonLabelClasses="kong-form-new-element-button-label",O[G].fieldClasses="array-card-container-wrapper",O[G].itemContainerComponent="FieldArrayCardContainer",O[G].items={type:"object",schema:{fields:Object.values(te(G,U.elements,{},!0))}},O[G].items.schema.fields.forEach(Ee=>{var Ae,De;for(const rt of U.elements.fields){const ze=Object.keys(rt)[0],Dt=((De=(Ae=Ee.id)==null?void 0:Ae.split)==null?void 0:De.call(Ae,"-"))??[];if(Dt[Dt.length-1]===ze){Ee.model=ze,Ee.label=d(ze);break}}}),U.elements.type==="record"&&(O[G].nestedFields=!0)),!O[G].nestedFields)O[G].items.default=()=>U.elements.fields.reduce((Ee,Ae)=>{const De=Object.keys(Ae)[0];return Ee[De]=Ae[De].default,Ee},{});else{const Ee=(Ae,De)=>{if(Ae.type==="object"){Ae.model&&(De[Ae.model]={});for(const rt of Ae.schema.fields)Ee(rt,Ae.model?De[Ae.model]:De)}else Ae.model&&(De[Ae.model]=Ae.default)};O[G].items.default=()=>{const Ae={};return Ee(O[G].items,Ae),Ae}}}if(C.value&&Z){for(let oe=0;oe<Z.length;oe++)if(Z[oe][G]){O[G]={...O[G],...Z[oe][G]};break}}if(U.required&&U.type!=="boolean"&&(O[G].required=!0,O[G].selectOptions={hideNoneSelectedText:!0}),U.required&&U.type==="boolean"&&(O[G].default=U.default??!1),U.default!=null&&typeof U.default!="object"&&U.default!=="function"&&(O[G].default=U.default),O[G].type==="input"){["string","number"].includes(typeof O[G].default)&&a.config.app==="konnect"&&(O[G].placeholder=`Default: ${O[G].default===""?"<empty string>":O[G].default}`);const{type:oe}=U.elements||{};oe&&(O[G].valueArrayType=oe==="integer"?"number":oe),O[G].inputType=U.type==="array"||U.type==="string"?U.encrypted?"password":"text":U.type}let W="string";U.enum?W=_(U.enum):U.type==="boolean"?W="boolean":U.type==="number"||U.type==="integer"?(W="number",O[G].inputType="number"):U.type==="array"?(W="array",O[G].default=U.default,U.len_min>0&&(O[G].submitWhenNull=!0)):U.type==="foreign"?W="object":U.default&&Array.isArray(U.default)?(W="array",O[G].valueArrayType=_(U.default)):U.default&&(W=typeof U.default),O[G].valueType=W,U.fieldNameHasDashes&&(O[G].fieldNameHasDashes=!0)}),O},z=()=>{var pe,U,G,W,ke,Ne,Ke,Ft,cn,dn,oe,je;const L=((pe=_e[a.pluginType])==null?void 0:pe.scope.includes(c.SERVICE))??!0,X=((U=_e[a.pluginType])==null?void 0:U.scope.includes(c.ROUTE))??!0,O=((G=_e[a.pluginType])==null?void 0:G.scope.includes(c.CONSUMER))??!0,re=a.config.disableConsumerGroupScope?!1:((W=_e[a.pluginType])==null?void 0:W.scope.includes(c.CONSUMER_GROUP))??!0,P=a.config.entityType==="consumers"&&!!a.config.entityId||!!((Ne=(ke=Y.value)==null?void 0:ke.consumer)!=null&&Ne.id),J=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((Ft=(Ke=Y.value)==null?void 0:Ke.consumer_group)!=null&&Ft.id),Z=a.config.entityType==="services"&&!!a.config.entityId||!!((dn=(cn=Y.value)==null?void 0:cn.service)!=null&&dn.id),ae=a.config.entityType==="routes"&&!!a.config.entityId||!!((je=(oe=Y.value)==null?void 0:oe.route)!=null&&je.id),de=[];if(L&&de.push({id:"service-id",model:"service-id",label:r("plugins.form.scoping.gateway_service.label"),placeholder:r("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:r("plugins.form.scoping.gateway_service.help"),disabled:Z&&a.disableScopeSelection}),X&&de.push({id:"route-id",model:"route-id",label:r("plugins.form.scoping.route.label"),placeholder:r("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:r("plugins.form.scoping.route.help"),disabled:ae&&a.disableScopeSelection}),O&&de.push({model:"consumer-id",label:r("plugins.form.scoping.consumer.label"),placeholder:r("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:r("plugins.form.scoping.consumer.help"),disabled:P&&a.disableScopeSelection}),re&&de.push({model:"consumer_group-id",label:r("plugins.form.scoping.consumer_group.label"),placeholder:r("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:r("plugins.form.scoping.consumer_group.help"),disabled:J&&a.disableScopeSelection}),de.length){const Ee=[...L?["service"]:[],...X?["route"]:[],...O?["consumer"]:[],...re?["consumer_group"]:[]],De=Ee.splice(Ee.length-2,2).map(ze=>r(ze==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ze}.plural`)).join(`${Ee.length>0?",":""} and/or `),rt=["Specific",[...Ee.length>0?[Ee.map(ze=>r(ze==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ze}.plural`)).join(", ")]:[],De].join(", ")].join(" ");K.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:rt,fields:[]}),K.selectionGroup.fields[1].fields=de}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(K,s[a.pluginType].formSchema)},T=t.computed(()=>!A(f.fields,E,!0)),N=t.computed(()=>!Be.value&&!m.value&&(h.value===j.EntityBaseFormType.Create||T.value)),H=t.ref(!1),B=t.ref(),k=L=>{a.credential&&L.password&&(L.password=""),f.fields.id=(L==null?void 0:L.id)||void 0,B.value=L==null?void 0:L.ordering,Object.assign(E,f.fields),Y.value=L,H.value=!0},R=t.ref({}),$=L=>{var X;f.fields=L.model,f.fields.id=((X=Y.value)==null?void 0:X.id)||void 0,Object.assign(E,L.originalModel),R.value=L.data,a.isWizardStep&&i("model-updated",{model:f.fields,data:L.data,resourceEndpoint:q.value})};t.watch([D,H],(L,X)=>{const O=L[0]!==X[0],re=L[1],P=X[1];!C.value&&h.value===j.EntityBaseFormType.Edit&&(O||re&&re!==P)&&(Be.value=!0,v.value=te("config",y.value,K),Be.value=!1)},{deep:!0});const ie=()=>{a.config.cancelRoute?o.push(a.config.cancelRoute):i("cancel")},ne=t.computed(()=>{let L=`${a.config.apiBaseUrl}${ve.form[a.config.app].validate}`;return a.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),L=L.replace(/{id}/gi,a.pluginId),L}),Q=t.computed(()=>{const L=a.config.entityType&&a.config.entityId&&!a.developer,X=C.value?ve.form[a.config.app].credential[h.value]:ve.form[a.config.app][h.value][L?"forEntity":"all"];let O=`${a.config.apiBaseUrl}${X}`;return a.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),O=O.replace(/{resourceEndpoint}/gi,q.value),O=O.replace(/{id}/gi,a.pluginId),O=O.replace(/{entityType}/gi,a.config.entityType||""),O=O.replace(/{entityId}/gi,a.config.entityId||""),O}),Te=t.computed(()=>!Object.keys(_e).includes(a.pluginType)),ge=t.computed(()=>{const L=R.value;if(C.value){for(const X in c){const O=c[X];L[O]&&!L[O].id&&(L[O]={id:a.config.entityId})}delete L.created_at}return L}),Ue=async()=>{if(!a.isWizardStep)try{f.isReadonly=!0;let L;const X=JSON.parse(JSON.stringify(ge.value)),O=s[a.pluginType];typeof(O==null?void 0:O.shamefullyTransformPayload)=="function"&&O.shamefullyTransformPayload({originalModel:E,model:f.fields,payload:X,schema:v.value}),!C.value&&!Te.value&&await g.post(ne.value,X),h.value==="create"?L=await g.post(Q.value,X):h.value==="edit"&&(L=a.config.app==="konnect"?await g.put(Q.value,Object.assign({ordering:B.value},X)):await g.patch(Q.value,X)),Object.assign(E,f.fields),i("update",L==null?void 0:L.data)}catch(L){f.errorMessage=p(L),i("error",L)}finally{f.isReadonly=!1}},ht=t.computed(()=>{var re;const L=C.value?(re=Gt[a.pluginType])==null?void 0:re.schemaEndpoint:a.pluginType,X=C.value?ve.form[a.config.app].credentialSchema:ve.form[a.config.app].pluginSchema;let O=`${a.config.apiBaseUrl}${X}`;return a.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),O=O.replace(/{plugin}/gi,L),O}),Vt=t.ref(""),Be=t.ref(!1),Nt=t.ref("");return t.onBeforeMount(async()=>{var L,X,O;Be.value=!0;try{if(C.value&&a.config.app==="konnect"){const re=(L=Gt[a.pluginType])==null?void 0:L.schemaEndpoint,P=Nl[re];Vt.value=re,v.value=te("",P,{}),Be.value=!1}else{const re=a.schema??(await g.get(ht.value)).data;if(re)if(C.value)v.value=te("",re,{}),Be.value=!1;else{const P=re.fields.find(Z=>Z.config);y.value=P?P.config:re,z();const J=(X=re.fields.find(Z=>Z.protocols))==null?void 0:X.protocols;if(J){const{default:Z=[],elements:ae={}}=J;K.protocols.default=Z,K.protocols.placeholder=a.config.app==="konnect"?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Z.join(", ")}):r("plugins.form.fields.protocols.placeholder"),(O=ae.one_of)!=null&&O.length&&(K.protocols.values=ae.one_of.map(de=>({label:de,value:de})))}(H.value||h.value===j.EntityBaseFormType.Create)&&(v.value=te("config",y.value,K))}}}catch(re){Nt.value=p(re),i("error:fetch-schema",re)}finally{Be.value=!1}}),(L,X)=>{const O=t.resolveComponent("KSkeleton"),re=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KButton"),J=t.resolveComponent("KTabs"),Z=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",Yh,[Be.value?(t.openBlock(),t.createBlock(O,{key:0,type:"form"})):Nt.value?(t.openBlock(),t.createBlock(re,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(r)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(j.EntityBaseForm),{key:2,"can-submit":N.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(j.SupportedEntityType).Plugin,"error-message":f.errorMessage,"fetch-url":F.value,"form-fields":ge.value,"is-readonly":f.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ie,"onFetch:error":X[2]||(X[2]=ae=>L.$emit("error",ae)),"onFetch:success":k,onLoading:X[3]||(X[3]=ae=>L.$emit("loading",ae))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",Hh)):(t.openBlock(),t.createBlock(jh,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",Fh,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(P,{key:0,appearance:"tertiary","data-testid":`plugin-${S.value?"edit":"create"}-form-view-configuration`,onClick:X[1]||(X[1]=ae=>V())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(P,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${S.value?"edit":"create"}-form-cancel`,disabled:f.isReadonly,onClick:ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(P,{appearance:"primary","data-testid":`plugin-${S.value?"edit":"create"}-form-submit`,disabled:!N.value||f.isReadonly,type:"submit",onClick:Ue},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:Ue},null,32),t.createVNode(Lh,{config:e.config,credential:C.value,editing:h.value===t.unref(j.EntityBaseFormType).Edit,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":D.value,record:Y.value||void 0,schema:v.value||{},onLoading:X[0]||(X[0]=ae=>m.value=ae),onModelUpdated:$},null,8,["config","credential","editing","enable-vault-secret-picker","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(Z,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:w.value,onClose:V},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(J,{"data-testid":"form-view-configuration-slideout-tabs",tabs:I.value},{json:t.withCtx(()=>[t.createVNode(t.unref(j.JsonCodeBlock),{config:e.config,"entity-record":ge.value,"fetcher-url":Q.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(j.YamlCodeBlock),{"entity-record":ge.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(j.TerraformCodeBlock),{"credential-type":Vt.value,"entity-record":ge.value,"entity-type":t.unref(j.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-dee4e14d"]]),zh=["alt","height","src","width"],xn=t.defineComponent({__name:"PluginIcon",props:{name:{type:String,required:!0},size:{type:Number,default:32,required:!1},alt:{type:String,default:"",required:!1}},setup(e){const n=e,i=t.ref(),a=t.computed(()=>qi(n.name)),o=()=>{const r=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:et&&et.tagName.toUpperCase()==="SCRIPT"&&et.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&i.value.src!==r&&(i.value.src=r)};return(r,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,height:e.size,src:a.value,width:e.size,onError:o},null,40,zh))}});var qh=Object.prototype;function No(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||qh;return e===i}function Jh(e,n){return function(i){return e(n(i))}}var Qh=Jh(Object.keys,Object),Xh=Object.prototype,Zh=Xh.hasOwnProperty;function Wh(e){if(!No(e))return Qh(e);var n=[];for(var i in Object(e))Zh.call(e,i)&&i!="constructor"&&n.push(i);return n}var Do=typeof global=="object"&&global&&global.Object===Object&&global,_h=typeof self=="object"&&self&&self.Object===Object&&self,ft=Do||_h||Function("return this")(),Vn=ft.Symbol,Po=Object.prototype,$h=Po.hasOwnProperty,ey=Po.toString,on=Vn?Vn.toStringTag:void 0;function ty(e){var n=$h.call(e,on),i=e[on];try{e[on]=void 0;var a=!0}catch{}var o=ey.call(e);return a&&(n?e[on]=i:delete e[on]),o}var ny=Object.prototype,iy=ny.toString;function ay(e){return iy.call(e)}var oy="[object Null]",ry="[object Undefined]",Go=Vn?Vn.toStringTag:void 0;function rn(e){return e==null?e===void 0?ry:oy:Go&&Go in Object(e)?ty(e):ay(e)}function Lo(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var sy="[object AsyncFunction]",ly="[object Function]",cy="[object GeneratorFunction]",dy="[object Proxy]";function Uo(e){if(!Lo(e))return!1;var n=rn(e);return n==ly||n==cy||n==sy||n==dy}var ci=ft["__core-js_shared__"],jo=function(){var e=/[^.]+$/.exec(ci&&ci.keys&&ci.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function uy(e){return!!jo&&jo in e}var py=Function.prototype,Ay=py.toString;function St(e){if(e!=null){try{return Ay.call(e)}catch{}try{return e+""}catch{}}return""}var gy=/[\\^$.*+?()[\]{}|]/g,my=/^\[object .+?Constructor\]$/,fy=Function.prototype,hy=Object.prototype,yy=fy.toString,by=hy.hasOwnProperty,Ey=RegExp("^"+yy.call(by).replace(gy,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function wy(e){if(!Lo(e)||uy(e))return!1;var n=Uo(e)?Ey:my;return n.test(St(e))}function Cy(e,n){return e==null?void 0:e[n]}function sn(e,n){var i=Cy(e,n);return wy(i)?i:void 0}var di=sn(ft,"DataView"),ui=sn(ft,"Map"),pi=sn(ft,"Promise"),Ai=sn(ft,"Set"),gi=sn(ft,"WeakMap"),Yo="[object Map]",By="[object Object]",Ho="[object Promise]",Fo="[object Set]",Ko="[object WeakMap]",zo="[object DataView]",ky=St(di),Iy=St(ui),vy=St(pi),Oy=St(Ai),My=St(gi),xt=rn;(di&&xt(new di(new ArrayBuffer(1)))!=zo||ui&&xt(new ui)!=Yo||pi&&xt(pi.resolve())!=Ho||Ai&&xt(new Ai)!=Fo||gi&&xt(new gi)!=Ko)&&(xt=function(e){var n=rn(e),i=n==By?e.constructor:void 0,a=i?St(i):"";if(a)switch(a){case ky:return zo;case Iy:return Yo;case vy:return Ho;case Oy:return Fo;case My:return Ko}return n});function mi(e){return e!=null&&typeof e=="object"}var Ry="[object Arguments]";function qo(e){return mi(e)&&rn(e)==Ry}var Jo=Object.prototype,Ty=Jo.hasOwnProperty,Sy=Jo.propertyIsEnumerable,xy=qo(function(){return arguments}())?qo:function(e){return mi(e)&&Ty.call(e,"callee")&&!Sy.call(e,"callee")},Vy=Array.isArray,Ny=9007199254740991;function Qo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ny}function Dy(e){return e!=null&&Qo(e.length)&&!Uo(e)}function Py(){return!1}var Xo=typeof ee=="object"&&ee&&!ee.nodeType&&ee,Zo=Xo&&typeof module=="object"&&module&&!module.nodeType&&module,Gy=Zo&&Zo.exports===Xo,Wo=Gy?ft.Buffer:void 0,Ly=Wo?Wo.isBuffer:void 0,Uy=Ly||Py,jy="[object Arguments]",Yy="[object Array]",Hy="[object Boolean]",Fy="[object Date]",Ky="[object Error]",zy="[object Function]",qy="[object Map]",Jy="[object Number]",Qy="[object Object]",Xy="[object RegExp]",Zy="[object Set]",Wy="[object String]",_y="[object WeakMap]",$y="[object ArrayBuffer]",eb="[object DataView]",tb="[object Float32Array]",nb="[object Float64Array]",ib="[object Int8Array]",ab="[object Int16Array]",ob="[object Int32Array]",rb="[object Uint8Array]",sb="[object Uint8ClampedArray]",lb="[object Uint16Array]",cb="[object Uint32Array]",be={};be[tb]=be[nb]=be[ib]=be[ab]=be[ob]=be[rb]=be[sb]=be[lb]=be[cb]=!0,be[jy]=be[Yy]=be[$y]=be[Hy]=be[eb]=be[Fy]=be[Ky]=be[zy]=be[qy]=be[Jy]=be[Qy]=be[Xy]=be[Zy]=be[Wy]=be[_y]=!1;function db(e){return mi(e)&&Qo(e.length)&&!!be[rn(e)]}function ub(e){return function(n){return e(n)}}var _o=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ln=_o&&typeof module=="object"&&module&&!module.nodeType&&module,pb=ln&&ln.exports===_o,fi=pb&&Do.process,$o=function(){try{var e=ln&&ln.require&&ln.require("util").types;return e||fi&&fi.binding&&fi.binding("util")}catch{}}(),er=$o&&$o.isTypedArray,Ab=er?ub(er):db,gb="[object Map]",mb="[object Set]",fb=Object.prototype,hb=fb.hasOwnProperty;function tr(e){if(e==null)return!0;if(Dy(e)&&(Vy(e)||typeof e=="string"||typeof e.splice=="function"||Uy(e)||Ab(e)||xy(e)))return!e.length;var n=xt(e);if(n==gb||n==mb)return!e.size;if(No(e))return!Wh(e).length;for(var i in e)if(hb.call(e,i))return!1;return!0}const yb="#00abd2",bb="16px",Eb="24px",wb={class:"kong-ui-entities-plugins-list"},Cb={class:"button-row"},Bb={class:"empty-state-icon-gateway"},kb={class:"name-cell-wrapper"},Ib={class:"info-wrapper"},vb={key:0,class:"info-name"},Ob={key:1,class:"info-name"},Mb={key:2,class:"info-type"},Rb={key:1},Tb=$e(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.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},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var O,re;const i=Ie.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=Ie.useI18n(),s=Kt.useRouter(),{axiosInstance:l}=j.useAxios((O=o.config)==null?void 0:O.axiosRequestConfig),{hasRecords:d,handleStateChange:p}=j.useTableState(()=>m.value),u=t.computed(()=>d.value&&o.config.app==="konnect"),A=t.computed(()=>!o.enableV2EmptyStates&&o.config.app==="konnect"),g=t.computed(()=>!!o.config.entityId),w=t.computed(()=>{var P;return((P=o.config)==null?void 0:P.entityType)==="consumers"}),S=t.computed(()=>{var P;return((P=o.config)==null?void 0:P.entityType)==="consumer_groups"}),h=o.config.app==="konnect"||j.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),v=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),C={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(re=o.config)!=null&&re.entityId||(C.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),C.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(C.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),C.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const Y=C,y=t.computed(()=>{var J,Z,ae,de;let P=o.config.entityType?`${o.config.apiBaseUrl}${ve.list[o.config.app].forEntity}`:`${o.config.apiBaseUrl}${ve.list[o.config.app].all}`;return o.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,((J=o.config)==null?void 0:J.controlPlaneId)||""):o.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,(Z=o.config)!=null&&Z.workspace?`/${o.config.workspace}`:"")),P.replace(/{entityType}/gi,((ae=o.config)==null?void 0:ae.entityType)||"").replace(/{entityId}/gi,((de=o.config)==null?void 0:de.entityId)||"")}),m=t.ref(""),E=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:C.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...C.enabled,label:r("search.filter.field.enabled")},name:C.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),{fetcher:f,fetcherState:I,fetcherCacheKey:M}=j.useFetcher({...o.config,cacheIdentifier:o.cacheIdentifier},y.value),F=()=>{m.value=""},V=()=>{M.value++},D=t.ref(null),K=P=>{var Z,ae,de,pe;const J=[];return((Z=P.route)!=null&&Z.id||P.route_id)&&J.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),((ae=P.service)!=null&&ae.id||P.service_id)&&J.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),((de=P.consumer)!=null&&de.id||P.consumer_id)&&J.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),((pe=P.consumer_group)!=null&&pe.id||P.consumer_group_id)&&J.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),J.length?J:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},q=async(P,J)=>{var Z;return P===null?!1:await((Z=o.canRetrieveScopedEntity)==null?void 0:Z.call(o,P,J.id))},_=(P,J)=>{var ae,de,pe,U,G;let Z=null;switch(P){case"route":Z=(ae=J.route)==null?void 0:ae.id;break;case"service":Z=(de=J.service)==null?void 0:de.id;break;case"consumer":Z=(pe=J.consumer)==null?void 0:pe.id;break;case"consumer_group":Z=(U=J.consumer_group)==null?void 0:U.id;break}Z&&((G=o.config)!=null&&G.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(P,Z))},te=t.ref(!1),z=t.ref(null),T=t.computed(()=>{const P={action:"disable",id:"",name:""};if(z.value){const{enabled:J,id:Z,name:ae}=z.value;P.action=J?"disable":"enable",P.id=Z,P.name=i.getDisplayName(ae)||Z}return P}),N=P=>{te.value=!0,z.value=P},H=()=>{te.value=!1,z.value=null},B=async()=>{var ae,de,pe,U,G,W,ke,Ne;if(!await((ae=o.canEdit)==null?void 0:ae.call(o,z.value))||!z.value)return;let J=`${o.config.apiBaseUrl}${(G=ve.item[o.config.app])==null?void 0:G[(de=o.config)!=null&&de.entityType?"forEntity":"all"].replace(/{entityType}/gi,((pe=o.config)==null?void 0:pe.entityType)||"").replace(/{entityId}/gi,((U=o.config)==null?void 0:U.entityId)||"")}`.replace(/{id}/gi,z.value.id||"");o.config.app==="konnect"?J=J.replace(/{controlPlaneId}/gi,((W=o.config)==null?void 0:W.controlPlaneId)||""):o.config.app==="kongManager"&&(J=J.replace(/\/{workspace}/gi,(ke=o.config)!=null&&ke.workspace?`/${o.config.workspace}`:""));const Z=!z.value.enabled;try{const{data:Ke}=((Ne=o.config)==null?void 0:Ne.app)==="konnect"?await l.put(J,{...z.value,enabled:Z},{timeout:12e4}):await l.patch(J,{...z.value,enabled:Z},{timeout:12e4});a("toggle-enabled",Z,Ke),z.value.enabled=Z}catch(Ke){a("error",Ke)}},k=(P,J)=>{const Z=P.id;if(!J(Z)){a("copy:error",{entity:P,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:P,field:"id",message:r("copy.success",{val:Z})})},R=(P,J)=>{const Z=JSON.stringify(P);if(!J(Z)){a("copy:error",{entity:P,message:r("errors.copy")});return}a("copy:success",{entity:P,message:r("copy.success_brief")})},$=async P=>{var Z;await((Z=o.canRetrieve)==null?void 0:Z.call(o,P))&&s.push(o.config.getViewRoute(P))},ie=P=>({label:r("actions.view"),to:o.config.getViewRoute(P)}),ne=P=>({label:r("actions.edit"),to:o.config.getEditRoute(P)}),Q=P=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(P)}),Te=t.ref(void 0),ge=t.ref(!1),Ue=t.ref(!1),ht=t.ref(""),Vt=j.useDeleteUrlBuilder(o.config,y.value),Be=P=>{Te.value=P,ge.value=!0},Nt=()=>{ge.value=!1},ce=async()=>{var P,J,Z;if((P=Te.value)!=null&&P.id){Ue.value=!0;try{await l.delete(Vt(Te.value.id)),Ue.value=!1,ge.value=!1,M.value++,a("delete:success",Te.value)}catch(ae){ht.value=((Z=(J=ae.response)==null?void 0:J.data)==null?void 0:Z.message)||ae.message||r("errors.delete"),a("error",ae)}finally{Ue.value=!1}}},L=()=>{s.push(o.config.createRoute)};t.watch(I,P=>{var J,Z,ae;if(P.status===j.FetcherStatus.Error){D.value={title:r("errors.general")},(ae=(Z=(J=P.error)==null?void 0:J.response)==null?void 0:Z.data)!=null&&ae.message&&(D.value.message=P.error.response.data.message),a("error",P.error);return}D.value=null});const X=t.ref({ctaPath:o.config.createRoute,ctaText:void 0,message:`${r("plugins.list.empty_state.description")}${o.config.additionMessageForEmptyState?` ${o.config.additionMessageForEmptyState}`:""}`,title:r("plugins.title")});return t.onBeforeMount(async()=>{await o.canCreate()&&(X.value.title=r("plugins.list.empty_state.title"),X.value.ctaText=r("actions.create"))}),(P,J)=>{const Z=t.resolveComponent("KButton"),ae=t.resolveComponent("KBadge"),de=t.resolveComponent("KTruncate"),pe=t.resolveComponent("KInputSwitch"),U=t.resolveComponent("KDropdownItem"),G=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",wb,[t.createVNode(t.unref(j.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":v.value,"empty-state-options":X.value,"enable-entity-actions":"","error-message":D.value,fetcher:t.unref(f),"fetcher-cache-key":t.unref(M),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:m.value,"table-headers":t.unref(Y),title:e.title,"title-tag":e.titleTag,onClearSearchInput:F,"onClick:row":J[5]||(J[5]=W=>$(W)),onSort:V,onState:t.unref(p)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(j.EntityFilter),{modelValue:m.value,"onUpdate:modelValue":J[0]||(J[0]=W=>m.value=W),config:E.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",Cb,[!g.value&&u.value?(t.openBlock(),t.createBlock(Z,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:J[1]||(J[1]=W=>P.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(Z,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:W})=>[t.createElementVNode("div",kb,[t.createVNode(xn,{class:"plugin-icon",name:W.name,size:24},null,8,["name"]),t.createElementVNode("div",Ib,[W.instance_name?(t.openBlock(),t.createElementBlock("span",vb,t.toDisplayString(W.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Ob,t.toDisplayString(t.unref(i).getDisplayName(W.name)),1)),W.instance_name?(t.openBlock(),t.createElementBlock("span",Mb,t.toDisplayString(t.unref(i).getDisplayName(W.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:W})=>[K(W).length>0?(t.openBlock(),t.createBlock(de,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(K(W),ke=>(t.openBlock(),t.createBlock(t.unref(j.PermissionsWrapper),{key:ke.badgeText,"auth-function":()=>q(ke.type,W),"force-show":""},{default:t.withCtx(({isAllowed:Ne})=>[t.createVNode(ae,{class:t.normalizeClass(Ne||"disabled"),onClick:t.withModifiers(Ke=>Ne&&ke.type&&_(ke.type,W),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ke.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",Rb,"-"))]),enabled:t.withCtx(({row:W})=>[t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(W)&&await e.canToggle(W)),"force-show":""},{default:t.withCtx(({isAllowed:ke})=>{var Ne,Ke;return[t.createElementVNode("div",{onClick:J[4]||(J[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(pe,{disabled:!ke,"disabled-tooltip-text":!ke&&((Ke=(Ne=e.config).getToggleDisabledTooltip)==null?void 0:Ke.call(Ne,W))||void 0,"model-value":W.enabled,onClick:t.withModifiers(Ft=>ke&&N(W),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:W})=>[t.createVNode(ae,{appearance:t.unref(tr)(W)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(tr)(W)?t.unref(r)("plugins.list.table_headers.ordering_badge.static"):t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:W})=>[t.createVNode(t.unref(j.TableTags),{tags:W},null,8,["tags"])]),actions:t.withCtx(({row:W})=>[t.createVNode(G,null,{default:t.withCtx(({copyToClipboard:ke})=>[t.createVNode(U,{"data-testid":"action-entity-copy-id",onClick:Ne=>k(W,ke)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(G,null,{default:t.withCtx(({copyToClipboard:ke})=>[t.createVNode(U,{"data-testid":"action-entity-copy-json",onClick:Ne=>R(W,ke)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(W)},{default:t.withCtx(()=>[t.createVNode(U,{"data-testid":"action-entity-view","has-divider":"",item:ie(W)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canEdit(W)},{default:t.withCtx(()=>[t.createVNode(U,{"data-testid":"action-entity-edit",item:ne(W)},null,8,["item"])]),_:2},1032,["auth-function"]),!w.value&&!S.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(j.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(W)},{default:t.withCtx(()=>[Q(W)?(t.openBlock(),t.createBlock(U,{key:0,"data-testid":"action-entity-config-dyn-order",item:Q(W)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canDelete(W)},{default:t.withCtx(()=>[t.createVNode(U,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ke=>Be(W)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(d)&&A.value?{name:"outside-actions",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createVNode(Z,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:J[2]||(J[2]=W=>P.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,e.enableV2EmptyStates&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>[t.createVNode(t.unref(j.EntityEmptyState),{"action-button-text":t.unref(r)("plugins.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>e.canCreate(),"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state",description:t.unref(r)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(r)("plugins.list.empty_state_v2.title"),"onClick:create":L,"onClick:learnMore":J[3]||(J[3]=W=>P.$emit("click:learn-more"))},{image:t.withCtx(()=>[t.createElementVNode("div",Bb,[t.createVNode(t.unref(Ye.PlugIcon),{color:t.unref(yb),size:t.unref(Eb)},null,8,["color","size"])])]),_:1},8,["action-button-text","can-create","data-testid","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","title","title-tag","onState"]),t.createVNode(t.unref(j.EntityToggleModal),{action:T.value.action,"entity-id":T.value.id,"entity-name":T.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":B,visible:te.value,onCancel:H,onProceed:H},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(j.EntityDeleteModal),{"action-pending":Ue.value,description:t.unref(r)("delete.description"),"entity-name":Te.value&&(Te.value.instance_name||Te.value.name||Te.value.id),"entity-type":t.unref(j.EntityTypes).Plugin,error:ht.value,title:t.unref(r)("delete.title"),visible:ge.value,onCancel:Nt,onProceed:ce},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-2a23bbaf"]]),Sb={class:"plugin-select-card-wrapper"},xb=["data-testid"],Vb={class:"plugin-card-header"},Nb={class:"plugin-card-title"},Db={key:0,class:"plugin-card-actions"},Pb=["data-testid","title"],Gb={key:0,class:"plugin-card-text"},Lb={key:0},Ub=["title"],hi=$e(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,a=e,o=Kt.useRouter(),{i18n:{t:r}}=Ie.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(w.value&&!g.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?p():A()},A=()=>{i("plugin-clicked",a.plugin)},g=t.computed(()=>a.plugin.id==="custom-plugin-create"),w=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===b.CUSTOM_PLUGINS),S=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},h=(C,Y)=>{const y=a.config;a.config.app==="konnect"&&typeof y.getCustomEditRoute=="function"&&y.getCustomEditRoute&&o.push(y.getCustomEditRoute(C,Y))},v=()=>{if(!l.value&&a.config.app==="konnect"){const C=a.config;g.value&&C.createCustomRoute?o.push(C.createCustomRoute):w.value&&p()}};return(C,Y)=>{const y=t.resolveComponent("KButton"),m=t.resolveComponent("KDropdownItem"),E=t.resolveComponent("KDropdownMenu"),f=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Sb,[t.createVNode(f,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:l.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:Y[1]||(Y[1]=I=>l.value||w.value?void 0:u())},[t.createElementVNode("div",Vb,[t.createElementVNode("div",Nb,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!w.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Db,[t.createVNode(E,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(y,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.MoreIcon),{size:t.unref(bb)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:0,"data-testid":"edit-plugin-schema",onClick:Y[0]||(Y[0]=t.withModifiers(I=>h(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(S,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":w.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:v},[t.createVNode(xn,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||w.value&&!g.value?(t.openBlock(),t.createElementBlock("div",Gb,[w.value&&!g.value?(t.openBlock(),t.createElementBlock("p",Lb,t.toDisplayString(t.unref(r)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,Ub)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Pb),t.createElementVNode("div",{class:"plugin-card-footer",onClick:v},t.toDisplayString(g.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,xb)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-b6a2ebc6"]]),jb=$e(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var S;const i=e,a=n,{i18nT:o,i18n:{t:r}}=Ie.useI18n(),{getMessageFromError:s}=j.useErrors(),{axiosInstance:l}=j.useAxios((S=i.config)==null?void 0:S.axiosRequestConfig),d=t.computed(()=>{var h;return A.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((h=i.plugin)==null?void 0:h.name)||r("delete.custom_plugin")})}),p=t.ref(!1),u=t.ref(""),A=t.ref(!1),g=t.computed(()=>{if(i.config.app==="konnect"){const h=i.plugin.customPluginType==="streaming"?ve.select[i.config.app].streamingCustomPluginItem:ve.select[i.config.app].schemaCustomPluginItem;let v=`${i.config.apiBaseUrl}${h}`;return v=v.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),v=v.replace(/{pluginId}/gi,i.plugin.id),v}return null}),w=async()=>{var h,v,C,Y;if(p.value=!0,u.value="",!(!((h=i.plugin)!=null&&h.name)||((v=i.config)==null?void 0:v.app)!=="konnect"))try{g.value&&await l.delete(g.value),a("proceed")}catch(y){const{response:m}=y;(m==null?void 0:m.status)===400&&((Y=(C=m.data)==null?void 0:C.message)!=null&&Y.includes("plugin schema is currently in use"))?A.value=!0:u.value=s(y)}finally{p.value=!1}};return(h,v)=>{const C=t.resolveComponent("KButton"),Y=t.resolveComponent("KModal");return!A.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(j.EntityDeleteModal),{key:0,"action-pending":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(r)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(j.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:d.value,visible:"",onCancel:v[0]||(v[0]=y=>h.$emit("closed")),onProceed:w},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(Y,{key:1,"action-button-disabled":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:d.value,visible:"",onCancel:v[2]||(v[2]=y=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(o),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(C,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:v[1]||(v[1]=y=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),Yb={class:"custom-plugins-grid"},Hb={class:"empty-state-title"},Fb={class:"empty-state-description"},yi=310,Kb=$e(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=Ie.useI18n(),{getTallestPluginCardHeight:r,getToggleVisibility:s}=Ie.usePluginHelpers(),l=t.ref(!0),d=E=>{a("plugin-clicked",E)},p=t.computed(()=>{if(i.config.app==="kongManager")return[];const E=JSON.parse(JSON.stringify(i.pluginList))[b.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:o("plugins.select.tabs.custom.create.name"),available:!0,group:b.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(E):E}),u=t.ref(!1),A=t.ref(null),g=E=>{u.value=!0,A.value={id:E.id,name:E.name,customPluginType:E.customPluginType}},w=E=>{var f;E&&(a("revalidate"),a("delete:success",((f=A.value)==null?void 0:f.name)||"")),u.value=!1,A.value=null},S=t.ref(yi),h=t.ref(null),v=t.ref(null),C=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${S.value}px`}:{}),Y=t.ref(!1),y=()=>{S.value=Math.max(r(v.value),yi),m()},m=()=>{var E,f;(E=v.value)!=null&&E.length&&(Y.value=s(h.value,(f=v.value)==null?void 0:f.length))};return t.onMounted(async()=>{await t.nextTick(),S.value=Math.max(r(v.value),yi),m(),window==null||window.addEventListener("resize",y)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",y)}),(E,f)=>{const I=t.resolveComponent("KEmptyState"),M=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Yb,[p.value.length?(t.openBlock(),t.createBlock(M,{key:1,modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=F=>l.value=F),class:"custom-plugins-collapse","data-testid":`${t.unref(b).CUSTOM_PLUGINS}-collapse`,title:t.unref(b).CUSTOM_PLUGINS,"trigger-label":l.value?t.unref(o)("plugins.select.view_more"):t.unref(o)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:h,class:"plugin-card-container",style:t.normalizeStyle(C.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(F,V)=>(t.openBlock(),t.createBlock(hi,{key:`plugin-card-${V}`,ref_for:!0,ref_key:"pluginCardRef",ref:v,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:F,onCustomPluginDelete:D=>g(F),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[Y.value?void 0:{name:"trigger",fn:t.withCtx(()=>[f[2]||(f[2]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(I,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Hb,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Fb,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&A.value?(t.openBlock(),t.createBlock(jb,{key:2,config:e.config,plugin:A.value,onClosed:w,onProceed:f[1]||(f[1]=F=>w(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9703ee67"]]),bi=310,nr=$e(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const i=t.useModel(e,"modelValue"),a=e,o=n,{i18n:{t:r}}=Ie.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=Ie.usePluginHelpers(),d=t.ref(bi),p=t.ref(null),u=t.ref(null),A=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),g=t.ref(!1),w=()=>{d.value=Math.max(s(u.value),bi),S()},S=()=>{var h,v;(h=u.value)!=null&&h.length&&(g.value=l(p.value,(v=u.value)==null?void 0:v.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=Math.max(s(u.value),bi),S(),window==null||window.addEventListener("resize",w)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",w)}),(h,v)=>{const C=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(C,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.value?t.unref(r)("plugins.select.view_more"):t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:p,class:"plugin-card-container",style:t.normalizeStyle(A.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,Y=>(t.openBlock(),t.createBlock(hi,{key:`plugin-card-${Y.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:Y,onPluginClicked:y=>o("plugin-clicked",Y)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[g.value?void 0:{name:"trigger",fn:t.withCtx(()=>[v[1]||(v[1]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),zb={class:"plugin-select-grid"},qb={class:"empty-state-title"},Jb={class:"empty-state-description"},Ei=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=Ie.useI18n(),r=t.ref(!1),s=t.ref(Ui),l=p=>{a("plugin-clicked",p)},d=t.computed(()=>{const p=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete p[b.CUSTOM_PLUGINS],p});return(p,u)=>{const A=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",zb,[Object.keys(d.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(A,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",qb,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Jb,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(nr,{key:1,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=g=>r.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:u[1]||(u[1]=g=>l(g))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Li),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(nr,{modelValue:s.value[g],"onUpdate:modelValue":w=>s.value[g]=w,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:d.value[g]||[],onPluginClicked:u[2]||(u[2]=w=>l(w))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Qb={class:"kong-ui-entities-plugin-select-form"},Xb={class:"plugins-filter-input-container"},Zb={key:0},Wb={key:3,"aria-live":"polite",class:"plugins-results-container"},_b={"data-testid":"kong-tab"},$b={class:"tab-description"},eE={"data-testid":"custom-tab"},tE={class:"tab-description"},nE=$e(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var H;const i=e,a=n,o=Kt.useRoute(),r=Kt.useRouter(),{i18n:{t:s}}=Ie.useI18n(),{pluginMetaData:l}=Ie.usePluginMetaData(),{getMessageFromError:d}=j.useErrors(),{sortAlpha:p,objectsAreEqual:u}=j.useHelpers(),A=t.ref(""),g=t.ref(!0),w=t.ref(!1),S=t.ref(""),h=t.ref([]),v=t.ref([]),C=t.ref({}),Y=t.ref([]),{axiosInstance:y}=j.useAxios((H=i.config)==null?void 0:H.axiosRequestConfig),m=t.computed(()=>C.value?Object.entries(C.value).filter(([B])=>B!==b.CUSTOM_PLUGINS).reduce((B,[,k])=>{for(const R of k)B[R.id]=R;return B},{}):{}),E=t.computed(()=>{var R;if(!C.value)return{};const B=A.value.toLowerCase(),k=JSON.parse(JSON.stringify(C.value));for(const $ in C.value){const ie=((R=C.value[$])==null?void 0:R.filter(ne=>ne.name.toLowerCase().includes(B)||ne.id.toLowerCase().includes(B)||ne.group.toLowerCase().includes(B)))||[];ie.length?k[$]=ie:delete k[$]}return k}),f=t.computed(()=>i.highlightedPluginIds.reduce((B,k)=>{const R=m.value[k];return R&&B.push(R),B},[])),I=t.computed(()=>Object.keys(E.value).length>0),M=t.computed(()=>Object.keys(C.value).length>0&&!I.value),F=t.computed(()=>i.config.app==="konnect"?[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(i.customPluginSupport)}]:[]),V=t.computed(()=>{var k;let B=F.value.length&&((o==null?void 0:o.hash)||((k=F.value[0])==null?void 0:k.hash))||"";return B==="#custom"&&["none","disabled"].includes(i.customPluginSupport)&&(B="#kong"),B}),D=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...h.value])].filter(B=>!i.ignoredPlugins.includes(B)).filter(B=>i.config.entityType&&(i.config.entityType==="services"&&l[B]&&!l[B].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[B]&&!l[B].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[B]&&!l[B].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[B]&&!l[B].scope.includes(c.CONSUMER))?!1:B).reduce((B,k)=>{var Q;const R=l[k]&&l[k].name||k,$={...l[k],id:k,name:R,available:h.value.includes(k),disabledMessage:"",group:((Q=l[k])==null?void 0:Q.group)||b.CUSTOM_PLUGINS};$.group===b.CUSTOM_PLUGINS&&($.customPluginType=v.value.find(Te=>Te.name===k)?"streaming":"schema"),i.disabledPlugins&&($.disabledMessage=i.disabledPlugins[k]);const ie=$.group||s("plugins.select.misc_plugins");let ne=B[ie];return ne||(ne=[]),ne.push($),ne.sort(p("name")),B[ie]=ne,B},{}),K=t.computed(()=>{var k;let B=`${i.config.apiBaseUrl}${ve.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(B=((k=i.config.gatewayInfo)==null?void 0:k.edition)==="community"?`${i.config.apiBaseUrl}${ve.select[i.config.app].availablePluginsForOss}`:B.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),B}),q=t.computed(()=>{if(i.config.app==="konnect"&&i.customPluginSupport==="streaming"){let B=`${i.config.apiBaseUrl}${ve.select[i.config.app].streamingCustomPlugins}`;return B=B.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),B}return null}),_=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let B=`${i.config.apiBaseUrl}${ve.list[i.config.app].forEntity}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),B.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),te=B=>{r.replace({hash:B,query:o.query})};t.watch(()=>i.disabledPlugins,(B,k)=>{!u(B,k)&&!g.value&&(C.value=D())}),t.watch(()=>i.ignoredPlugins,(B,k)=>{!u(B,k)&&!g.value&&(C.value=D())}),t.watch(g,B=>{a("loading",B)});const z=t.ref(!1),T=t.ref(!1),N=t.ref(!1);return t.onBeforeMount(async()=>{z.value=await i.canCreateCustomPlugin(),T.value=await i.canEditCustomPlugin(),N.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:B}=await y.get(K.value);if(i.config.app==="konnect"){const{names:k}=B;if(h.value=k||[],q.value){const{data:R}=await y.get(q.value);v.value=R.data||[]}}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:k}}=B;h.value=k?Object.keys(k):[]}}catch(B){w.value=!0,S.value=d(B)}if(_.value)try{const{data:{data:B}}=await y.get(_.value);if(B!=null&&B.length){const k=B.reduce((R,$)=>($.name&&R.push($.name),R),[]);Y.value=Y.value.concat(k)}}catch{}w.value||(C.value=D()),g.value=!1}),(B,k)=>{const R=t.resolveComponent("KInput"),$=t.resolveComponent("KSkeletonBox"),ie=t.resolveComponent("KSkeleton"),ne=t.resolveComponent("KEmptyState"),Q=t.resolveComponent("KTooltip"),Te=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Qb,[t.createElementVNode("div",Xb,[t.createVNode(R,{modelValue:A.value,"onUpdate:modelValue":k[0]||(k[0]=ge=>A.value=ge),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),g.value?(t.openBlock(),t.createElementBlock("section",Zb,[t.createVNode($,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ie,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):w.value?(t.openBlock(),t.createBlock(ne,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):M.value&&A.value?(t.openBlock(),t.createBlock(ne,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(s)("search.no_results",{filter:A.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",Wb,[F.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(Te,{key:0,modelValue:V.value,"onUpdate:modelValue":k[5]||(k[5]=ge=>V.value=ge),"data-testid":"plugins-tabs",tabs:F.value,onChange:te},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",_b,[t.createElementVNode("p",$b,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(Ei,{config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:k[1]||(k[1]=ge=>B.$emit("plugin-clicked",ge))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",eE,[t.createElementVNode("p",tE,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Kb,{"can-create-custom-plugin":z.value,"can-delete-custom-plugin":N.value,"can-edit-custom-plugin":T.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,"onDelete:success":k[2]||(k[2]=ge=>B.$emit("delete-custom:success",ge)),onPluginClicked:k[3]||(k[3]=ge=>B.$emit("plugin-clicked",ge)),onRevalidate:k[4]||(k[4]=()=>C.value=D())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(Q,{"max-width":"300",text:t.unref(s)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Ei,{key:1,config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:k[6]||(k[6]=ge=>B.$emit("plugin-clicked",ge))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-429bc3e0"]]),iE={class:"kong-ui-entity-plugin-config-card"},aE={class:"name-cell-wrapper"},oE={class:"info-name"},rE={key:0},sE={key:0},lE={key:0},cE={key:0},wi="config",dE=$e(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var Y;const i=n,a=e,{i18n:{t:o}}=Ie.useI18n(),r=Ie.usePluginMetaData(),{setFieldType:s}=Ie.usePluginHelpers(),{getPropValue:l}=j.useHelpers(),d=t.computed(()=>{var y;return(y=ve.item[a.config.app])==null?void 0:y[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),p=t.computed(()=>{var E,f;const y={},m=((E=h.value)==null?void 0:E.fields)||[];for(let I=0;I<m.length;I++){const M=h.value.fields[I],F=(f=Object.keys(M))==null?void 0:f[0];s(y,F,M[F])}return{...y,instance_name:{section:j.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:j.ConfigurationSchemaSection.Basic,order:6},route:{label:o("plugins.fields.route"),section:j.ConfigurationSchemaSection.Basic,order:6},service:{label:o("plugins.fields.service"),section:j.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:j.ConfigurationSchemaSection.Basic,order:6},protocols:{type:j.ConfigurationSchemaType.BadgeTag,section:j.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var m,E,f;if(!((m=h.value)!=null&&m.fields))return[];const y=(E=h.value.fields)==null?void 0:E.find(I=>{var F;return((F=Object.keys(I))==null?void 0:F[0])===wi});return((f=y==null?void 0:y[wi])==null?void 0:f.fields)||[]}),A=t.computed(()=>{var m,E;const y={};if(!u.value)return y;for(let f=0;f<((m=u.value)==null?void 0:m.length);f++){const I=u.value[f],M=(E=Object.keys(I))==null?void 0:E[0],F=I[M];F.required&&(y[M]={order:1}),s(y,M,F)}return y}),{getMessageFromError:g}=j.useErrors(),{axiosInstance:w}=j.useAxios((Y=a.config)==null?void 0:Y.axiosRequestConfig),S=t.computed(()=>{var m,E;let y=`${a.config.apiBaseUrl}${ve.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,((m=a.config)==null?void 0:m.controlPlaneId)||""):a.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,(E=a.config)!=null&&E.workspace?`/${a.config.workspace}`:"")),y=y.replace(/{plugin}/gi,a.config.pluginType),y}),h=t.ref({});j.useSchemaProvider(h);const v=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:y}=await w.get(S.value);h.value=y}catch(y){C.value=g(y),i("error:fetch-schema",y)}finally{v.value=!1}}),(y,m)=>{const E=t.resolveComponent("KSkeleton"),f=t.resolveComponent("KEmptyState"),I=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",iE,[v.value?(t.openBlock(),t.createBlock(E,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(f,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(j.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"entity-type":t.unref(j.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":wi,"plugin-config-schema":A.value,"onFetch:error":m[0]||(m[0]=M=>y.$emit("fetch:error",M)),"onFetch:success":m[1]||(m[1]=M=>y.$emit("fetch:success",M)),onLoading:m[2]||(m[2]=M=>y.$emit("loading",M))},{name:t.withCtx(M=>[t.createElementVNode("div",aE,[t.createVNode(xn,{class:"plugin-icon",name:t.unref(l)("rowValue",M),size:24},null,8,["name"]),t.createElementVNode("span",oE,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",M))),1)])]),consumer:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",rE,"–"))]),route:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",sE,"–"))]),service:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lE,"–"))]),consumer_group:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",cE,"–"))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-f27734d2"]]),{usePluginMetaData:uE}=Ie;ee.EntityTypeIdField=Et,ee.PLUGIN_GROUPS_COLLAPSE_STATUS=Ui,ee.PluginConfigCard=dE,ee.PluginForm=Kh,ee.PluginGroup=b,ee.PluginGroupArray=Li,ee.PluginIcon=xn,ee.PluginList=Tb,ee.PluginScope=c,ee.PluginSelect=nE,ee.PluginSelectCard=hi,ee.PluginSelectGrid=Ei,ee.VueFormGenerator=Le,ee.getPluginIconURL=qi,ee.pluginEndpoints=ve,ee.usePluginMetaData=uE,Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"})});
|
|
68
|
+
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`,config:{limit:500,window_size:3600}}]},a=new Set(["selectionGroup","enabled",...["identifier","limit","window_size","error_code","error_message"].map(V=>`config-${V}`)]),o=V=>V===void 0?!1:a.has(V),{t:r}=We.createI18n("en-us",Mt),s=e,l=t.computed(()=>{var V,D,K;const q=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(_=>_.type==="selectionGroup"&&_.model==="selectionGroup");return{fields:[(K=s.formSchema)==null?void 0:K.fields.find(_=>_.model==="enabled"),q].filter(Boolean)}}),d=t.computed(()=>{var V,D;const K=((D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.filter(T=>!o(T.model)))??[],q=[],_=[],te=[];let z=!1;for(const T of K){const N=T.model;if(N!==void 0){if(N.startsWith("config-redis-")){(T.model==="config-redis-cluster_addresses"||T.model==="config-redis-sentinel_addresses")&&(T.inputAttributes.help=r("rla.redis.address_example")),_.push(T);continue}z?te.push(T):q.push(T),T.model==="config-strategy"&&(z=!0)}}return{endsWithStrategy:{fields:q},redis:{fields:_},afterStrategy:{fields:te}}}),p=t.computed(()=>{const V=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,V)?i[V]:[]}),u=t.computed(()=>{var V,D;return(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(K=>K.model==="config-identifier")}),A=t.computed(()=>{var V,D,K;return(((K=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(q=>q.model==="config-identifier"))==null?void 0:K.values)??[]).map(q=>({label:r(`rla.identifiers.options.${q}`),value:q}))}),g=t.ref(),w=t.ref(!0),S=t.computed(()=>{var V,D,K;return s.formModel["config-window_type"]??((K=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(q=>q.model==="config-window_type"))==null?void 0:K.default)}),h=t.computed(()=>{var V,D,K,q,_,te;const z=(K=(D=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:D.find(T=>T.model==="config-window_type"))==null?void 0:K.default;return(((te=(_=(q=s.formSchema)==null?void 0:q.fields)==null?void 0:_.find(T=>T.model==="config-window_type"))==null?void 0:te.values)??[]).sort((T,N)=>T===z?-1:N===z?1:0)}),v=t.computed(()=>{var V;const D=(V=s.formModel["config-limit"])==null?void 0:V.map((K,q)=>{var _,te;return{limit:K,windowSize:(te=(_=s.formModel)==null?void 0:_["config-window_size"])==null?void 0:te[q]}});return!Array.isArray(D)||D.length===0?[{limit:void 0,windowSize:void 0}]:D}),C=t.computed(()=>{var V,D,K,q;return((V=s.formModel)==null?void 0:V["config-identifier"])??((q=(K=(D=s.formSchema)==null?void 0:D.fields)==null?void 0:K.find(_=>_.model==="config-identifier"))==null?void 0:q.default)}),Y=t.computed(()=>{var V,D,K,q;return((V=s.formModel)==null?void 0:V["config-error_code"])??((q=(K=(D=s.formSchema)==null?void 0:D.fields)==null?void 0:K.find(_=>_.model==="config-error_code"))==null?void 0:q.default)}),y=t.computed(()=>{var V,D,K,q;return((V=s.formModel)==null?void 0:V["config-error_message"])??((q=(K=(D=s.formSchema)==null?void 0:D.fields)==null?void 0:K.find(_=>_.model==="config-error_message"))==null?void 0:q.default)}),m=(V,D)=>{if(D===g.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{g.value=void 0});return}s.onModelUpdated([V.config.limit],"config-limit"),s.onModelUpdated([V.config.window_size],"config-window_size"),t.nextTick(()=>{g.value=D})},E=V=>{g.value!==void 0&&(g.value=void 0),V!==null&&s.onModelUpdated(V.toString(),"config-window_type")},f=(V,D)=>{var K;g.value!==void 0&&(g.value=void 0);const q=at(((K=s.formModel)==null?void 0:K["config-limit"])??[]);q[V]=D,s.onModelUpdated(q,"config-limit")},I=(V,D)=>{var K;g.value!==void 0&&(g.value=void 0);const q=at(((K=s.formModel)==null?void 0:K["config-window_size"])??[]);q[V]=D,s.onModelUpdated(q,"config-window_size")},M=V=>{var D,K;g.value!==void 0&&(g.value=void 0);const q=at(((D=s.formModel)==null?void 0:D["config-limit"])??[]),_=at(((K=s.formModel)==null?void 0:K["config-window_size"])??[]);q.length===0&&q.push(void 0),_.length===0&&_.push(void 0),q.splice(V+1,0,void 0),_.splice(V+1,0,void 0),s.onModelUpdated(q,"config-limit"),s.onModelUpdated(_,"config-window_size")},F=V=>{var D,K;if(v.value.length>1){g.value!==void 0&&(g.value=void 0);const q=at(((D=s.formModel)==null?void 0:D["config-limit"])??[]),_=at(((K=s.formModel)==null?void 0:K["config-window_size"])??[]);q.length===0&&q.push(void 0),_.length===0&&_.push(void 0),q.splice(V,1),_.splice(V,1),s.onModelUpdated(q,"config-limit"),s.onModelUpdated(_,"config-window_size")}};return(V,D)=>{const K=t.resolveComponent("VueFormGenerator"),q=t.resolveComponent("KLabel"),_=t.resolveComponent("KRadio"),te=t.resolveComponent("KInput"),z=t.resolveComponent("KButton"),T=t.resolveComponent("KBadge"),N=t.resolveComponent("KTooltip"),H=t.resolveComponent("KCard"),B=t.resolveComponent("KSelect"),k=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Ef,[t.createVNode(K,{model:V.formModel,options:V.formOptions,schema:l.value,onModelUpdated:D[0]||(D[0]=(R,$)=>V.onModelUpdated(R,$))},null,8,["model","options","schema"]),t.createVNode(H,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(q,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",wf,t.toDisplayString(t.unref(r)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Cf,[t.createElementVNode("div",Bf,[t.createVNode(q,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(r)("rla.window_type.help")},null,8,kf)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",If,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,R=>(t.openBlock(),t.createBlock(_,{key:`window-type-${R}`,"model-value":S.value,name:R,"selected-value":R,"onUpdate:modelValue":E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`rla.window_type.options.${R}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",vf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v.value,(R,$)=>(t.openBlock(),t.createElementBlock("div",{key:$.toString()},[t.createVNode(q,{for:`rla-form-request-limits-item-${$}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.label_index",{index:$+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Of,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${$}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(te,{"model-value":R.limit&&R.limit.toString(),placeholder:t.unref(r)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":ie=>f($,Number.parseInt(ie))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.interval_determiner")),1),t.createVNode(te,{"model-value":R.windowSize&&R.windowSize.toString(),placeholder:t.unref(r)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":ie=>I($,Number.parseInt(ie))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.seconds")),1)],8,Mf),t.createElementVNode("div",Rf,[t.createVNode(z,{appearance:"tertiary",disabled:v.value.length<=1,onClick:()=>F($)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(z,{appearance:"tertiary",onClick:()=>M($)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",Tf,[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Sf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(R,$)=>(t.openBlock(),t.createBlock(N,{key:`use-case-${$}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(R.description),1),D[9]||(D[9]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.label"))+": "+t.toDisplayString(R.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.time_interval"))+": "+t.toDisplayString(R.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(T,{appearance:g.value===`${S.value}-${$}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>m(R,`${S.value}-${$}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(R.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(B,{modelValue:C.value,"onUpdate:modelValue":D[1]||(D[1]=R=>C.value=R),class:"rla-form-identifiers",items:A.value,label:t.unref(r)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:D[2]||(D[2]=R=>s.onModelUpdated(R.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:u.value&&u.value.help},null,8,xf)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(q,{for:"rla-form-error-legend",info:t.unref(r)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Vf,[t.createVNode(te,{class:"input-error-code","model-value":Y.value&&Y.value.toString(),placeholder:t.unref(r)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":D[3]||(D[3]=R=>V.onModelUpdated(Number.parseInt(R),"config-error_code"))},null,8,["model-value","placeholder"]),D[10]||(D[10]=t.createElementVNode("div",null,":",-1)),t.createVNode(te,{"model-value":y.value,placeholder:t.unref(r)("rla.error_message.message_placeholder"),"onUpdate:modelValue":D[4]||(D[4]=R=>V.onModelUpdated(R,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(k,{modelValue:w.value,"onUpdate:modelValue":D[8]||(D[8]=R=>w.value=R),"trigger-label":t.unref(r)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(K,{model:V.formModel,options:V.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:D[5]||(D[5]=(R,$)=>V.onModelUpdated(R,$))},null,8,["model","options","schema"]),V.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(H,{key:0,class:"rla-form-redis-card",title:t.unref(r)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(K,{model:V.formModel,options:V.formOptions,schema:d.value.redis,onModelUpdated:D[6]||(D[6]=(R,$)=>V.onModelUpdated(R,$))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(K,{class:t.normalizeClass({"rla-last-vfg":V.formModel["config-strategy"]!=="redis"}),model:V.formModel,options:V.formOptions,schema:d.value.afterStrategy,onModelUpdated:D[7]||(D[7]=(R,$)=>V.onModelUpdated(R,$))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),Df=Ce(Nf,[["__scopeId","data-v-e9e76a93"]]),Pf=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:bf,ExitTransformer:cf,OIDCForm:of,PostFunction:sf,RLAForm:Df},Symbol.toStringTag,{value:"Module"})),ri=["array","metric","advanced","selectionGroup","object-advanced"],Bo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Ht={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Gf={"config-prompts-prepend":{...Ht,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Ht,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",required:!0,values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",required:!0,help:"LLM message content",inputType:"text"}]}}}},Lf={"config-templates":{...Ht,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",required:!0,inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",required:!0,inputType:"text"}]}}}},Uf={shamefullyTransformPayload:({originalModel:e,model:n,payload:i,schema:a})=>{const o=s=>{var l;return(l=a[s])!=null&&l.required&&n[s]?!0:e[s]===n[s]?!1:e[s]===null?n[s]!==""&&!Number.isNaN(n[s]):!0},r=s=>Object.keys(e).some(l=>l.startsWith(s)&&o(l));r("config-embeddings")||(i.config.embeddings=null),r("config-vectordb")||(i.config.vectordb=null)}},jf={"config-llm_providers":{...Ht,newElementButtonLabel:"+ Add Provider",items:{type:"object",schema:{fields:[{label:"Window Size",model:"window_size",help:"Window size to apply a limit to (defined in seconds)",type:"input",required:!0,inputType:"number"},{label:"Name",model:"name",help:"The llm providers.",type:"select",required:!0,values:["anthropic","azure","bedrock","cohere","gemini","llama2","mistral","openai","requestPrompt"]},{label:"Limit",model:"limit",help:"Limit applied to the llm provider.",type:"input",required:!0,inputType:"number"}]}}}},Yf={enabled:{type:"switch",model:"enabled",label:"Enabled",textOn:"This plugin is Enabled",textOff:"This plugin is Disabled",inputType:"hidden",styleClasses:"field-switch top-border bottom-border hide-label",default:!0},name:{default:"application-registration",type:"input",inputType:"hidden",styleClasses:"kong-form-hidden-field-wrapper"},"service-id":{type:"AutoSuggest",label:"Gateway Service",styleClasses:"bottom-border",description:"Specific Gateway Service in this workspace",model:"service-id",entity:"services",placeholder:"Select a Gateway Service",inputValues:{fields:["name","id"]},help:"The Gateway Service that this plugin configuration will target"},tags:Pt.tags,protocols:{id:"protocols",default:[],type:"multiselect",label:"Protocols",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}],help:"A list of the request protocols that will trigger this plugin. The default value, as well as the possible values allowed on this field, may change depending on the plugin type.",placeholder:"Select valid protocols for the plugin",styleClasses:"plugin-protocols-select"}},be={type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",styleClasses:"kong-form-field-wrapper",newElementButtonLabel:"+ Add",newElementButtonLabelClasses:"kong-form-new-element-button-label"},Rn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Hf={"config-metrics":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"tags",label:"Tags",type:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"kong-form-array-field",fieldItemsClasses:"kong-form-array-field-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},inputType:"text"}]}}}},Ff={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Kf={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},zf={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},qf={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},Jf={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},ko=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Pt.fields.arrayItems({newElementButtonLabel:"Add"})}),Jf),Tn={"config-strategy":{label:"Config.Strategy",type:"select",default:"redis",values:["local","redis"]},"config-consumer_groups":{label:"Config.Consumer Groups",type:"input",placeholder:"Enter list of consumer groups",hint:"e.g. group1, group2"}},Qf={"config-remove-headers":{},"config-remove.querystring":{},"config-remove-body":{},"config-replace-headers":{},"config-replace-querystring":{},"config-replace-body":{},"config-rename-headers":{},"config-rename-querystring":{},"config-rename-body":{},"config-add-headers":{},"config-add-querystring":{},"config-add-body":{},"config-append-headers":{},"config-append-querystring":{},"config-append-body":{},"config-allow-body":{}},Xf=["config-remove-headers","config-remove.querystring","config-remove-body","config-replace-headers","config-replace-querystring","config-replace-body","config-rename-headers","config-rename-querystring","config-rename-body","config-add-headers","config-add-querystring","config-add-body","config-append-headers","config-append-querystring","config-append-body","config-allow-body"].reduce((e,n)=>({...e,[n]:Pt.fields.arrayItems({newElementButtonLabel:"Add"})}),Qf),Io={"config-add-json":{...be,label:"Config.Add.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...be,label:"Config.Append.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...be,label:"Config.Remove.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...be,label:"Config.Rename.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...be,label:"Config.Replace.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}}},Zf={...Io,"config-allow-json":{...be,label:"Config.Allow.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...be,label:"Config.Transform.Functions",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...be,label:"Config.Transform.Json",inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}}},Wf={"config-rules":{...Ht,newElementButtonLabel:"+ Add Rule",items:{type:"object",schema:{fields:[{label:"Upstream Name",model:"upstream_name",type:"input",help:"Target hostname where traffic will be routed in case of condition match",placeholder:"Hostname",inputType:"text"},{label:"Condition",model:"condition",type:"keyValuePairs",help:"List of headers name and value pairs",newElementButtonLabelClasses:"kong-form-new-element-button-label",newElementButtonLabel:"+ Add Condition",keyInputPlaceholder:"Header name",valueInputPlaceholder:"Header value"}]}}}},_f={"config-session_redis_cluster_nodes":{...Ht,newElementButtonLabel:"+ Add Cluster Node",items:{type:"object",schema:{fields:[{label:"IP",model:"ip",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},$f={"config-metrics":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},eh={"config-metrics":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"Name",type:"select",values:["request_count","request_size","response_size","latency","status_count","unique_users","request_per_user","upstream_latency","kong_latency","status_count_per_user","status_count_per_user_per_route","status_count_per_workspace","shdict_usage","cache_datastore_hits_total","cache_datastore_misses_total"]},{model:"stat_type",label:"Stat Type",type:"select",values:["gauge","timer","counter","histogram","meter","set"]},{model:"sample_rate",label:"Sample Rate",type:"input",inputType:"number",id:"sample_rate"},{model:"consumer_identifier",label:"Consumer Identifier",type:"select",values:["consumer_id","custom_id","username"]},{model:"service_identifier",label:"Service Identifier",type:"select",values:["service_id","service_name","service_host","service_name_or_host"]},{model:"workspace_identifier",label:"Workspace Identifier",type:"select",values:["workspace_id","workspace_name"]}]}}}},th={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},nh={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},ih={"config-message_by_lua_functions":{...be,inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}}},ah={"config-message_by_lua_functions":{...be,inputAttributes:{...be.inputAttributes,type:"textarea",max:!1}}},oh={"config-static_tags":{...Rn,items:{type:"object",default:()=>({}),schema:{fields:[{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"value",label:"value",type:"input",inputType:"string",id:"schema_value"}]}}}},rh=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},vo=(e,n)=>(e.order??0)-(n.order??0),Oo=(e,n)=>rh(e,n)||vo(e,n)||e.model.localeCompare(n.model),ve={useI18n:fn,usePluginMetaData:Dl,usePluginHelpers:Gi,useSchemas:e=>{const{capitalize:n}=j.useStringHelpers(),{convertToDotNotation:i}=Gi(),{i18n:{t:a}}=fn(),o={"application-registration":{overwriteDefault:!0,formSchema:{...Yf}},datadog:{...Hf},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...$f},"statsd-advanced":{...eh},"route-by-header":{...Wf},"ai-prompt-decorator":{...Gf},"ai-prompt-template":{...Lf},"ai-proxy-advanced":{...Uf},"ai-rate-limiting-advanced":{...jf},"vault-auth":{...nh},"oas-validation":{...qf},mocking:{...zf},"rate-limiting":{...Tn},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Tn["config-consumer_groups"]}:{...Tn},"graphql-rate-limiting-advanced":{...Ff},"injection-protection":{...Kf},"response-ratelimiting":{...Tn},"pre-function":{...ko},"post-function":{...ko},"request-transformer-advanced":{...Xf},"response-transformer":{...Io},"response-transformer-advanced":{...Zf},zipkin:{...oh},"upstream-oauth":{...th},saml:{..._f},"kafka-upstream":{...ih},confluent:{...ah}},r=()=>["created_at","updated_at","id"],s=(m,E,f)=>{let I={};(E||m)&&(I=E||(m.fields?m.fields:m));const M=r().concat(m.blacklist?m.blacklist:[]),F=Object.keys(I).filter(te=>!M.includes(te)),V=F.indexOf("comparator");V>-1&&F.splice(V,1);let D={fields:[]};const K={};F.forEach(te=>{d(I[te],te,I,K,D,f)});const q=K.name,_=_e[q];if(Bo(q)||_!=null&&_.useLegacyForm||e!=null&&e.credential)D.fields.sort((te,z)=>(te.order=te.order||0,z.order=z.order||0,te.order-z.order));else{const te=[],z=[],T=[],N={};if(_!=null&&_.fieldRules){const k=[..._.fieldRules.atLeastOneOf??[],..._.fieldRules.onlyOneOf??[],..._.fieldRules.mutuallyRequired??[]];if(_.fieldRules.onlyOneOfMutuallyRequired)for(const R of _.fieldRules.onlyOneOfMutuallyRequired)k.push(...R);for(const R of k)for(const $ of R)N[$.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const k of D.fields){if(k.pinned){te.push(k);continue}if(k.required||N[k.model]!==void 0){N[k.model]===!1&&(N[k.model]=!0),z.push(k);continue}T.push(k)}const H=Object.entries(N).filter(([,k])=>!k).map(([k])=>k.replace(/-/g,".").replace(/_/g,"-"));H.length>0&&console.warn(`Unknown checked fields for plugin ${q}: ${H.join(", ")}`);const B=[];te.length>0&&B.push({fields:te.sort(vo)}),(z.length>0||T.length>0)&&B.push({fields:z.sort(Oo),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:T.sort(Oo),triggerLabel:{expand:a("plugins.form.grouping.advanced_parameters.view"),collapse:a("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),D={groups:B}}return{schema:D,model:K,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},l=m=>Array.isArray(m.default)||m.default!=null&&typeof m.default!="object"&&m.default!=="function",d=(m,E,f,I,M,F)=>{const V=l(m);return I[E]=V?m.default:null,m.id=E,m.model=E,m.fields&&m.type==="record"?u(m,E,f,I,M,F):(f[E]=m,y(m,I),F&&F[E]&&p(f[E],F[E]),M.fields.push(m)),f},p=(m,E)=>(E&&(Object.assign(m,E),E.label&&(m.label=E.label)),m),u=(m,E,f,I,M,F)=>{m.fields.forEach(V=>{Object.keys(V).forEach(D=>{const K=V[D];f=d(K,E+"-"+D,f,I,M,F)})})},A=(m,E)=>{m.type="input",m.inputType="hidden",m.styleClasses="kong-form-hidden-field-wrapper";const f=e==null?void 0:e.entityId;E[m.model]=f?{id:f}:null},g=m=>{m.type="input",m.inputType="number",m.between&&m.between.length===2&&(m.min=m.between[0],m.max=m.between[1])},w=m=>{Object.prototype.hasOwnProperty.call(m,"one_of")?(m.type="select",m.values=m.one_of,m.selectOptions={hideNoneSelectedText:!0}):(m.type="input",m.inputType="text")},S=m=>{m.type="checkbox",m.default=!0,m.required=!1},h=m=>{if(m.type="object-advanced",m.values.type==="array"){const{type:E}=m.values.elements||{};m.schema={fields:[{schema:{fields:[{...be,model:m.model,valueArrayType:E==="integer"?"number":E||"string",inputAttributes:{...be.inputAttributes,type:E==="integer"?"number":"text",inputMode:E==="integer"?"numeric":"text"}}]}}]}}else m.values.fields&&(m.schema={fields:[{type:"object",model:"object",schema:{fields:m.values.fields.map(E=>{const f=Object.keys(E)[0];return{model:f,type:"input",label:n(f),placeholder:f,inputType:E[f].type}})}}]})},v=m=>m.fields.reduce((E,f)=>(f.fields&&f.fields.forEach(I=>{E[I.model]=I}),f.model&&(E[f.model]=f),E),{}),C=(m,E)=>{if(!ri.includes(m.model))return;const f=v(m);ri.forEach(I=>{Object.keys(f).forEach(M=>{const F=l(f[M]);E[M]=F?f[M].default:null}),delete E[I]})},Y=(m,E)=>m.inputType==="hidden"?"":i(n(m.label||E.replace(/_/g," "))),y=(m,E)=>{switch(C(m,E),m.type){case"foreign":A(m,E);break;case"number":g(m),m.attributes={step:"any"};break;case"integer":g(m);break;case"string":w(m);break;case"boolean":S(m);break;case"map":h(m);break}m.inputType==="foreign"&&A(m,E),m.label=Y(m,m.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:o,typedefs:Pt}}},xe="/v2/control-planes/{controlPlaneId}/core-entities",Ve="/{workspace}",Oe={list:{konnect:{all:`${xe}/plugins`,forEntity:`${xe}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${xe}/v1/available-plugins`,streamingCustomPlugins:`${xe}/custom-plugins`,schemaCustomPluginItem:`${xe}/plugin-schemas/{pluginId}`,streamingCustomPluginItem:`${xe}/custom-plugins/{pluginId}`},kongManager:{availablePlugins:`${Ve}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${xe}/plugins`,forEntity:`${xe}/{entityType}/{entityId}/plugins`},edit:{all:`${xe}/plugins/{id}`,forEntity:`${xe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${xe}/{resourceEndpoint}`,edit:`${xe}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${xe}/v1/schemas/json/plugin/validate`,entityGetOne:`${xe}/{entity}/{id}`,entityGetAll:`${xe}/{entity}?size=1000`},kongManager:{create:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`},edit:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ve}/schemas/plugins/{plugin}`,credential:{create:`${Ve}/{resourceEndpoint}`,edit:`${Ve}/{resourceEndpoint}/{id}`},credentialSchema:`${Ve}/schemas/{plugin}`,validate:`${Ve}/schemas/plugins/validate`,entityGetOne:`${Ve}/{entity}/{id}`,entityGetAll:`${Ve}/{entity}`}},item:{konnect:{all:`${xe}/plugins/{id}`,forEntity:`${xe}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`}}},sh={create:"New vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},lh={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},ch={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},dh={title:"Vaults",list:{toolbar_actions:{new_vault:"New vault"},table_headers:{prefix:"Prefix",name:"Vault Type",description:"Description",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Vault",description:"Improve the security of your Kong Gateway deployment with centralized secrets."},empty_state_v2:{title:"Configure your first vault",description:"Vaults securely store sensitive information, such as credentials and certificates, enhancing the security of your API infrastructure.",create_cta:"New vault"}}},uh={title:"Secrets",list:{toolbar_actions:{new_secret:"Store New Secret"},table_headers:{key:"Secret Key",updated_at:"Updated At"},empty_state:{title:"No Secrets Stored",description:"Improve the security of your Kong Gateway deployment with centralized secrets."}},form:{info:{title:"Secret",description:"Enter the secret key and secret value to be stored in Konnect vault"},fields:{key:{label:"Key",placeholder:"Enter key"},value:{label:"Value",placeholder:"Enter value here, can be simple values or multi-line"}},hint:"Once saved, the secret value will not be visible"}},ph={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},Ah={vault_type:"Vault Type"},gh={sections:{general:{title:"General Information",description:"General information helps identify and manage this Vault instance."},config:{title:"Vault Configuration",description:"Select a type of Vault and configure properties specific to each type of Vault."}},fields:{prefix:{label:"Prefix",placeholder:"Enter a unique prefix for this vault",help:"e.g. my-vault",tooltip:"The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities."},description:{label:"Description",placeholder:"Enter some description for this vault"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"}},config:{konnect:{label:"Konnect",description:"Access secrets stored directly in Konnect's unified platform to easily reference in Kong Gateway configuration."},env:{label:"Environment Variables",description:"Access secrets stored via variables to be made available in Kong Gateway at runtime.",fields:{prefix:{label:"Environment Variable Prefix",placeholder:"Enter your environment variable vault prefix",tooltip:"Data plane will access all the environment variables starting with this prefix."}}},aws:{label:"AWS Secrets Manager",description:"Access secrets stored in AWS Secrets Manager for Kong Gateway configuration.",fields:{region:{label:"Region",placeholder:"Select an AWS region",tooltip:"The AWS region your vault is located in",locations:{"us-east-1":{location:"N. Virginia"},"us-east-2":{location:"Ohio"},"us-west-1":{location:"N. California"},"us-west-2":{location:"Oregon"},"af-south-1":{location:"Cape Town"},"ap-east-1":{location:"Hong Kong"},"ap-southeast-3":{location:"Jakarta"},"ap-south-1":{location:"Mumbai"},"ap-northeast-1":{location:"Tokyo"},"ap-northeast-2":{location:"Seoul"},"ap-northeast-3":{location:"Osaka"},"ap-southeast-1":{location:"Singapore"},"ap-southeast-2":{location:"Sydney"},"ca-central-1":{location:"Canada"},"eu-central-1":{location:"Frankfurt"},"eu-west-1":{location:"Ireland"},"eu-west-2":{location:"London"},"eu-west-3":{location:"Paris"},"eu-south-1":{location:"Milan"},"eu-north-1":{location:"Stockholm"},"me-south-1":{location:"Bahrain"},"sa-east-1":{location:"São Paulo"},"us-gov-east-1":{location:"US East"},"us-gov-west-1":{location:"US West"}}},endpoint_url:{label:"Endpoint URL",tooltip:'The AWS SecretsManager service endpoint url. If not specified, the value used by vault will be the official AWS SecretsManager service url which is `https://secretsmanager.<region>.amazonaws.com`. You can specify a complete URL(including the "http/https" scheme) to override the endpoint that vault will connect to.'},assume_role_arn:{label:"Assume Role ARN",tooltip:"The target AWS IAM role ARN that will be assumed. Typically this is used for operating between multiple roles or cross-accounts. If you are not using assume role you should not specify this value."},role_session_name:{label:"Role Session Name",tooltip:"The role session name used for role assuming."},sts_endpoint_url:{label:"STS Endpoint URL",tooltip:"The custom STS endpoint URL used for role assuming in AWS Vault. Note that this value will override the default STS endpoint URL(which should be `https: //sts.amazonaws.com`, or `https: //sts.<region>.amazonaws.com` if you have `AWS_STS_REGIONAL_ENDPOINTS` set to `regional`). If you are not using private VPC endpoint for STS service, you should not specify this value."}}},gcp:{label:"Google Secret Manager",description:"Access secrets stored in Google Secret Manager for Kong Gateway configuration.",fields:{project_id:{label:"Project ID",placeholder:"Enter your Google Cloud Project ID",tooltip:{text:"Visit your Google API Console and select {italic-text} in the projects list to see your project ID",italicText:"Manage all projects"}}}},hcv:{label:"HashiCorp Vault",description:"Access secrets stored in HashiCorp Vault for Kong Gateway configuration.",fields:{protocol:{label:"Protocol"},host:{label:"Host"},port:{label:"Port"},mount:{label:"Mount"},kv:{label:"Kv"},namespace:{label:"Namespace"},auth_method:{label:"Authentication Method"},token:{label:"Token"},kube_role:{label:"Kubernetes Role"},kube_auth_path:{label:"Kubernetes Auth Path"},kube_api_token_file:{label:"Kubernetes API Token File"},approle_auth_path:{label:"App Role Auth Path"},approle_role_id:{label:"App Role Role ID"},approle_secret_id:{label:"App Role Secret ID"},approle_secret_id_file:{label:"App Role Secret ID File"},approle_response_wrapping:{label:"App Role Response Wrapping"}}},azure:{label:"Azure Vault",description:"Access secrets stored in Azure Key Vault for Kong Gateway configuration.",fields:{location:{label:"Location"},vault_uri:{label:"Vault URI"},credential_prefix:{label:"Credential Prefix"},type:{label:"Type",placeholder:"Select a type"},client_id:{label:"Client ID"},tenant_id:{label:"Tenant ID"}}},advancedFields:{title:"View Advanced Fields",ttl:"Time-to-Live",ttlTooltip:"Time-to-live (in seconds) of a secret from a vault when cached by this reference",negTtl:"Negative Time-to-Live",negTtlTooltip:"Time-to-live (in seconds) of a vault miss (no secret)",resurrectTtl:"Time-to-Live Resurrection",resurrectTtlTooltip:"Time (in seconds) for which stale secrets from the vault are resurrected for when they cannot be refreshed"}},unavailable:"This vault provider is available on Enterprise."},mh={title:"Look up Key in Vault",vault:{label:"Vault",placeholder:"Select a vault"},secret_id:{label:"Secret ID",input_placeholder:"Enter a secret ID",select_placeholder:"Select or enter a complete secret ID"},optional_secret_key:{label:"Secret Key",placeholder:"Enter the key or key path to access a nested secret value",help:"Optional. e.g. tokens, tokens/refresh_token"},fetch_error:{vaults:"Could not fetch available vaults",secrets:"Could not fetch available secrets",vaults_and_secrets:"Could not fetch available vaults and secrets"},no_results:"No results found",actions:{use_key:"Use Key"},provider:{complete_action:"Look up {cta}",cta:"Key in Vault"}},fh={actions:sh,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:lh,search:ch,vaults:dh,secrets:uh,copy:ph,labels:Ah,form:gh,vault_secret_picker:mh};function hh(){const e=We.createI18n("en-us",fh);return{i18n:e,i18nT:We.i18nTComponent(e)}}const Mo={useI18n:hh},si="/v2/control-planes/{controlPlaneId}/core-entities",Ro="/v2/control-planes/{controlPlaneId}/config-stores",li="/{workspace}",To={list:{konnect:{getAll:`${si}/vaults`,deleteConfigStore:`${Ro}/{id}?force=true`},kongManager:{getAll:`${li}/vaults`}},form:{konnect:{create:`${si}/vaults`,createConfigStore:Ro,edit:`${si}/vaults/{id}`},kongManager:{create:`${li}/vaults`,edit:`${li}/vaults/{id}`}}},So=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},Sn="/v2/control-planes/{controlPlaneId}",xo={getVault:{konnect:`${Sn}/core-entities/vaults/{id}`},list:{konnect:`${Sn}/config-stores/{id}/secrets`},form:{konnect:{create:`${Sn}/config-stores/{id}/secrets`,edit:`${Sn}/config-stores/{id}/secrets/{secretId}`}}},yh={class:"vault-secret-picker-provider"},bh=t.defineComponent({__name:"VaultSecretPickerProvider",props:{value:{},disabled:{type:Boolean},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o},i18nT:r}=Mo.useI18n();return(s,l)=>(t.openBlock(),t.createElementBlock("div",yh,[t.createVNode(t.unref(r),{keypath:"vault_secret_picker.provider.complete_action",scope:"global"},{cta:t.withCtx(()=>[t.createElementVNode("span",{class:t.normalizeClass({"vault-secret-picker-provider-action":!0,disabled:i.disabled}),onClick:l[0]||(l[0]=()=>!i.disabled&&a("open",i.value,i.update))},t.toDisplayString(t.unref(o)("vault_secret_picker.provider.cta")),3)]),_:1})]))}}),Vo=So(bh,[["__scopeId","data-v-66a1e406"]]),Eh=e=>{let n=e.trim();if(!n.startsWith("{")||!n.endsWith("}"))throw new Error("Invalid secret reference: must be enclosed in curly braces");if(n=n.substring(1,n.length-1).trim(),!n.startsWith("vault://"))throw new Error("Invalid secret reference: must start with vault://");const i=new URL(`http://${n.substring(8)}`);if(!i)throw new Error("Invalid secret reference: must have a vault prefix");const a=i.host,[,o,...r]=i.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:o||void 0,optionalSecretKey:r==null?void 0:r.join("/")}},wh=e=>{if(!e.vaultPrefix)throw new Error("Invalid secret reference: must have a vault prefix");let n=`vault://${e.vaultPrefix}`;return e.secretId&&(n=`${n}/${e.secretId}`),e.optionalSecretKey&&(n=`${n}/${e.optionalSecretKey}`),`{${n}}`},Ch={key:1,class:"inputs-wrapper"},Bh={"data-testid":"no-search-results"},kh={class:"k-select-selected-item-label"},Ih={class:"vault-secret-picker-vault-dropdown-item"},vh={class:"select-item-label"},Oh={class:"select-item-description"},Mh={class:"select-item-description"},Rh={"data-testid":"no-search-results"},Th=t.defineComponent({__name:"VaultSecretPicker",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},setup:{type:null,required:!1,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){var i;const{i18n:{t:a}}=Mo.useI18n(),o=e,r=n,{axiosInstance:s}=j.useAxios({validateStatus:z=>z===404||z>=200&&z<300,...(i=o.config)==null?void 0:i.axiosRequestConfig}),l=t.ref(!1),d=t.ref(""),p=t.ref(""),u=t.ref(""),A=t.ref(),g=t.computed(()=>{var z,T;return o.config.app==="konnect"?xo.list[o.config.app].replace(/{id}/gi,((T=(z=A.value)==null?void 0:z.config)==null?void 0:T.config_store_id)??""):"<not_applicable>"}),w=t.computed(()=>{if(v&&E)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(v)return a("vault_secret_picker.fetch_error.vaults");if(E)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:S,loading:h,error:v,loadItems:C,results:Y}=j.useDebouncedFilter(o.config,To.list[o.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:y,loading:m,error:E,loadItems:f,results:I}=j.useDebouncedFilter(o.config,g,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),M=t.computed(()=>{var z;let T=!1;const N=((z=Y.value)==null?void 0:z.map(H=>(H.prefix===d.value&&(T=!0),{label:H.prefix,value:H.prefix,vault:H})))??[];return!T&&A.value&&N.push({label:A.value.prefix,value:A.value.prefix,vault:A.value}),N}),F=t.computed(()=>{var z;let T=!1;const N=((z=I.value)==null?void 0:z.map(H=>(H.key===p.value&&(T=!0),{label:H.key,value:H.key})))??[];return!T&&p.value&&N.push({label:p.value,value:p.value}),N}),V=t.computed(()=>{var z;return((z=A==null?void 0:A.value)==null?void 0:z.name)==="konnect"}),D=t.computed(()=>!!A.value&&!!p.value),K=z=>z.label?`${z.label} - (${z.vault.name} - ${z.vault.id})`:z.value,q=z=>{var T,N;let H=`${o.config.apiBaseUrl}${To.form[o.config.app].edit}`;return o.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,((T=o.config)==null?void 0:T.controlPlaneId)||""):o.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:"")),H.replace(/{id}/gi,z)},_=(z,T)=>{var N;return o.config.app!=="konnect"?"<not_applicable>":`${o.config.apiBaseUrl}${xo.form[o.config.app].edit}`.replace(/{controlPlaneId}/gi,((N=o.config)==null?void 0:N.controlPlaneId)||"").replace(/{id}/gi,T).replace(/{secretId}/gi,z)},te=()=>{r("proceed",wh({vaultPrefix:d.value,secretId:p.value||void 0,optionalSecretKey:u.value||void 0}))};return t.watch(()=>o.setup,async z=>{if(z!==!1){if(l.value=!0,d.value="",A.value=void 0,p.value="",u.value="",typeof z=="string"&&z.trim().length>0)try{let T,N="",H="",B="";const k=Eh(z),{data:R}=await s.get(q(k.vaultPrefix));if(R!=null&&R.name)if(T=R,N=k.vaultPrefix,T.name==="konnect"){if(k.secretId){const{data:$}=await s.get(_(k.secretId,R.config.config_store_id));$.key===k.secretId&&(H=k.secretId,B=k.optionalSecretKey??"")}}else H=k.secretId??"",B=k.optionalSecretKey??"";await t.nextTick(()=>{d.value=N,A.value=T,p.value=H,u.value=B})}catch(T){console.debug(T)}l.value=!1,await C()}},{immediate:!0}),t.watch(d,async(z,T)=>{var N;l.value||z===T||(A.value=(N=M.value.find(H=>H.value===z))==null?void 0:N.vault,p.value="",u.value="")}),t.watch(g,async()=>{V.value&&await f()},{immediate:!0}),(z,T)=>{const N=t.resolveComponent("KEmptyState"),H=t.resolveComponent("KSelect"),B=t.resolveComponent("KInput"),k=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(k,{"action-button-disabled":!D.value,"action-button-text":t.unref(a)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(a)("vault_secret_picker.title"),visible:o.setup!==!1,onCancel:T[4]||(T[4]=()=>r("cancel")),onProceed:te},{default:t.withCtx(()=>[t.unref(v)||t.unref(E)?(t.openBlock(),t.createBlock(N,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:w.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Ch,[t.createVNode(H,{modelValue:d.value,"onUpdate:modelValue":T[0]||(T[0]=R=>d.value=R),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:l.value,"enable-filtering":"","filter-function":()=>!0,items:M.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(h),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(S)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",Bh,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:R})=>[t.createElementVNode("span",kh,t.toDisplayString(K(R)),1)]),"item-template":t.withCtx(({item:R})=>[t.createElementVNode("div",Ih,[t.createElementVNode("span",vh,t.toDisplayString(R.label),1),t.createElementVNode("span",Oh,t.toDisplayString(R.vault.name),1),t.createElementVNode("span",Mh,t.toDisplayString(R.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),V.value?(t.openBlock(),t.createBlock(H,{key:0,modelValue:p.value,"onUpdate:modelValue":T[1]||(T[1]=R=>p.value=R),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:l.value||!A.value,"enable-filtering":"","filter-function":()=>!0,items:F.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(a)("vault_secret_picker.secret_id.label"),loading:t.unref(m),placeholder:t.unref(a)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(y)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",Rh,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(B,{key:1,modelValue:p.value,"onUpdate:modelValue":T[2]||(T[2]=R=>p.value=R),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:l.value||!A.value,label:t.unref(a)("vault_secret_picker.secret_id.label"),placeholder:t.unref(a)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(B,{modelValue:u.value,"onUpdate:modelValue":T[3]||(T[3]=R=>u.value=R),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:l.value||!A.value,help:t.unref(a)("vault_secret_picker.optional_secret_key.help"),label:t.unref(a)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(a)("vault_secret_picker.optional_secret_key.placeholder"),type:"text"},null,8,["modelValue","disabled","help","label","placeholder"])]))]),_:1},8,["action-button-disabled","action-button-text","title","visible"])}}}),Sh=So(Th,[["__scopeId","data-v-df8552cc"]]),xh={key:0},Vh=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=ve.usePluginHelpers(),{i18n:{t:a}}=ve.useI18n(),o=l=>l.map(d=>d.replace(/^[cC]onfig\./,"").split(".").map(p=>i(p)).join(".")).join(", "),r=(l,d)=>a(l,{parameters:o(d)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const d of n.rules.atLeastOneOf)l.push(r("plugins.form.field_rules.at_least_one_of",d));if(n.rules.onlyOneOf)for(const d of n.rules.onlyOneOf)l.push(r("plugins.form.field_rules.only_one_of",d));if(n.rules.mutuallyRequired)for(const d of n.rules.mutuallyRequired)l.push(r("plugins.form.field_rules.mutually_required",d));return l});return(l,d)=>{const p=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(p,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(u,A)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${A}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",xh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,A)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${A}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(g,w)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${A}-combination-${w}`},t.toDisplayString(o(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),$e=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},Nh=$e(Vh,[["__scopeId","data-v-d8eb79cf"]]),Dh={class:"kong-ui-entities-plugin-form"},Ph={key:1,class:"entity-form"},Gh={class:"plugin-config-empty-state"},Lh=t.defineComponent({components:{...Pf}}),Uh=t.defineComponent({...Lh,__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1}},emits:["loading","model-updated"],setup(e,{emit:n}){var te,z;const i=n,a=e,{axiosInstance:o}=j.useAxios((te=a.config)==null?void 0:te.axiosRequestConfig),{parseSchema:r}=ve.useSchemas({entityId:((z=a.entityMap.focusedEntity)==null?void 0:z.id)||void 0,credential:a.credential}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:d,unsetNullForeignKey:p}=ve.usePluginHelpers(),{objectsAreEqual:u}=j.useHelpers(),{i18n:{t:A}}=fn(),g=(T,N)=>{let H=`${a.config.apiBaseUrl}${Oe.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),H=H.replace(/{entity}/gi,T),H=H.replace(/{id}/gi,N),H},w=T=>{let N=`${a.config.apiBaseUrl}${Oe.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?N=N.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(N=N.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),N=N.replace(/{entity}/gi,T),N},S=(T,N)=>{const H=g(T,N);return o.get(H)},h=(T,N)=>{const H=w(T);return a.config.app==="konnect"?o.get(H).then(B=>{const{data:{data:k}}=B;if(delete N.size,delete N.offset,k.length&&Object.keys(N).length===1){const R=Object.keys(N)[0],$=k.filter(ie=>ie[R]?!!ie[R].toLowerCase().includes(N[R].toLowerCase()):!1);B.data.data=$}return B}):o.get(H,{params:N})};t.provide(ut,{getOne:S,getAll:h});const v=t.ref(""),C=t.ref(null),Y=t.ref({}),y=t.reactive({}),m=t.reactive({}),E=t.computed(()=>{var T;return(T=C.value)==null?void 0:T.options}),f=t.ref(!1),I=t.ref(),M=(T,N)=>{f.value=T??"",I.value=N},F=T=>{var N;(N=I.value)==null||N.call(I,T),f.value=!1},V=()=>{var R,$;const T={...a.schema},N=m,H=y,B=Object.keys(N),k={};if(!d(Y.value))for(let ie=0;ie<(($=(R=Y.value)==null?void 0:R.fields)==null?void 0:$.length);ie++)T[Y.value.fields[ie].model]=Y.value.fields[ie];return ri.forEach(ie=>{T[ie]&&(T[ie].fields.forEach(ne=>{ne.fields&&ne.fields.forEach(Q=>{T[Q.model]=Q}),ne.model&&(T[ne.model]=ne)}),delete T[ie])}),B.forEach(ie=>{var Nt;if(!T[ie])return;const ne=T[ie];let Q=N[ie];const Te=H[ie],ge=Array.isArray(Q)?"array":typeof Q,Ue=ne?ne.valueType:null,ht=ne?ne.valueArrayType:null,Vt=ne?ne.transform:null;if(Q==null&&Te==null&&!ne.submitWhenNull)return;if(ne){if(Ue&&ge!==Ue)switch(Ue){case"array":ge==="string"&&Q.length&&(Q=Q.split(",").map(ce=>{if(ce=ce.trim(),ht==="string")return String(ce);if(ht==="number")return Number(ce);if(ht==="boolean"){if(typeof ce=="string")return ce.toLowerCase()==="true"||ce==="1";if(typeof ce=="number")return ce===1}return ce})),(!Q||!Q.length)&&(Q=ne.submitWhenNull?null:[]);break;case"number":Q=Number(Q);break;case"boolean":ge==="string"&&(Q=Q.toLowerCase()==="true"||Q==="1"),ge==="number"&&(Q=Q===1);break;case"string":Q=Q==null?"":String(Q);break}else Ue==="array"&&(!Q||!Q.length?Q=ne.submitWhenNull?null:[]:((Nt=ne.inputAttributes)==null?void 0:Nt.type)==="number"&&(Q=Q.map(ce=>Number(ce))));if(ne.type==="array"&&ne.nestedFields){const ce=L=>{Object.keys(L).forEach(X=>{L[X]&&typeof L[X]=="object"&&!Array.isArray(L[X])&&L[X]!==null?ce(L[X]):(L[X]===void 0||L[X]===null||typeof L[X]=="number"&&isNaN(L[X])||typeof L[X]=="string"&&L[X].trim().length===0)&&delete L[X]})};Q&&typeof Q=="object"&&ce(Q)}ne.type==="object-advanced"&&ne.fields&&Q!==null&&(Object.entries(Q).length===0?Q=null:Object.keys(Q).forEach(ce=>{Array.isArray(Q[ce])||(Q[ce]=Q[ce].split(","))}))}let ke=s(ie);if(ne.fieldNameHasDashes){const[ce,...L]=ke.split(".").reverse();ke=[ce.replace(/_/g,"-"),...L].reverse().join(".")}if(Ue==="object-expand"){let ce;[ke,ce]=ke.split(".");let L={};k[ke]&&(L=k[ke]),L[ce]=Q,Q=L}Te!==void 0&&Q===""&&Q!==Te?k[ke]=Ue==="object"?{}:null:ne.type==="checklist"&&Q===""?k[ke]=[]:Q!==""&&(k[ke]=Q),k[ke]=Vt?Vt(Q):k[ke],p(ke,k)}),l(k)},D=(T,N)=>{var k;const H={[N]:T};typeof((k=a.schema[N])==null?void 0:k.modelTransformer)=="function"&&(H[N]=a.schema[N].modelTransformer(T));const B=Object.assign({},m,H);Object.assign(m,B),i("model-updated",{model:m,originalModel:y,data:V()})},K=(T,N)=>{Object.keys(T).forEach(H=>{var ie,ne;let B=N?`${N}-${H}`:H,k=a.schema[B];if(!k){const Q=N?`${N}-${H.replace(/-/g,"_")}`:H.replace(/-/g,"_");(ie=a.schema[Q])!=null&&ie.fieldNameHasDashes&&(B=Q,k=a.schema[B]),N&&((ne=a.schema[N])==null?void 0:ne.keyFromObject)===H&&(B=N,k=a.schema[B])}const R=T[H],$=typeof R;if(k&&k.type==="object-advanced"&&!R){m[B]={},y[B]={};return}if(Array.isArray(R)){m[B]=JSON.parse(JSON.stringify(R)),y[B]=JSON.parse(JSON.stringify(R));return}if($==="object"&&R&&!R.length)return K(R,B);if($==="object"&&R&&R.length&&k.type==="input"){m[B]=R.join(", "),y[B]=R.join(", ");return}m[B]=R,y[B]=R}),i("model-updated",{model:m,originalModel:y,data:V()})},q=t.ref(!0),_=()=>{var T;if(a.record&&a.schema&&(K({enabled:a.record.enabled??!0,...a.record.instance_name&&{instance_name:a.record.instance_name||""},...a.record.protocols&&{protocols:a.record.protocols},...a.record.tags&&{tags:a.record.tags}}),a.credential?((a.record.consumer_id||a.record.consumer)&&K({consumer_id:a.record.consumer_id||a.record.consumer}),K(a.record)):a.record.config&&((a.record.consumer_id||a.record.consumer||a.record.service_id||a.record.service||a.record.route_id||a.record.route||a.record.consumer_group_id||a.record.consumer_group)&&K({service_id:a.record.service_id||a.record.service,route_id:a.record.route_id||a.record.route,consumer_id:a.record.consumer_id||a.record.consumer,consumer_group_id:a.record.consumer_group_id||a.record.consumer_group}),K(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const N={};for(const H in a.entityMap){const B=a.entityMap[H].id,k=a.entityMap[H].idField,R=k==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(k).replace("_","-"));Object.prototype.hasOwnProperty.call(m,R)&&(N[R]=B)}K(N)}if((T=a.entityMap.consumer)!=null&&T.id&&a.schema&&a.credential){const N={};Object.prototype.hasOwnProperty.call(m,"consumer")&&(N.consumer=a.entityMap.consumer.id),K(N)}q.value=!1};return t.watch(q,T=>{i("loading",T)}),t.watch(()=>a.schema,(T,N)=>{var B,k;if(u(T||{},N||{}))return;const H=r(T);Object.assign(m,H.model),Y.value={fields:(k=(B=Y.value)==null?void 0:B.fields)==null?void 0:k.map(R=>({...R,disabled:R.disabled||!1}))},Object.assign(y,JSON.parse(JSON.stringify(H.model))),v.value=Bo(H.model.name),_()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var T,N;C.value=r(a.schema),Object.assign(m,((T=C.value)==null?void 0:T.model)||{}),Y.value=((N=C.value)==null?void 0:N.schema)||{},_()}),(T,N)=>{var k;const H=t.resolveComponent("KSkeleton"),B=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Dh,[q.value?(t.openBlock(),t.createBlock(H,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Ph,[v.value&&(m.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(v.value),{key:0,"form-model":m,"form-options":E.value,"form-schema":Y.value,"is-editing":e.editing,"on-model-updated":D},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(pt),fn:t.withCtx(R=>[R.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo),t.mergeProps({key:0},R,{onOpen:N[0]||(N[0]=($,ie)=>M($,ie))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!v.value&&(m.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(B,{key:1,model:m,options:E.value,schema:Y.value,onModelUpdated:D,onRefreshModel:V},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Gh,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(k=t.unref(_e)[m.name])!=null&&k.fieldRules&&(a.config.isNewOtelSchema||m.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(Nh,{rules:t.unref(_e)[m.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(pt),fn:t.withCtx(R=>[R.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Vo),t.mergeProps({key:0},R,{onOpen:N[1]||(N[1]=($,ie)=>M($,ie))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(t.unref(Sh),{config:a.config,setup:f.value,onCancel:N[2]||(N[2]=()=>f.value=!1),onProceed:F},null,8,["config","setup"])],64)}}}),jh=$e(Uh,[["__scopeId","data-v-0d6dd470"]]),Yh={key:1},Hh=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,i)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",Yh,[t.renderSlot(n.$slots,"default")]))}}),Fh={class:"kong-ui-entities-plugin-form-container"},Kh={key:0},zh={class:"plugin-form-actions"},qh=$e(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},disableScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},schema:{type:Object,default:null}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var ce;const i=n,a=e,o=Kt.useRouter(),{i18n:{t:r}}=ve.useI18n(),{customSchemas:s,typedefs:l}=ve.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=ve.usePluginHelpers(),{getMessageFromError:p}=j.useErrors(),{capitalize:u}=j.useStringHelpers(),{objectsAreEqual:A}=j.useHelpers(),{axiosInstance:g}=j.useAxios((ce=a.config)==null?void 0:ce.axiosRequestConfig),w=t.ref(!1),S=t.computed(()=>!!a.pluginId),h=t.computed(()=>a.pluginId?j.EntityBaseFormType.Edit:j.EntityBaseFormType.Create),v=t.ref(null),C=t.computed(()=>!!(a.credential&&a.config.entityId)),Y=t.ref(null),y=t.ref({}),m=t.ref(!1),E=t.reactive({enabled:!0,protocols:[],tags:[]}),f=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),I=t.ref([{title:r("view_configuration.json"),hash:"#json"},{title:r("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&I.value.splice(1,0,{title:r("view_configuration.terraform"),hash:"#terraform"});const M=t.ref(""),F=t.computed(()=>{if(C.value){let L=Oe.form[a.config.app].credential[h.value];return L=L.replace(/{resourceEndpoint}/gi,q.value),L}return a.config.entityType&&a.config.entityId?Oe.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Oe.form[a.config.app].edit.all}),V=()=>{w.value=!w.value},D=t.computed(()=>{var J,Z,ae,de,pe,U,G,W;const L=a.config.entityType==="consumers"&&a.config.entityId||((Z=(J=Y.value)==null?void 0:J.consumer)==null?void 0:Z.id),X=a.config.entityType==="consumer_groups"&&a.config.entityId||((de=(ae=Y.value)==null?void 0:ae.consumer_group)==null?void 0:de.id),O=a.config.entityType==="services"&&a.config.entityId||((U=(pe=Y.value)==null?void 0:pe.service)==null?void 0:U.id),re=a.config.entityType==="routes"&&a.config.entityId||((W=(G=Y.value)==null?void 0:G.route)==null?void 0:W.id);if(!(L||X||O||re))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const P={};return O&&(P.service={entity:c.SERVICE,entityEndpoint:"services",id:O,idField:Et.SERVICE}),re&&(P.route={entity:c.ROUTE,entityEndpoint:"routes",id:re,idField:Et.ROUTE}),L&&(P.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:L,idField:Et.CONSUMER}),X&&(P.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:X,idField:Et.CONSUMER_GROUP}),a.config.entityType&&(P.focusedEntity={entity:c[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:Et[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),P}),K=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:r("plugins.form.fields.enabled.label"),textOn:r("plugins.form.fields.enabled.on_text"),textOff:r("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||h.value===j.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",disabled:a.disableScopeSelection,inputType:"hidden",styleClasses:"hide-label",fields:[{label:r("plugins.form.scoping.global.label"),description:r("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:r("plugins.form.fields.protocols.help"),label:r("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")},tags:l.tags}),q=t.computed(()=>{var O;const L=a.developer?"developers":"consumers",X=((O=Gt[a.pluginType])==null?void 0:O.endpoint)||"/plugins";return`${L}/${a.config.entityId}${a.developer?"/credentials":""}${X}`}),_=L=>{const X=Array.from(new Set(L.map(O=>typeof O)));return X.length>1?"string":X[0]},te=(L,X,O,re)=>{var ae,de;let P=X&&X.fields||[];const J=s[a.pluginType],Z=(de=(ae=Gt[a.pluginType])==null?void 0:ae.schema)==null?void 0:de.fields;return Array.isArray(P)&&(P=P.reduce((pe,U)=>{const G=Object.keys(U)[0];return G.match(/-/g)?pe[G.replace(/-/g,"_")]={...U[G],fieldNameHasDashes:!0}:pe[G]=U[G],pe},{})),Object.keys(P).sort().forEach(pe=>{var Ie,Ne,Ke,Ft,cn,dn;const U=P[pe];U.type==="set"&&(U.type="array");const G=L?`${L}-${pe}`:`${pe}`;if(Object.prototype.hasOwnProperty.call(U,"overwrite")||U.hidden)return;if(U.type==="table")return te(G,U.schema,O);if(U.fields)return re&&U.type==="record"?(O[G]={type:"object",model:pe,schema:{fields:Object.values(te(G,U,{},!0))}},O):te(G,U,O);if(O[G]={id:G,model:pe},O[G].type=U.type==="boolean"?"checkbox":"input",O[G].required=U.required,O[G].referenceable=U.referenceable,G.startsWith("config-"))if(!re&&U.type==="array"&&(M.value=G),re&&M.value&&G.startsWith(M.value)){const oe=G.slice(M.value.length+1);O[G].label=oe.split("-").map(d).join(".")}else O[G].label=d(G);if((L==="config"||L.startsWith("config-"))&&(Ie=P[pe])!=null&&Ie.description&&(O[G].help=se.parse(P[pe].description,{mangle:!1,headerIds:!1})),U.type==="map"){if(O[G].type="object-advanced",O[G].values=U.values,U.values.type==="array"){const{type:oe}=U.values.elements||{};O[G].schema={fields:[{schema:{fields:[{...be,model:G,valueArrayType:oe==="integer"?"number":oe||"string",inputAttributes:{...be.inputAttributes,type:oe==="integer"?"number":"text",inputMode:oe==="integer"?"numeric":"text"}}]}}]}}else U.values.fields&&(O[G].schema={fields:[{type:"object",model:"object",schema:{fields:U.values.fields.map(oe=>{const je=Object.keys(oe)[0];return{model:je,type:"input",label:u(je),placeholder:je,inputType:oe[je].type}})}}]});return O}if(U.enum&&U.type==="array"&&(O[G].type="checklist",O[G].values=U.enum,O[G].multi=!0,O[G].multiSelect=!0),U.one_of&&U.type!=="array"&&(O[G].type="select",O[G].values=U.one_of,O[G].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),U.elements&&U.type==="array"){const oe=U.elements;if(O[G].referenceable=oe.referenceable,O[G].elements=oe,["string","integer","number"].includes(oe.type)&&!oe.one_of){const{id:je,help:we,label:Ae,hint:De,values:rt,referenceable:ze,model:Dt}=O[G],{inputAttributes:Nn,...gE}=JSON.parse(JSON.stringify(be));Nn.type=oe.type==="string"?"text":"number",O[G]={id:je,help:we,label:Ae,hint:De,values:rt,referenceable:ze,model:Dt,inputAttributes:Nn,...gE}}}if(U.hint&&(O[G].hint=U.hint),J&&!J.overwriteDefault&&Object.keys(J).forEach(oe=>{if(oe===G){const{help:je,label:we,hint:Ae,values:De,referenceable:rt,elements:ze}=O[G],{help:Dt,...Nn}=J[oe];O[G]={help:je,label:we,hint:Ae,values:De,referenceable:rt,elements:ze,...Nn},typeof Dt=="string"&&(O[G].help=se.parse(Dt,{mangle:!1,headerIds:!1}))}}),U.type==="array"&&((Ne=U.elements)==null?void 0:Ne.type)==="record"&&Array.isArray(U.elements.fields)){let oe={};for(const we of U.elements.fields)oe={...oe,...we};const je=(cn=(Ft=(Ke=O[G])==null?void 0:Ke.items)==null?void 0:Ft.schema)==null?void 0:cn.fields;if(Array.isArray(je))for(const we of O[G].items.schema.fields){const Ae=(dn=oe[we.model])==null?void 0:dn.description;we.help===void 0&&typeof Ae=="string"&&(we.help=se.parse(Ae,{mangle:!1,headerIds:!1}))}if(je||(O[G].type="array",O[G].newElementButtonLabelClasses="kong-form-new-element-button-label",O[G].fieldClasses="array-card-container-wrapper",O[G].itemContainerComponent="FieldArrayCardContainer",O[G].items={type:"object",schema:{fields:Object.values(te(G,U.elements,{},!0))}},O[G].items.schema.fields.forEach(we=>{var Ae,De;for(const rt of U.elements.fields){const ze=Object.keys(rt)[0],Dt=((De=(Ae=we.id)==null?void 0:Ae.split)==null?void 0:De.call(Ae,"-"))??[];if(Dt[Dt.length-1]===ze){we.model=ze,we.label=d(ze);break}}}),U.elements.type==="record"&&(O[G].nestedFields=!0)),!O[G].nestedFields)O[G].items.default=()=>U.elements.fields.reduce((we,Ae)=>{const De=Object.keys(Ae)[0];return we[De]=Ae[De].default,we},{});else{const we=(Ae,De)=>{if(Ae.type==="object"){Ae.model&&(De[Ae.model]={});for(const rt of Ae.schema.fields)we(rt,Ae.model?De[Ae.model]:De)}else Ae.model&&(De[Ae.model]=Ae.default)};O[G].items.default=()=>{const Ae={};return we(O[G].items,Ae),Ae}}}if(C.value&&Z){for(let oe=0;oe<Z.length;oe++)if(Z[oe][G]){O[G]={...O[G],...Z[oe][G]};break}}if(U.required&&U.type!=="boolean"&&(O[G].required=!0,O[G].selectOptions={hideNoneSelectedText:!0}),U.required&&U.type==="boolean"&&(O[G].default=U.default??!1),U.default!=null&&typeof U.default!="object"&&U.default!=="function"&&(O[G].default=U.default),O[G].type==="input"){["string","number"].includes(typeof O[G].default)&&a.config.app==="konnect"&&(O[G].placeholder=`Default: ${O[G].default===""?"<empty string>":O[G].default}`);const{type:oe}=U.elements||{};oe&&(O[G].valueArrayType=oe==="integer"?"number":oe),O[G].inputType=U.type==="array"||U.type==="string"?U.encrypted?"password":"text":U.type}let W="string";U.enum?W=_(U.enum):U.type==="boolean"?W="boolean":U.type==="number"||U.type==="integer"?(W="number",O[G].inputType="number"):U.type==="array"?(W="array",O[G].default=U.default,U.len_min>0&&(O[G].submitWhenNull=!0)):U.type==="foreign"?W="object":U.default&&Array.isArray(U.default)?(W="array",O[G].valueArrayType=_(U.default)):U.default&&(W=typeof U.default),O[G].valueType=W,U.fieldNameHasDashes&&(O[G].fieldNameHasDashes=!0)}),O},z=()=>{var pe,U,G,W,Ie,Ne,Ke,Ft,cn,dn,oe,je;const L=((pe=_e[a.pluginType])==null?void 0:pe.scope.includes(c.SERVICE))??!0,X=((U=_e[a.pluginType])==null?void 0:U.scope.includes(c.ROUTE))??!0,O=((G=_e[a.pluginType])==null?void 0:G.scope.includes(c.CONSUMER))??!0,re=a.config.disableConsumerGroupScope?!1:((W=_e[a.pluginType])==null?void 0:W.scope.includes(c.CONSUMER_GROUP))??!0,P=a.config.entityType==="consumers"&&!!a.config.entityId||!!((Ne=(Ie=Y.value)==null?void 0:Ie.consumer)!=null&&Ne.id),J=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((Ft=(Ke=Y.value)==null?void 0:Ke.consumer_group)!=null&&Ft.id),Z=a.config.entityType==="services"&&!!a.config.entityId||!!((dn=(cn=Y.value)==null?void 0:cn.service)!=null&&dn.id),ae=a.config.entityType==="routes"&&!!a.config.entityId||!!((je=(oe=Y.value)==null?void 0:oe.route)!=null&&je.id),de=[];if(L&&de.push({id:"service-id",model:"service-id",label:r("plugins.form.scoping.gateway_service.label"),placeholder:r("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:r("plugins.form.scoping.gateway_service.help"),disabled:Z&&a.disableScopeSelection}),X&&de.push({id:"route-id",model:"route-id",label:r("plugins.form.scoping.route.label"),placeholder:r("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:r("plugins.form.scoping.route.help"),disabled:ae&&a.disableScopeSelection}),O&&de.push({model:"consumer-id",label:r("plugins.form.scoping.consumer.label"),placeholder:r("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:r("plugins.form.scoping.consumer.help"),disabled:P&&a.disableScopeSelection}),re&&de.push({model:"consumer_group-id",label:r("plugins.form.scoping.consumer_group.label"),placeholder:r("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:r("plugins.form.scoping.consumer_group.help"),disabled:J&&a.disableScopeSelection}),de.length){const we=[...L?["service"]:[],...X?["route"]:[],...O?["consumer"]:[],...re?["consumer_group"]:[]],De=we.splice(we.length-2,2).map(ze=>r(ze==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ze}.plural`)).join(`${we.length>0?",":""} and/or `),rt=["Specific",[...we.length>0?[we.map(ze=>r(ze==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ze}.plural`)).join(", ")]:[],De].join(", ")].join(" ");K.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:rt,fields:[]}),K.selectionGroup.fields[1].fields=de}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(K,s[a.pluginType].formSchema)},T=t.computed(()=>!A(f.fields,E,!0)),N=t.computed(()=>!ke.value&&!m.value&&(h.value===j.EntityBaseFormType.Create||T.value)),H=t.ref(!1),B=t.ref(),k=L=>{a.credential&&L.password&&(L.password=""),f.fields.id=(L==null?void 0:L.id)||void 0,B.value=L==null?void 0:L.ordering,Object.assign(E,f.fields),Y.value=L,H.value=!0},R=t.ref({}),$=L=>{var X;f.fields=L.model,f.fields.id=((X=Y.value)==null?void 0:X.id)||void 0,Object.assign(E,L.originalModel),R.value=L.data,a.isWizardStep&&i("model-updated",{model:f.fields,data:L.data,resourceEndpoint:q.value})};t.watch([D,H],(L,X)=>{const O=L[0]!==X[0],re=L[1],P=X[1];!C.value&&h.value===j.EntityBaseFormType.Edit&&(O||re&&re!==P)&&(ke.value=!0,v.value=te("config",y.value,K),ke.value=!1)},{deep:!0});const ie=()=>{a.config.cancelRoute?o.push(a.config.cancelRoute):i("cancel")},ne=t.computed(()=>{let L=`${a.config.apiBaseUrl}${Oe.form[a.config.app].validate}`;return a.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),L=L.replace(/{id}/gi,a.pluginId),L}),Q=t.computed(()=>{const L=a.config.entityType&&a.config.entityId&&!a.developer,X=C.value?Oe.form[a.config.app].credential[h.value]:Oe.form[a.config.app][h.value][L?"forEntity":"all"];let O=`${a.config.apiBaseUrl}${X}`;return a.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),O=O.replace(/{resourceEndpoint}/gi,q.value),O=O.replace(/{id}/gi,a.pluginId),O=O.replace(/{entityType}/gi,a.config.entityType||""),O=O.replace(/{entityId}/gi,a.config.entityId||""),O}),Te=t.computed(()=>!Object.keys(_e).includes(a.pluginType)),ge=t.computed(()=>{const L=R.value;if(C.value){for(const X in c){const O=c[X];L[O]&&!L[O].id&&(L[O]={id:a.config.entityId})}delete L.created_at}return L}),Ue=async()=>{if(!a.isWizardStep)try{f.isReadonly=!0;let L;const X=JSON.parse(JSON.stringify(ge.value)),O=s[a.pluginType];typeof(O==null?void 0:O.shamefullyTransformPayload)=="function"&&O.shamefullyTransformPayload({originalModel:E,model:f.fields,payload:X,schema:v.value}),!C.value&&!Te.value&&await g.post(ne.value,X),h.value==="create"?L=await g.post(Q.value,X):h.value==="edit"&&(L=a.config.app==="konnect"?await g.put(Q.value,Object.assign({ordering:B.value},X)):await g.patch(Q.value,X)),Object.assign(E,f.fields),i("update",L==null?void 0:L.data)}catch(L){f.errorMessage=p(L),i("error",L)}finally{f.isReadonly=!1}},ht=t.computed(()=>{var re;const L=C.value?(re=Gt[a.pluginType])==null?void 0:re.schemaEndpoint:a.pluginType,X=C.value?Oe.form[a.config.app].credentialSchema:Oe.form[a.config.app].pluginSchema;let O=`${a.config.apiBaseUrl}${X}`;return a.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),O=O.replace(/{plugin}/gi,L),O}),Vt=t.ref(""),ke=t.ref(!1),Nt=t.ref("");return t.onBeforeMount(async()=>{var L,X,O;ke.value=!0;try{if(C.value&&a.config.app==="konnect"){const re=(L=Gt[a.pluginType])==null?void 0:L.schemaEndpoint,P=Nl[re];Vt.value=re,v.value=te("",P,{}),ke.value=!1}else{const re=a.schema??(await g.get(ht.value)).data;if(re)if(C.value)v.value=te("",re,{}),ke.value=!1;else{const P=re.fields.find(Z=>Z.config);y.value=P?P.config:re,z();const J=(X=re.fields.find(Z=>Z.protocols))==null?void 0:X.protocols;if(J){const{default:Z=[],elements:ae={}}=J;K.protocols.default=Z,K.protocols.placeholder=a.config.app==="konnect"?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:Z.join(", ")}):r("plugins.form.fields.protocols.placeholder"),(O=ae.one_of)!=null&&O.length&&(K.protocols.values=ae.one_of.map(de=>({label:de,value:de})))}(H.value||h.value===j.EntityBaseFormType.Create)&&(v.value=te("config",y.value,K))}}}catch(re){Nt.value=p(re),i("error:fetch-schema",re)}finally{ke.value=!1}}),(L,X)=>{const O=t.resolveComponent("KSkeleton"),re=t.resolveComponent("KEmptyState"),P=t.resolveComponent("KButton"),J=t.resolveComponent("KTabs"),Z=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",Fh,[ke.value?(t.openBlock(),t.createBlock(O,{key:0,type:"form"})):Nt.value?(t.openBlock(),t.createBlock(re,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(r)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(j.EntityBaseForm),{key:2,"can-submit":N.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(j.SupportedEntityType).Plugin,"error-message":f.errorMessage,"fetch-url":F.value,"form-fields":ge.value,"is-readonly":f.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ie,"onFetch:error":X[2]||(X[2]=ae=>L.$emit("error",ae)),"onFetch:success":k,onLoading:X[3]||(X[3]=ae=>L.$emit("loading",ae))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",Kh)):(t.openBlock(),t.createBlock(Hh,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",zh,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(P,{key:0,appearance:"tertiary","data-testid":`plugin-${S.value?"edit":"create"}-form-view-configuration`,onClick:X[1]||(X[1]=ae=>V())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(P,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${S.value?"edit":"create"}-form-cancel`,disabled:f.isReadonly,onClick:ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(P,{appearance:"primary","data-testid":`plugin-${S.value?"edit":"create"}-form-submit`,disabled:!N.value||f.isReadonly,type:"submit",onClick:Ue},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:Ue},null,32),t.createVNode(jh,{config:e.config,credential:C.value,editing:h.value===t.unref(j.EntityBaseFormType).Edit,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":D.value,record:Y.value||void 0,schema:v.value||{},onLoading:X[0]||(X[0]=ae=>m.value=ae),onModelUpdated:$},null,8,["config","credential","editing","enable-vault-secret-picker","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(Z,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:w.value,onClose:V},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(J,{"data-testid":"form-view-configuration-slideout-tabs",tabs:I.value},{json:t.withCtx(()=>[t.createVNode(t.unref(j.JsonCodeBlock),{config:e.config,"entity-record":ge.value,"fetcher-url":Q.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(j.YamlCodeBlock),{"entity-record":ge.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(j.TerraformCodeBlock),{"credential-type":Vt.value,"entity-record":ge.value,"entity-type":t.unref(j.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-dee4e14d"]]),Jh=["alt","height","src","width"],xn=t.defineComponent({__name:"PluginIcon",props:{name:{type:String,required:!0},size:{type:Number,default:32,required:!1},alt:{type:String,default:"",required:!1}},setup(e){const n=e,i=t.ref(),a=t.computed(()=>qi(n.name)),o=()=>{const r=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:et&&et.tagName.toUpperCase()==="SCRIPT"&&et.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&i.value.src!==r&&(i.value.src=r)};return(r,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,height:e.size,src:a.value,width:e.size,onError:o},null,40,Jh))}});var Qh=Object.prototype;function No(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||Qh;return e===i}function Xh(e,n){return function(i){return e(n(i))}}var Zh=Xh(Object.keys,Object),Wh=Object.prototype,_h=Wh.hasOwnProperty;function $h(e){if(!No(e))return Zh(e);var n=[];for(var i in Object(e))_h.call(e,i)&&i!="constructor"&&n.push(i);return n}var Do=typeof global=="object"&&global&&global.Object===Object&&global,ey=typeof self=="object"&&self&&self.Object===Object&&self,ft=Do||ey||Function("return this")(),Vn=ft.Symbol,Po=Object.prototype,ty=Po.hasOwnProperty,ny=Po.toString,on=Vn?Vn.toStringTag:void 0;function iy(e){var n=ty.call(e,on),i=e[on];try{e[on]=void 0;var a=!0}catch{}var o=ny.call(e);return a&&(n?e[on]=i:delete e[on]),o}var ay=Object.prototype,oy=ay.toString;function ry(e){return oy.call(e)}var sy="[object Null]",ly="[object Undefined]",Go=Vn?Vn.toStringTag:void 0;function rn(e){return e==null?e===void 0?ly:sy:Go&&Go in Object(e)?iy(e):ry(e)}function Lo(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var cy="[object AsyncFunction]",dy="[object Function]",uy="[object GeneratorFunction]",py="[object Proxy]";function Uo(e){if(!Lo(e))return!1;var n=rn(e);return n==dy||n==uy||n==cy||n==py}var ci=ft["__core-js_shared__"],jo=function(){var e=/[^.]+$/.exec(ci&&ci.keys&&ci.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Ay(e){return!!jo&&jo in e}var gy=Function.prototype,my=gy.toString;function St(e){if(e!=null){try{return my.call(e)}catch{}try{return e+""}catch{}}return""}var fy=/[\\^$.*+?()[\]{}|]/g,hy=/^\[object .+?Constructor\]$/,yy=Function.prototype,by=Object.prototype,Ey=yy.toString,wy=by.hasOwnProperty,Cy=RegExp("^"+Ey.call(wy).replace(fy,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function By(e){if(!Lo(e)||Ay(e))return!1;var n=Uo(e)?Cy:hy;return n.test(St(e))}function ky(e,n){return e==null?void 0:e[n]}function sn(e,n){var i=ky(e,n);return By(i)?i:void 0}var di=sn(ft,"DataView"),ui=sn(ft,"Map"),pi=sn(ft,"Promise"),Ai=sn(ft,"Set"),gi=sn(ft,"WeakMap"),Yo="[object Map]",Iy="[object Object]",Ho="[object Promise]",Fo="[object Set]",Ko="[object WeakMap]",zo="[object DataView]",vy=St(di),Oy=St(ui),My=St(pi),Ry=St(Ai),Ty=St(gi),xt=rn;(di&&xt(new di(new ArrayBuffer(1)))!=zo||ui&&xt(new ui)!=Yo||pi&&xt(pi.resolve())!=Ho||Ai&&xt(new Ai)!=Fo||gi&&xt(new gi)!=Ko)&&(xt=function(e){var n=rn(e),i=n==Iy?e.constructor:void 0,a=i?St(i):"";if(a)switch(a){case vy:return zo;case Oy:return Yo;case My:return Ho;case Ry:return Fo;case Ty:return Ko}return n});function mi(e){return e!=null&&typeof e=="object"}var Sy="[object Arguments]";function qo(e){return mi(e)&&rn(e)==Sy}var Jo=Object.prototype,xy=Jo.hasOwnProperty,Vy=Jo.propertyIsEnumerable,Ny=qo(function(){return arguments}())?qo:function(e){return mi(e)&&xy.call(e,"callee")&&!Vy.call(e,"callee")},Dy=Array.isArray,Py=9007199254740991;function Qo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Py}function Gy(e){return e!=null&&Qo(e.length)&&!Uo(e)}function Ly(){return!1}var Xo=typeof ee=="object"&&ee&&!ee.nodeType&&ee,Zo=Xo&&typeof module=="object"&&module&&!module.nodeType&&module,Uy=Zo&&Zo.exports===Xo,Wo=Uy?ft.Buffer:void 0,jy=Wo?Wo.isBuffer:void 0,Yy=jy||Ly,Hy="[object Arguments]",Fy="[object Array]",Ky="[object Boolean]",zy="[object Date]",qy="[object Error]",Jy="[object Function]",Qy="[object Map]",Xy="[object Number]",Zy="[object Object]",Wy="[object RegExp]",_y="[object Set]",$y="[object String]",eb="[object WeakMap]",tb="[object ArrayBuffer]",nb="[object DataView]",ib="[object Float32Array]",ab="[object Float64Array]",ob="[object Int8Array]",rb="[object Int16Array]",sb="[object Int32Array]",lb="[object Uint8Array]",cb="[object Uint8ClampedArray]",db="[object Uint16Array]",ub="[object Uint32Array]",Ee={};Ee[ib]=Ee[ab]=Ee[ob]=Ee[rb]=Ee[sb]=Ee[lb]=Ee[cb]=Ee[db]=Ee[ub]=!0,Ee[Hy]=Ee[Fy]=Ee[tb]=Ee[Ky]=Ee[nb]=Ee[zy]=Ee[qy]=Ee[Jy]=Ee[Qy]=Ee[Xy]=Ee[Zy]=Ee[Wy]=Ee[_y]=Ee[$y]=Ee[eb]=!1;function pb(e){return mi(e)&&Qo(e.length)&&!!Ee[rn(e)]}function Ab(e){return function(n){return e(n)}}var _o=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ln=_o&&typeof module=="object"&&module&&!module.nodeType&&module,gb=ln&&ln.exports===_o,fi=gb&&Do.process,$o=function(){try{var e=ln&&ln.require&&ln.require("util").types;return e||fi&&fi.binding&&fi.binding("util")}catch{}}(),er=$o&&$o.isTypedArray,mb=er?Ab(er):pb,fb="[object Map]",hb="[object Set]",yb=Object.prototype,bb=yb.hasOwnProperty;function tr(e){if(e==null)return!0;if(Gy(e)&&(Dy(e)||typeof e=="string"||typeof e.splice=="function"||Yy(e)||mb(e)||Ny(e)))return!e.length;var n=xt(e);if(n==fb||n==hb)return!e.size;if(No(e))return!$h(e).length;for(var i in e)if(bb.call(e,i))return!1;return!0}const Eb="#00abd2",wb="16px",Cb="24px",Bb={class:"kong-ui-entities-plugins-list"},kb={class:"button-row"},Ib={class:"empty-state-icon-gateway"},vb={class:"name-cell-wrapper"},Ob={class:"info-wrapper"},Mb={key:0,class:"info-name"},Rb={key:1,class:"info-name"},Tb={key:2,class:"info-type"},Sb={key:1},xb=$e(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.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},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1},enableV2EmptyStates:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var O,re;const i=ve.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=ve.useI18n(),s=Kt.useRouter(),{axiosInstance:l}=j.useAxios((O=o.config)==null?void 0:O.axiosRequestConfig),{hasRecords:d,handleStateChange:p}=j.useTableState(()=>m.value),u=t.computed(()=>d.value&&o.config.app==="konnect"),A=t.computed(()=>!o.enableV2EmptyStates&&o.config.app==="konnect"),g=t.computed(()=>!!o.config.entityId),w=t.computed(()=>{var P;return((P=o.config)==null?void 0:P.entityType)==="consumers"}),S=t.computed(()=>{var P;return((P=o.config)==null?void 0:P.entityType)==="consumer_groups"}),h=o.config.app==="konnect"||j.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),v=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),C={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(re=o.config)!=null&&re.entityId||(C.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),C.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},h&&(C.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),C.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const Y=C,y=t.computed(()=>{var J,Z,ae,de;let P=o.config.entityType?`${o.config.apiBaseUrl}${Oe.list[o.config.app].forEntity}`:`${o.config.apiBaseUrl}${Oe.list[o.config.app].all}`;return o.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,((J=o.config)==null?void 0:J.controlPlaneId)||""):o.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,(Z=o.config)!=null&&Z.workspace?`/${o.config.workspace}`:"")),P.replace(/{entityType}/gi,((ae=o.config)==null?void 0:ae.entityType)||"").replace(/{entityId}/gi,((de=o.config)==null?void 0:de.entityId)||"")}),m=t.ref(""),E=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:C.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...C.enabled,label:r("search.filter.field.enabled")},name:C.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),{fetcher:f,fetcherState:I,fetcherCacheKey:M}=j.useFetcher({...o.config,cacheIdentifier:o.cacheIdentifier},y.value),F=()=>{m.value=""},V=()=>{M.value++},D=t.ref(null),K=P=>{var Z,ae,de,pe;const J=[];return((Z=P.route)!=null&&Z.id||P.route_id)&&J.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),((ae=P.service)!=null&&ae.id||P.service_id)&&J.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),((de=P.consumer)!=null&&de.id||P.consumer_id)&&J.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),((pe=P.consumer_group)!=null&&pe.id||P.consumer_group_id)&&J.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),J.length?J:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},q=async(P,J)=>{var Z;return P===null?!1:await((Z=o.canRetrieveScopedEntity)==null?void 0:Z.call(o,P,J.id))},_=(P,J)=>{var ae,de,pe,U,G;let Z=null;switch(P){case"route":Z=(ae=J.route)==null?void 0:ae.id;break;case"service":Z=(de=J.service)==null?void 0:de.id;break;case"consumer":Z=(pe=J.consumer)==null?void 0:pe.id;break;case"consumer_group":Z=(U=J.consumer_group)==null?void 0:U.id;break}Z&&((G=o.config)!=null&&G.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(P,Z))},te=t.ref(!1),z=t.ref(null),T=t.computed(()=>{const P={action:"disable",id:"",name:""};if(z.value){const{enabled:J,id:Z,name:ae}=z.value;P.action=J?"disable":"enable",P.id=Z,P.name=i.getDisplayName(ae)||Z}return P}),N=P=>{te.value=!0,z.value=P},H=()=>{te.value=!1,z.value=null},B=async()=>{var ae,de,pe,U,G,W,Ie,Ne;if(!await((ae=o.canEdit)==null?void 0:ae.call(o,z.value))||!z.value)return;let J=`${o.config.apiBaseUrl}${(G=Oe.item[o.config.app])==null?void 0:G[(de=o.config)!=null&&de.entityType?"forEntity":"all"].replace(/{entityType}/gi,((pe=o.config)==null?void 0:pe.entityType)||"").replace(/{entityId}/gi,((U=o.config)==null?void 0:U.entityId)||"")}`.replace(/{id}/gi,z.value.id||"");o.config.app==="konnect"?J=J.replace(/{controlPlaneId}/gi,((W=o.config)==null?void 0:W.controlPlaneId)||""):o.config.app==="kongManager"&&(J=J.replace(/\/{workspace}/gi,(Ie=o.config)!=null&&Ie.workspace?`/${o.config.workspace}`:""));const Z=!z.value.enabled;try{const{data:Ke}=((Ne=o.config)==null?void 0:Ne.app)==="konnect"?await l.put(J,{...z.value,enabled:Z},{timeout:12e4}):await l.patch(J,{...z.value,enabled:Z},{timeout:12e4});a("toggle-enabled",Z,Ke),z.value.enabled=Z}catch(Ke){a("error",Ke)}},k=(P,J)=>{const Z=P.id;if(!J(Z)){a("copy:error",{entity:P,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:P,field:"id",message:r("copy.success",{val:Z})})},R=(P,J)=>{const Z=JSON.stringify(P);if(!J(Z)){a("copy:error",{entity:P,message:r("errors.copy")});return}a("copy:success",{entity:P,message:r("copy.success_brief")})},$=async P=>{var Z;await((Z=o.canRetrieve)==null?void 0:Z.call(o,P))&&s.push(o.config.getViewRoute(P))},ie=P=>({label:r("actions.view"),to:o.config.getViewRoute(P)}),ne=P=>({label:r("actions.edit"),to:o.config.getEditRoute(P)}),Q=P=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(P)}),Te=t.ref(void 0),ge=t.ref(!1),Ue=t.ref(!1),ht=t.ref(""),Vt=j.useDeleteUrlBuilder(o.config,y.value),ke=P=>{Te.value=P,ge.value=!0},Nt=()=>{ge.value=!1},ce=async()=>{var P,J,Z;if((P=Te.value)!=null&&P.id){Ue.value=!0;try{await l.delete(Vt(Te.value.id)),Ue.value=!1,ge.value=!1,M.value++,a("delete:success",Te.value)}catch(ae){ht.value=((Z=(J=ae.response)==null?void 0:J.data)==null?void 0:Z.message)||ae.message||r("errors.delete"),a("error",ae)}finally{Ue.value=!1}}},L=()=>{s.push(o.config.createRoute)};t.watch(I,P=>{var J,Z,ae;if(P.status===j.FetcherStatus.Error){D.value={title:r("errors.general")},(ae=(Z=(J=P.error)==null?void 0:J.response)==null?void 0:Z.data)!=null&&ae.message&&(D.value.message=P.error.response.data.message),a("error",P.error);return}D.value=null});const X=t.ref({ctaPath:o.config.createRoute,ctaText:void 0,message:`${r("plugins.list.empty_state.description")}${o.config.additionMessageForEmptyState?` ${o.config.additionMessageForEmptyState}`:""}`,title:r("plugins.title")});return t.onBeforeMount(async()=>{await o.canCreate()&&(X.value.title=r("plugins.list.empty_state.title"),X.value.ctaText=r("actions.create"))}),(P,J)=>{const Z=t.resolveComponent("KButton"),ae=t.resolveComponent("KBadge"),de=t.resolveComponent("KTruncate"),pe=t.resolveComponent("KInputSwitch"),U=t.resolveComponent("KDropdownItem"),G=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Bb,[t.createVNode(t.unref(j.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":v.value,"empty-state-options":X.value,"enable-entity-actions":"","error-message":D.value,fetcher:t.unref(f),"fetcher-cache-key":t.unref(M),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:m.value,"table-headers":t.unref(Y),title:e.title,"title-tag":e.titleTag,onClearSearchInput:F,"onClick:row":J[5]||(J[5]=W=>$(W)),onSort:V,onState:t.unref(p)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(j.EntityFilter),{modelValue:m.value,"onUpdate:modelValue":J[0]||(J[0]=W=>m.value=W),config:E.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createElementVNode("div",kb,[!g.value&&u.value?(t.openBlock(),t.createBlock(Z,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:J[1]||(J[1]=W=>P.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(Z,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])])],8,["disabled"]))]),name:t.withCtx(({row:W})=>[t.createElementVNode("div",vb,[t.createVNode(xn,{class:"plugin-icon",name:W.name,size:24},null,8,["name"]),t.createElementVNode("div",Ob,[W.instance_name?(t.openBlock(),t.createElementBlock("span",Mb,t.toDisplayString(W.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Rb,t.toDisplayString(t.unref(i).getDisplayName(W.name)),1)),W.instance_name?(t.openBlock(),t.createElementBlock("span",Tb,t.toDisplayString(t.unref(i).getDisplayName(W.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:W})=>[K(W).length>0?(t.openBlock(),t.createBlock(de,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(K(W),Ie=>(t.openBlock(),t.createBlock(t.unref(j.PermissionsWrapper),{key:Ie.badgeText,"auth-function":()=>q(Ie.type,W),"force-show":""},{default:t.withCtx(({isAllowed:Ne})=>[t.createVNode(ae,{class:t.normalizeClass(Ne||"disabled"),onClick:t.withModifiers(Ke=>Ne&&Ie.type&&_(Ie.type,W),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Ie.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",Sb,"-"))]),enabled:t.withCtx(({row:W})=>[t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(W)&&await e.canToggle(W)),"force-show":""},{default:t.withCtx(({isAllowed:Ie})=>{var Ne,Ke;return[t.createElementVNode("div",{onClick:J[4]||(J[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(pe,{disabled:!Ie,"disabled-tooltip-text":!Ie&&((Ke=(Ne=e.config).getToggleDisabledTooltip)==null?void 0:Ke.call(Ne,W))||void 0,"model-value":W.enabled,onClick:t.withModifiers(Ft=>Ie&&N(W),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:W})=>[t.createVNode(ae,{appearance:t.unref(tr)(W)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(tr)(W)?t.unref(r)("plugins.list.table_headers.ordering_badge.static"):t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:W})=>[t.createVNode(t.unref(j.TableTags),{tags:W},null,8,["tags"])]),actions:t.withCtx(({row:W})=>[t.createVNode(G,null,{default:t.withCtx(({copyToClipboard:Ie})=>[t.createVNode(U,{"data-testid":"action-entity-copy-id",onClick:Ne=>k(W,Ie)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(G,null,{default:t.withCtx(({copyToClipboard:Ie})=>[t.createVNode(U,{"data-testid":"action-entity-copy-json",onClick:Ne=>R(W,Ie)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(W)},{default:t.withCtx(()=>[t.createVNode(U,{"data-testid":"action-entity-view","has-divider":"",item:ie(W)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canEdit(W)},{default:t.withCtx(()=>[t.createVNode(U,{"data-testid":"action-entity-edit",item:ne(W)},null,8,["item"])]),_:2},1032,["auth-function"]),!w.value&&!S.value&&t.unref(h)?(t.openBlock(),t.createBlock(t.unref(j.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(W)},{default:t.withCtx(()=>[Q(W)?(t.openBlock(),t.createBlock(U,{key:0,"data-testid":"action-entity-config-dyn-order",item:Q(W)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(j.PermissionsWrapper),{"auth-function":()=>e.canDelete(W)},{default:t.withCtx(()=>[t.createVNode(U,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:Ie=>ke(W)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(d)&&A.value?{name:"outside-actions",fn:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.Teleport,{disabled:!e.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[t.createVNode(Z,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:J[2]||(J[2]=W=>P.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.BookIcon),{decorative:""})]),_:1})],8,["disabled"]))]),key:"0"}:void 0,e.enableV2EmptyStates&&e.config.app==="konnect"?{name:"empty-state",fn:t.withCtx(()=>[t.createVNode(t.unref(j.EntityEmptyState),{"action-button-text":t.unref(r)("plugins.list.empty_state_v2.create_cta"),appearance:"secondary","can-create":()=>e.canCreate(),"data-testid":e.config.entityId?"nested-plugins-entity-empty-state":"plugins-entity-empty-state",description:t.unref(r)("plugins.list.empty_state_v2.description"),"learn-more":e.config.app==="konnect",title:t.unref(r)("plugins.list.empty_state_v2.title"),"onClick:create":L,"onClick:learnMore":J[3]||(J[3]=W=>P.$emit("click:learn-more"))},{image:t.withCtx(()=>[t.createElementVNode("div",Ib,[t.createVNode(t.unref(Ye.PlugIcon),{color:t.unref(Eb),size:t.unref(Cb)},null,8,["color","size"])])]),_:1},8,["action-button-text","can-create","data-testid","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","title","title-tag","onState"]),t.createVNode(t.unref(j.EntityToggleModal),{action:T.value.action,"entity-id":T.value.id,"entity-name":T.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":B,visible:te.value,onCancel:H,onProceed:H},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(j.EntityDeleteModal),{"action-pending":Ue.value,description:t.unref(r)("delete.description"),"entity-name":Te.value&&(Te.value.instance_name||Te.value.name||Te.value.id),"entity-type":t.unref(j.EntityTypes).Plugin,error:ht.value,title:t.unref(r)("delete.title"),visible:ge.value,onCancel:Nt,onProceed:ce},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-2a23bbaf"]]),Vb={class:"plugin-select-card-wrapper"},Nb=["data-testid"],Db={class:"plugin-card-header"},Pb={class:"plugin-card-title"},Gb={key:0,class:"plugin-card-actions"},Lb=["data-testid","title"],Ub={key:0,class:"plugin-card-text"},jb={key:0},Yb=["title"],hi=$e(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,a=e,o=Kt.useRouter(),{i18n:{t:r}}=ve.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(w.value&&!g.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?p():A()},A=()=>{i("plugin-clicked",a.plugin)},g=t.computed(()=>a.plugin.id==="custom-plugin-create"),w=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===b.CUSTOM_PLUGINS),S=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},h=(C,Y)=>{const y=a.config;a.config.app==="konnect"&&typeof y.getCustomEditRoute=="function"&&y.getCustomEditRoute&&o.push(y.getCustomEditRoute(C,Y))},v=()=>{if(!l.value&&a.config.app==="konnect"){const C=a.config;g.value&&C.createCustomRoute?o.push(C.createCustomRoute):w.value&&p()}};return(C,Y)=>{const y=t.resolveComponent("KButton"),m=t.resolveComponent("KDropdownItem"),E=t.resolveComponent("KDropdownMenu"),f=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Vb,[t.createVNode(f,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:l.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:Y[1]||(Y[1]=I=>l.value||w.value?void 0:u())},[t.createElementVNode("div",Db,[t.createElementVNode("div",Pb,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!w.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Gb,[t.createVNode(E,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(y,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Ye.MoreIcon),{size:t.unref(wb)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:0,"data-testid":"edit-plugin-schema",onClick:Y[0]||(Y[0]=t.withModifiers(I=>h(e.plugin.name,e.plugin.customPluginType),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(S,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":w.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:v},[t.createVNode(xn,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||w.value&&!g.value?(t.openBlock(),t.createElementBlock("div",Ub,[w.value&&!g.value?(t.openBlock(),t.createElementBlock("p",jb,t.toDisplayString(t.unref(r)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,Yb)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Lb),t.createElementVNode("div",{class:"plugin-card-footer",onClick:v},t.toDisplayString(g.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,Nb)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-b6a2ebc6"]]),Hb=$e(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var S;const i=e,a=n,{i18nT:o,i18n:{t:r}}=ve.useI18n(),{getMessageFromError:s}=j.useErrors(),{axiosInstance:l}=j.useAxios((S=i.config)==null?void 0:S.axiosRequestConfig),d=t.computed(()=>{var h;return A.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((h=i.plugin)==null?void 0:h.name)||r("delete.custom_plugin")})}),p=t.ref(!1),u=t.ref(""),A=t.ref(!1),g=t.computed(()=>{if(i.config.app==="konnect"){const h=i.plugin.customPluginType==="streaming"?Oe.select[i.config.app].streamingCustomPluginItem:Oe.select[i.config.app].schemaCustomPluginItem;let v=`${i.config.apiBaseUrl}${h}`;return v=v.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),v=v.replace(/{pluginId}/gi,i.plugin.id),v}return null}),w=async()=>{var h,v,C,Y;if(p.value=!0,u.value="",!(!((h=i.plugin)!=null&&h.name)||((v=i.config)==null?void 0:v.app)!=="konnect"))try{g.value&&await l.delete(g.value),a("proceed")}catch(y){const{response:m}=y;(m==null?void 0:m.status)===400&&((Y=(C=m.data)==null?void 0:C.message)!=null&&Y.includes("plugin schema is currently in use"))?A.value=!0:u.value=s(y)}finally{p.value=!1}};return(h,v)=>{const C=t.resolveComponent("KButton"),Y=t.resolveComponent("KModal");return!A.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(j.EntityDeleteModal),{key:0,"action-pending":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(r)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(j.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:d.value,visible:"",onCancel:v[0]||(v[0]=y=>h.$emit("closed")),onProceed:w},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(Y,{key:1,"action-button-disabled":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:d.value,visible:"",onCancel:v[2]||(v[2]=y=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(o),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(C,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:v[1]||(v[1]=y=>h.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-9e0dee7f"]]),Fb={class:"custom-plugins-grid"},Kb={class:"empty-state-title"},zb={class:"empty-state-description"},yi=310,qb=$e(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=ve.useI18n(),{getTallestPluginCardHeight:r,getToggleVisibility:s}=ve.usePluginHelpers(),l=t.ref(!0),d=E=>{a("plugin-clicked",E)},p=t.computed(()=>{if(i.config.app==="kongManager")return[];const E=JSON.parse(JSON.stringify(i.pluginList))[b.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:o("plugins.select.tabs.custom.create.name"),available:!0,group:b.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(E):E}),u=t.ref(!1),A=t.ref(null),g=E=>{u.value=!0,A.value={id:E.id,name:E.name,customPluginType:E.customPluginType}},w=E=>{var f;E&&(a("revalidate"),a("delete:success",((f=A.value)==null?void 0:f.name)||"")),u.value=!1,A.value=null},S=t.ref(yi),h=t.ref(null),v=t.ref(null),C=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${S.value}px`}:{}),Y=t.ref(!1),y=()=>{S.value=Math.max(r(v.value),yi),m()},m=()=>{var E,f;(E=v.value)!=null&&E.length&&(Y.value=s(h.value,(f=v.value)==null?void 0:f.length))};return t.onMounted(async()=>{await t.nextTick(),S.value=Math.max(r(v.value),yi),m(),window==null||window.addEventListener("resize",y)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",y)}),(E,f)=>{const I=t.resolveComponent("KEmptyState"),M=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Fb,[p.value.length?(t.openBlock(),t.createBlock(M,{key:1,modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=F=>l.value=F),class:"custom-plugins-collapse","data-testid":`${t.unref(b).CUSTOM_PLUGINS}-collapse`,title:t.unref(b).CUSTOM_PLUGINS,"trigger-label":l.value?t.unref(o)("plugins.select.view_more"):t.unref(o)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:h,class:"plugin-card-container",style:t.normalizeStyle(C.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(F,V)=>(t.openBlock(),t.createBlock(hi,{key:`plugin-card-${V}`,ref_for:!0,ref_key:"pluginCardRef",ref:v,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:F,onCustomPluginDelete:D=>g(F),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[Y.value?void 0:{name:"trigger",fn:t.withCtx(()=>[f[2]||(f[2]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(I,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Kb,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",zb,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&A.value?(t.openBlock(),t.createBlock(Hb,{key:2,config:e.config,plugin:A.value,onClosed:w,onProceed:f[1]||(f[1]=F=>w(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9703ee67"]]),bi=310,nr=$e(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const i=t.useModel(e,"modelValue"),a=e,o=n,{i18n:{t:r}}=ve.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=ve.usePluginHelpers(),d=t.ref(bi),p=t.ref(null),u=t.ref(null),A=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),g=t.ref(!1),w=()=>{d.value=Math.max(s(u.value),bi),S()},S=()=>{var h,v;(h=u.value)!=null&&h.length&&(g.value=l(p.value,(v=u.value)==null?void 0:v.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=Math.max(s(u.value),bi),S(),window==null||window.addEventListener("resize",w)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",w)}),(h,v)=>{const C=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(C,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=Y=>i.value=Y),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.value?t.unref(r)("plugins.select.view_more"):t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:p,class:"plugin-card-container",style:t.normalizeStyle(A.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,Y=>(t.openBlock(),t.createBlock(hi,{key:`plugin-card-${Y.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:Y,onPluginClicked:y=>o("plugin-clicked",Y)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[g.value?void 0:{name:"trigger",fn:t.withCtx(()=>[v[1]||(v[1]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),Jb={class:"plugin-select-grid"},Qb={class:"empty-state-title"},Xb={class:"empty-state-description"},Ei=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=ve.useI18n(),r=t.ref(!1),s=t.ref(Ui),l=p=>{a("plugin-clicked",p)},d=t.computed(()=>{const p=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete p[b.CUSTOM_PLUGINS],p});return(p,u)=>{const A=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",Jb,[Object.keys(d.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(A,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Qb,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Xb,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(nr,{key:1,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=g=>r.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:u[1]||(u[1]=g=>l(g))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Li),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(nr,{modelValue:s.value[g],"onUpdate:modelValue":w=>s.value[g]=w,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:d.value[g]||[],onPluginClicked:u[2]||(u[2]=w=>l(w))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Zb={class:"kong-ui-entities-plugin-select-form"},Wb={class:"plugins-filter-input-container"},_b={key:0},$b={key:3,"aria-live":"polite",class:"plugins-results-container"},eE={"data-testid":"kong-tab"},tE={class:"tab-description"},nE={"data-testid":"custom-tab"},iE={class:"tab-description"},aE=$e(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},customPluginSupport:{type:String,default:"none"},canCreateCustomPlugin:{type:Function,required:!1,default:async()=>!0},canDeleteCustomPlugin:{type:Function,required:!1,default:async()=>!0},canEditCustomPlugin:{type:Function,required:!1,default:async()=>!0},navigateOnClick:{type:Boolean,default:!0},availableOnServer:{type:Boolean,default:!0},ignoredPlugins:{type:Array,default:()=>[]},disabledPlugins:{type:Object,default:()=>({})},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var H;const i=e,a=n,o=Kt.useRoute(),r=Kt.useRouter(),{i18n:{t:s}}=ve.useI18n(),{pluginMetaData:l}=ve.usePluginMetaData(),{getMessageFromError:d}=j.useErrors(),{sortAlpha:p,objectsAreEqual:u}=j.useHelpers(),A=t.ref(""),g=t.ref(!0),w=t.ref(!1),S=t.ref(""),h=t.ref([]),v=t.ref([]),C=t.ref({}),Y=t.ref([]),{axiosInstance:y}=j.useAxios((H=i.config)==null?void 0:H.axiosRequestConfig),m=t.computed(()=>C.value?Object.entries(C.value).filter(([B])=>B!==b.CUSTOM_PLUGINS).reduce((B,[,k])=>{for(const R of k)B[R.id]=R;return B},{}):{}),E=t.computed(()=>{var R;if(!C.value)return{};const B=A.value.toLowerCase(),k=JSON.parse(JSON.stringify(C.value));for(const $ in C.value){const ie=((R=C.value[$])==null?void 0:R.filter(ne=>ne.name.toLowerCase().includes(B)||ne.id.toLowerCase().includes(B)||ne.group.toLowerCase().includes(B)))||[];ie.length?k[$]=ie:delete k[$]}return k}),f=t.computed(()=>i.highlightedPluginIds.reduce((B,k)=>{const R=m.value[k];return R&&B.push(R),B},[])),I=t.computed(()=>Object.keys(E.value).length>0),M=t.computed(()=>Object.keys(C.value).length>0&&!I.value),F=t.computed(()=>i.config.app==="konnect"?[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:["none","disabled"].includes(i.customPluginSupport)}]:[]),V=t.computed(()=>{var k;let B=F.value.length&&((o==null?void 0:o.hash)||((k=F.value[0])==null?void 0:k.hash))||"";return B==="#custom"&&["none","disabled"].includes(i.customPluginSupport)&&(B="#kong"),B}),D=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...h.value])].filter(B=>!i.ignoredPlugins.includes(B)).filter(B=>i.config.entityType&&(i.config.entityType==="services"&&l[B]&&!l[B].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[B]&&!l[B].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[B]&&!l[B].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[B]&&!l[B].scope.includes(c.CONSUMER))?!1:B).reduce((B,k)=>{var Q;const R=l[k]&&l[k].name||k,$={...l[k],id:k,name:R,available:h.value.includes(k),disabledMessage:"",group:((Q=l[k])==null?void 0:Q.group)||b.CUSTOM_PLUGINS};$.group===b.CUSTOM_PLUGINS&&($.customPluginType=v.value.find(Te=>Te.name===k)?"streaming":"schema"),i.disabledPlugins&&($.disabledMessage=i.disabledPlugins[k]);const ie=$.group||s("plugins.select.misc_plugins");let ne=B[ie];return ne||(ne=[]),ne.push($),ne.sort(p("name")),B[ie]=ne,B},{}),K=t.computed(()=>{var k;let B=`${i.config.apiBaseUrl}${Oe.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(B=((k=i.config.gatewayInfo)==null?void 0:k.edition)==="community"?`${i.config.apiBaseUrl}${Oe.select[i.config.app].availablePluginsForOss}`:B.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),B}),q=t.computed(()=>{if(i.config.app==="konnect"&&i.customPluginSupport==="streaming"){let B=`${i.config.apiBaseUrl}${Oe.select[i.config.app].streamingCustomPlugins}`;return B=B.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),B}return null}),_=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let B=`${i.config.apiBaseUrl}${Oe.list[i.config.app].forEntity}`;return i.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),B.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),te=B=>{r.replace({hash:B,query:o.query})};t.watch(()=>i.disabledPlugins,(B,k)=>{!u(B,k)&&!g.value&&(C.value=D())}),t.watch(()=>i.ignoredPlugins,(B,k)=>{!u(B,k)&&!g.value&&(C.value=D())}),t.watch(g,B=>{a("loading",B)});const z=t.ref(!1),T=t.ref(!1),N=t.ref(!1);return t.onBeforeMount(async()=>{z.value=await i.canCreateCustomPlugin(),T.value=await i.canEditCustomPlugin(),N.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:B}=await y.get(K.value);if(i.config.app==="konnect"){const{names:k}=B;if(h.value=k||[],q.value){const{data:R}=await y.get(q.value);v.value=R.data||[]}}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:k}}=B;h.value=k?Object.keys(k):[]}}catch(B){w.value=!0,S.value=d(B)}if(_.value)try{const{data:{data:B}}=await y.get(_.value);if(B!=null&&B.length){const k=B.reduce((R,$)=>($.name&&R.push($.name),R),[]);Y.value=Y.value.concat(k)}}catch{}w.value||(C.value=D()),g.value=!1}),(B,k)=>{const R=t.resolveComponent("KInput"),$=t.resolveComponent("KSkeletonBox"),ie=t.resolveComponent("KSkeleton"),ne=t.resolveComponent("KEmptyState"),Q=t.resolveComponent("KTooltip"),Te=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Zb,[t.createElementVNode("div",Wb,[t.createVNode(R,{modelValue:A.value,"onUpdate:modelValue":k[0]||(k[0]=ge=>A.value=ge),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),g.value?(t.openBlock(),t.createElementBlock("section",_b,[t.createVNode($,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(ie,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):w.value?(t.openBlock(),t.createBlock(ne,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):M.value&&A.value?(t.openBlock(),t.createBlock(ne,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(s)("search.no_results",{filter:A.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",$b,[F.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(Te,{key:0,modelValue:V.value,"onUpdate:modelValue":k[5]||(k[5]=ge=>V.value=ge),"data-testid":"plugins-tabs",tabs:F.value,onChange:te},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",eE,[t.createElementVNode("p",tE,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(Ei,{config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:k[1]||(k[1]=ge=>B.$emit("plugin-clicked",ge))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",nE,[t.createElementVNode("p",iE,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(qb,{"can-create-custom-plugin":z.value,"can-delete-custom-plugin":N.value,"can-edit-custom-plugin":T.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,"onDelete:success":k[2]||(k[2]=ge=>B.$emit("delete-custom:success",ge)),onPluginClicked:k[3]||(k[3]=ge=>B.$emit("plugin-clicked",ge)),onRevalidate:k[4]||(k[4]=()=>C.value=D())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.customPluginSupport==="disabled"?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(Q,{"max-width":"300",text:t.unref(s)("plugins.select.tabs.custom.disabled_tooltip")},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.title")),1)]),_:1},8,["text"])]),key:"0"}:void 0]),1032,["modelValue","tabs"])):(t.openBlock(),t.createBlock(Ei,{key:1,config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:k[6]||(k[6]=ge=>B.$emit("plugin-clicked",ge))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-429bc3e0"]]),oE={class:"kong-ui-entity-plugin-config-card"},rE={class:"name-cell-wrapper"},sE={class:"info-name"},lE={key:0},cE={key:0},dE={key:0},uE={key:0},wi="config",pE=$e(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var Y;const i=n,a=e,{i18n:{t:o}}=ve.useI18n(),r=ve.usePluginMetaData(),{setFieldType:s}=ve.usePluginHelpers(),{getPropValue:l}=j.useHelpers(),d=t.computed(()=>{var y;return(y=Oe.item[a.config.app])==null?void 0:y[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),p=t.computed(()=>{var E,f;const y={},m=((E=h.value)==null?void 0:E.fields)||[];for(let I=0;I<m.length;I++){const M=h.value.fields[I],F=(f=Object.keys(M))==null?void 0:f[0];s(y,F,M[F])}return{...y,instance_name:{section:j.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:j.ConfigurationSchemaSection.Basic,order:6},route:{label:o("plugins.fields.route"),section:j.ConfigurationSchemaSection.Basic,order:6},service:{label:o("plugins.fields.service"),section:j.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:j.ConfigurationSchemaSection.Basic,order:6},protocols:{type:j.ConfigurationSchemaType.BadgeTag,section:j.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var m,E,f;if(!((m=h.value)!=null&&m.fields))return[];const y=(E=h.value.fields)==null?void 0:E.find(I=>{var F;return((F=Object.keys(I))==null?void 0:F[0])===wi});return((f=y==null?void 0:y[wi])==null?void 0:f.fields)||[]}),A=t.computed(()=>{var m,E;const y={};if(!u.value)return y;for(let f=0;f<((m=u.value)==null?void 0:m.length);f++){const I=u.value[f],M=(E=Object.keys(I))==null?void 0:E[0],F=I[M];F.required&&(y[M]={order:1}),s(y,M,F)}return y}),{getMessageFromError:g}=j.useErrors(),{axiosInstance:w}=j.useAxios((Y=a.config)==null?void 0:Y.axiosRequestConfig),S=t.computed(()=>{var m,E;let y=`${a.config.apiBaseUrl}${Oe.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,((m=a.config)==null?void 0:m.controlPlaneId)||""):a.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,(E=a.config)!=null&&E.workspace?`/${a.config.workspace}`:"")),y=y.replace(/{plugin}/gi,a.config.pluginType),y}),h=t.ref({});j.useSchemaProvider(h);const v=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:y}=await w.get(S.value);h.value=y}catch(y){C.value=g(y),i("error:fetch-schema",y)}finally{v.value=!1}}),(y,m)=>{const E=t.resolveComponent("KSkeleton"),f=t.resolveComponent("KEmptyState"),I=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",oE,[v.value?(t.openBlock(),t.createBlock(E,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(f,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(j.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"entity-type":t.unref(j.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":wi,"plugin-config-schema":A.value,"onFetch:error":m[0]||(m[0]=M=>y.$emit("fetch:error",M)),"onFetch:success":m[1]||(m[1]=M=>y.$emit("fetch:success",M)),onLoading:m[2]||(m[2]=M=>y.$emit("loading",M))},{name:t.withCtx(M=>[t.createElementVNode("div",rE,[t.createVNode(xn,{class:"plugin-icon",name:t.unref(l)("rowValue",M),size:24},null,8,["name"]),t.createElementVNode("span",sE,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",M))),1)])]),consumer:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lE,"–"))]),route:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",cE,"–"))]),service:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",dE,"–"))]),consumer_group:t.withCtx(M=>[t.unref(l)("rowValue",M)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(j.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",M).id,value:t.unref(l)("rowValue",M).id,type:t.unref(j.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",M).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(I,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",M).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",M).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",uE,"–"))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-f27734d2"]]),{usePluginMetaData:AE}=ve;ee.EntityTypeIdField=Et,ee.PLUGIN_GROUPS_COLLAPSE_STATUS=Ui,ee.PluginConfigCard=pE,ee.PluginForm=qh,ee.PluginGroup=b,ee.PluginGroupArray=Li,ee.PluginIcon=xn,ee.PluginList=xb,ee.PluginScope=c,ee.PluginSelect=aE,ee.PluginSelectCard=hi,ee.PluginSelectGrid=Ei,ee.VueFormGenerator=Le,ee.getPluginIconURL=qi,ee.pluginEndpoints=Oe,ee.usePluginMetaData=AE,Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"})});
|