@kong-ui-public/entities-plugins 9.14.0 → 9.14.1

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.
@@ -65,4 +65,4 @@ Please report this to https://github.com/markedjs/marked.`,n){const o="<p>An err
65
65
  authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Gt.tags}]},ec={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"]}}]},aa={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
66
66
  client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:Ct}]},tc={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",...P["basic-auth"]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",...P["hmac-auth"]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",...P["jwt-signer"]},jwt:{descriptionKey:"plugins.meta.jwt.description",isEnterprise:!1,nameKey:"plugins.meta.jwt.name",...P.jwt},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",...P["key-auth"]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",...P["key-auth-enc"]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",...P["ldap-auth-advanced"]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",...P["ldap-auth"]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",...P["oauth2-introspection"]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",...P.oauth2},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",...P["openid-connect"]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",...P["mtls-auth"]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",...P["vault-auth"]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",...P["bot-detection"]},cors:{descriptionKey:"plugins.meta.cors.description",isEnterprise:!1,nameKey:"plugins.meta.cors.name",...P.cors},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]},...P["ip-restriction"]},opa:{descriptionKey:"plugins.meta.opa.description",isEnterprise:!0,nameKey:"plugins.meta.opa.name",...P.opa},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",...P["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"]]},...P["request-validator"]},acl:{descriptionKey:"plugins.meta.acl.description",isEnterprise:!1,nameKey:"plugins.meta.acl.name",fieldRules:{onlyOneOf:[["config.allow","config.deny"]]},...P.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"]]},...P.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"]]]},...P["forward-proxy"]},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",...P["proxy-cache"]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",imageName:"proxy-cache",...P["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",...P["graphql-proxy-cache-advanced"]},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",...P["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"]]},...P["rate-limiting"]},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",...P["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"]]},...P.mocking},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",...P["request-size-limiting"]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",...P["request-termination"]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",...P["response-ratelimiting"]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",...P["route-by-header"]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",useLegacyForm:!0,...P["ai-proxy"]},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",useLegacyForm:!0,...P["ai-prompt-decorator"]},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",useLegacyForm:!0,...P["ai-prompt-template"]},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",useLegacyForm:!0,...P["ai-prompt-guard"]},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",useLegacyForm:!0,...P["ai-request-transformer"]},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",useLegacyForm:!0,...P["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,...P["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,...P["ai-azure-content-safety"]},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",...P["aws-lambda"]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",...P["azure-functions"]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",...P.openwhisk},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",imageName:"kong-function",...P["pre-function"]},"post-function":{descriptionKey:"plugins.meta.post-function.description",isEnterprise:!0,nameKey:"plugins.meta.post-function.name",imageName:"kong-function",...P["post-function"]},datadog:{descriptionKey:"plugins.meta.datadog.description",isEnterprise:!1,nameKey:"plugins.meta.datadog.name",...P.datadog},prometheus:{descriptionKey:"plugins.meta.prometheus.description",isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",...P.prometheus},zipkin:{descriptionKey:"plugins.meta.zipkin.description",isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",...P.zipkin},collector:{descriptionKey:"plugins.meta.collector.description",isEnterprise:!0,nameKey:"plugins.meta.collector.name",...P.collector},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",...P["response-transformer-advanced"]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",...P["correlation-id"]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",...P["request-transformer-advanced"]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",...P["request-transformer"]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",...P["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"]]},...P["route-transformer-advanced"]},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",...P["kafka-upstream"]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",...P.degraphql},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",...P["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"]]},...P.jq},"file-log":{descriptionKey:"plugins.meta.file-log.description",isEnterprise:!1,nameKey:"plugins.meta.file-log.name",...P["file-log"]},"http-log":{descriptionKey:"plugins.meta.http-log.description",isEnterprise:!1,nameKey:"plugins.meta.http-log.name",...P["http-log"]},loggly:{descriptionKey:"plugins.meta.loggly.description",isEnterprise:!1,nameKey:"plugins.meta.loggly.name",...P.loggly},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",...P["statsd-advanced"]},statsd:{descriptionKey:"plugins.meta.statsd.description",isEnterprise:!1,nameKey:"plugins.meta.statsd.name",...P.statsd},syslog:{descriptionKey:"plugins.meta.syslog.description",isEnterprise:!1,nameKey:"plugins.meta.syslog.name",...P.syslog},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",...P["tcp-log"]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",...P["udp-log"]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",...P["kafka-log"]},session:{descriptionKey:"plugins.meta.session.description",isEnterprise:!1,nameKey:"plugins.meta.session.name",...P.session},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",...P["upstream-tls"]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",...P["application-registration"]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",imageName:"application-registration",...P["konnect-application-auth"]},acme:{descriptionKey:"plugins.meta.acme.description",isEnterprise:!1,nameKey:"plugins.meta.acme.name",...P.acme},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",...P["grpc-gateway"]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",...P["grpc-web"]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",...P["upstream-timeout"]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]},...P.opentelemetry},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",...P["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"]]},...P["websocket-size-limit"]},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",...P["tls-metadata-headers"]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",...P["tls-handshake-modifier"]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",...P["oas-validation"]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",...P["jwe-decrypt"]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",...P["xml-threat-protection"]},saml:{descriptionKey:"plugins.meta.saml.description",isEnterprise:!0,nameKey:"plugins.meta.saml.name",...P.saml},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",...P["app-dynamics"]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",isEnterprise:!0,nameKey:"plugins.meta.json-threat-protection.name",...P["json-threat-protection"]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",...P["standard-webhooks"]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",isEnterprise:!0,nameKey:"plugins.meta.ai-proxy-advanced.name",useLegacyForm:!0,...P["ai-proxy-advanced"]},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-cache.name",useLegacyForm:!0,...P["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,...P["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"]]]},...P["header-cert-auth"]},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",imageName:"oauth2",...P["upstream-oauth"]},confluent:{descriptionKey:"plugins.meta.confluent.description",isEnterprise:!0,nameKey:"plugins.meta.confluent.name",...P.confluent},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",...P["service-protection"]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",...P["injection-protection"]},redirect:{descriptionKey:"plugins.meta.redirect.description",isEnterprise:!1,nameKey:"plugins.meta.redirect.name",...P.redirect}},Lt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:$i,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:wt($i),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:ea,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:wt(ea)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:ta,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:wt(ta)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:aa,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:wt(aa)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:ia,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:wt(ia)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:na,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:wt(na)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:_l,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},nc={acls:Jl,basicauth_credentials:Xl,keyauth_credentials:Zl,keyauth_enc_credentials:tc,oauth2_credentials:ec,hmacauth_credentials:Wl,jwt_secrets:$l},oa=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":as,"../assets/images/plugin-icons/acme.png":os,"../assets/images/plugin-icons/ai-azure-content-safety.png":rs,"../assets/images/plugin-icons/ai-data-sanitization.png":ss,"../assets/images/plugin-icons/ai-prompt-decorator.png":ls,"../assets/images/plugin-icons/ai-prompt-guard.png":cs,"../assets/images/plugin-icons/ai-prompt-template.png":ds,"../assets/images/plugin-icons/ai-proxy-advanced.png":ps,"../assets/images/plugin-icons/ai-proxy.png":us,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":gs,"../assets/images/plugin-icons/ai-request-transformer.png":As,"../assets/images/plugin-icons/ai-response-transformer.png":ms,"../assets/images/plugin-icons/ai-semantic-cache.png":fs,"../assets/images/plugin-icons/ai-semantic-prompt-guard.png":hs,"../assets/images/plugin-icons/app-dynamics.png":ys,"../assets/images/plugin-icons/application-registration.png":bs,"../assets/images/plugin-icons/aws-lambda.png":Es,"../assets/images/plugin-icons/azure-functions.png":ws,"../assets/images/plugin-icons/basic-auth.png":Cs,"../assets/images/plugin-icons/bot-detection.png":Bs,"../assets/images/plugin-icons/canary.png":ks,"../assets/images/plugin-icons/collector.png":Is,"../assets/images/plugin-icons/confluent.png":Os,"../assets/images/plugin-icons/correlation-id.png":vs,"../assets/images/plugin-icons/cors.png":Ms,"../assets/images/plugin-icons/datadog.png":Rs,"../assets/images/plugin-icons/degraphql.png":Ts,"../assets/images/plugin-icons/dynamic-ssl.png":Ss,"../assets/images/plugin-icons/exit-transformer.png":xs,"../assets/images/plugin-icons/file-log.png":Ns,"../assets/images/plugin-icons/forward-proxy.png":Vs,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":Ps,"../assets/images/plugin-icons/graphql.png":Ds,"../assets/images/plugin-icons/grpc-gateway.png":Us,"../assets/images/plugin-icons/grpc-web.png":Gs,"../assets/images/plugin-icons/hmac-auth.png":Ls,"../assets/images/plugin-icons/http-log.png":js,"../assets/images/plugin-icons/injection-protection.png":Ys,"../assets/images/plugin-icons/ip-restriction.png":Hs,"../assets/images/plugin-icons/jq.png":Fs,"../assets/images/plugin-icons/json-threat-protection.png":Ks,"../assets/images/plugin-icons/jwe-decrypt.png":zs,"../assets/images/plugin-icons/jwt-signer.png":qs,"../assets/images/plugin-icons/jwt.png":Qs,"../assets/images/plugin-icons/kafka-log.png":Js,"../assets/images/plugin-icons/kafka-upstream.png":Xs,"../assets/images/plugin-icons/key-auth-enc.png":Zs,"../assets/images/plugin-icons/key-auth.png":Ws,"../assets/images/plugin-icons/kong-function.png":_s,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":$s,"../assets/images/plugin-icons/ldap-auth-advanced.png":el,"../assets/images/plugin-icons/ldap-auth.png":tl,"../assets/images/plugin-icons/loggly.png":nl,"../assets/images/plugin-icons/missing.png":il,"../assets/images/plugin-icons/mocking.png":al,"../assets/images/plugin-icons/mtls-auth.png":ol,"../assets/images/plugin-icons/new.png":rl,"../assets/images/plugin-icons/oas-validation.png":sl,"../assets/images/plugin-icons/oauth2-introspection.png":ll,"../assets/images/plugin-icons/oauth2.png":cl,"../assets/images/plugin-icons/opa.png":dl,"../assets/images/plugin-icons/openid-connect.png":pl,"../assets/images/plugin-icons/opentelemetry.png":ul,"../assets/images/plugin-icons/openwhisk.png":gl,"../assets/images/plugin-icons/prometheus.png":Al,"../assets/images/plugin-icons/proxy-cache.png":ml,"../assets/images/plugin-icons/rate-limiting-advanced.png":fl,"../assets/images/plugin-icons/rate-limiting.png":hl,"../assets/images/plugin-icons/redirect.png":yl,"../assets/images/plugin-icons/request-size-limiting.png":bl,"../assets/images/plugin-icons/request-termination.png":El,"../assets/images/plugin-icons/request-transformer-advanced.png":wl,"../assets/images/plugin-icons/request-transformer.png":Cl,"../assets/images/plugin-icons/request-validator.png":Bl,"../assets/images/plugin-icons/response-ratelimiting.png":kl,"../assets/images/plugin-icons/response-transformer-advanced.png":Il,"../assets/images/plugin-icons/response-transformer.png":Ol,"../assets/images/plugin-icons/route-by-header.png":vl,"../assets/images/plugin-icons/route-transformer-advanced.png":Ml,"../assets/images/plugin-icons/runscope.png":Rl,"../assets/images/plugin-icons/saml.png":Tl,"../assets/images/plugin-icons/service-protection.png":Sl,"../assets/images/plugin-icons/session.png":xl,"../assets/images/plugin-icons/standard-webhooks.png":Nl,"../assets/images/plugin-icons/statsd-advanced.png":Vl,"../assets/images/plugin-icons/statsd.png":Pl,"../assets/images/plugin-icons/syslog.png":Dl,"../assets/images/plugin-icons/tcp-log.png":Ul,"../assets/images/plugin-icons/tls-handshake-modifier.png":Gl,"../assets/images/plugin-icons/tls-metadata-headers.png":Ll,"../assets/images/plugin-icons/udp-log.png":jl,"../assets/images/plugin-icons/upstream-timeout.png":Yl,"../assets/images/plugin-icons/upstream-tls.png":Hl,"../assets/images/plugin-icons/vault-auth.png":Fl,"../assets/images/plugin-icons/websocket-size-limit.png":Kl,"../assets/images/plugin-icons/websocket-validator.png":zl,"../assets/images/plugin-icons/xml-threat-protection.png":ql,"../assets/images/plugin-icons/zipkin.png":Ql})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:nt&&nt.tagName.toUpperCase()==="SCRIPT"&&nt.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:nt&&nt.tagName.toUpperCase()==="SCRIPT"&&nt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},ic=()=>{const{i18n:{t:e}}=Bn(),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(Lt))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:Lt,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function ra(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function ac(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 oc=ac();function rc(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var sa=typeof global=="object"&&global&&global.Object===Object&&global,sc=typeof self=="object"&&self&&self.Object===Object&&self,Qe=sa||sc||Function("return this")(),ct=Qe.Symbol,la=Object.prototype,lc=la.hasOwnProperty,cc=la.toString,an=ct?ct.toStringTag:void 0;function dc(e){var n=lc.call(e,an),i=e[an];try{e[an]=void 0;var a=!0}catch{}var o=cc.call(e);return a&&(n?e[an]=i:delete e[an]),o}var pc=Object.prototype,uc=pc.toString;function gc(e){return uc.call(e)}var Ac="[object Null]",mc="[object Undefined]",ca=ct?ct.toStringTag:void 0;function dt(e){return e==null?e===void 0?mc:Ac:ca&&ca in Object(e)?dc(e):gc(e)}function pt(e){return e!=null&&typeof e=="object"}var fc="[object Arguments]";function da(e){return pt(e)&&dt(e)==fc}var pa=Object.prototype,hc=pa.hasOwnProperty,yc=pa.propertyIsEnumerable,bc=da(function(){return arguments}())?da:function(e){return pt(e)&&hc.call(e,"callee")&&!yc.call(e,"callee")},ut=Array.isArray;function Ec(){return!1}var ua=typeof _=="object"&&_&&!_.nodeType&&_,ga=ua&&typeof module=="object"&&module&&!module.nodeType&&module,wc=ga&&ga.exports===ua,Aa=wc?Qe.Buffer:void 0,Cc=Aa?Aa.isBuffer:void 0,ma=Cc||Ec,Bc=9007199254740991,kc=/^(?:0|[1-9]\d*)$/;function fa(e,n){var i=typeof e;return n=n??Bc,!!n&&(i=="number"||i!="symbol"&&kc.test(e))&&e>-1&&e%1==0&&e<n}var Ic=9007199254740991;function ha(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ic}var Oc="[object Arguments]",vc="[object Array]",Mc="[object Boolean]",Rc="[object Date]",Tc="[object Error]",Sc="[object Function]",xc="[object Map]",Nc="[object Number]",Vc="[object Object]",Pc="[object RegExp]",Dc="[object Set]",Uc="[object String]",Gc="[object WeakMap]",Lc="[object ArrayBuffer]",jc="[object DataView]",Yc="[object Float32Array]",Hc="[object Float64Array]",Fc="[object Int8Array]",Kc="[object Int16Array]",zc="[object Int32Array]",qc="[object Uint8Array]",Qc="[object Uint8ClampedArray]",Jc="[object Uint16Array]",Xc="[object Uint32Array]",be={};be[Yc]=be[Hc]=be[Fc]=be[Kc]=be[zc]=be[qc]=be[Qc]=be[Jc]=be[Xc]=!0,be[Oc]=be[vc]=be[Lc]=be[Mc]=be[jc]=be[Rc]=be[Tc]=be[Sc]=be[xc]=be[Nc]=be[Vc]=be[Pc]=be[Dc]=be[Uc]=be[Gc]=!1;function Zc(e){return pt(e)&&ha(e.length)&&!!be[dt(e)]}function ni(e){return function(n){return e(n)}}var ya=typeof _=="object"&&_&&!_.nodeType&&_,on=ya&&typeof module=="object"&&module&&!module.nodeType&&module,Wc=on&&on.exports===ya,ii=Wc&&sa.process,jt=function(){try{var e=on&&on.require&&on.require("util").types;return e||ii&&ii.binding&&ii.binding("util")}catch{}}(),ba=jt&&jt.isTypedArray,_c=ba?ni(ba):Zc,$c=Object.prototype,ed=$c.hasOwnProperty;function Ea(e,n){var i=ut(e),a=!i&&bc(e),o=!i&&!a&&ma(e),r=!i&&!a&&!o&&_c(e),s=i||a||o||r,l=s?rc(e.length,String):[],d=l.length;for(var p in e)(n||ed.call(e,p))&&!(s&&(p=="length"||o&&(p=="offset"||p=="parent")||r&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||fa(p,d)))&&l.push(p);return l}var td=Object.prototype;function ai(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||td;return e===i}function wa(e,n){return function(i){return e(n(i))}}var nd=wa(Object.keys,Object),id=Object.prototype,ad=id.hasOwnProperty;function od(e){if(!ai(e))return nd(e);var n=[];for(var i in Object(e))ad.call(e,i)&&i!="constructor"&&n.push(i);return n}function Ye(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var rd="[object AsyncFunction]",sd="[object Function]",ld="[object GeneratorFunction]",cd="[object Proxy]";function he(e){if(!Ye(e))return!1;var n=dt(e);return n==sd||n==ld||n==rd||n==cd}function In(e){return e!=null&&ha(e.length)&&!he(e)}function On(e){return In(e)?Ea(e):od(e)}function dd(e,n){return e&&oc(e,n,On)}function pd(e,n){return function(i,a){if(i==null)return i;if(!In(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 ud=pd(dd);function oi(e){return e}function gd(e){return typeof e=="function"?e:oi}function Pe(e,n){var i=ut(e)?ra:ud;return i(e,gd(n))}var Ad="[object Symbol]";function vn(e){return typeof e=="symbol"||pt(e)&&dt(e)==Ad}var md=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fd=/^\w*$/;function hd(e,n){if(ut(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||vn(e)?!0:fd.test(e)||!md.test(e)||n!=null&&e in Object(n)}var ri=Qe["__core-js_shared__"],Ca=function(){var e=/[^.]+$/.exec(ri&&ri.keys&&ri.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function yd(e){return!!Ca&&Ca in e}var bd=Function.prototype,Ed=bd.toString;function Bt(e){if(e!=null){try{return Ed.call(e)}catch{}try{return e+""}catch{}}return""}var wd=/[\\^$.*+?()[\]{}|]/g,Cd=/^\[object .+?Constructor\]$/,Bd=Function.prototype,kd=Object.prototype,Id=Bd.toString,Od=kd.hasOwnProperty,vd=RegExp("^"+Id.call(Od).replace(wd,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Md(e){if(!Ye(e)||yd(e))return!1;var n=he(e)?vd:Cd;return n.test(Bt(e))}function Rd(e,n){return e==null?void 0:e[n]}function kt(e,n){var i=Rd(e,n);return Md(i)?i:void 0}var rn=kt(Object,"create");function Td(){this.__data__=rn?rn(null):{},this.size=0}function Sd(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var xd="__lodash_hash_undefined__",Nd=Object.prototype,Vd=Nd.hasOwnProperty;function Pd(e){var n=this.__data__;if(rn){var i=n[e];return i===xd?void 0:i}return Vd.call(n,e)?n[e]:void 0}var Dd=Object.prototype,Ud=Dd.hasOwnProperty;function Gd(e){var n=this.__data__;return rn?n[e]!==void 0:Ud.call(n,e)}var Ld="__lodash_hash_undefined__";function jd(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=rn&&n===void 0?Ld: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=Td,It.prototype.delete=Sd,It.prototype.get=Pd,It.prototype.has=Gd,It.prototype.set=jd;function Yd(){this.__data__=[],this.size=0}function Mn(e,n){return e===n||e!==e&&n!==n}function Rn(e,n){for(var i=e.length;i--;)if(Mn(e[i][0],n))return i;return-1}var Hd=Array.prototype,Fd=Hd.splice;function Kd(e){var n=this.__data__,i=Rn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():Fd.call(n,i,1),--this.size,!0}function zd(e){var n=this.__data__,i=Rn(n,e);return i<0?void 0:n[i][1]}function qd(e){return Rn(this.__data__,e)>-1}function Qd(e,n){var i=this.__data__,a=Rn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=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=Yd,it.prototype.delete=Kd,it.prototype.get=zd,it.prototype.has=qd,it.prototype.set=Qd;var sn=kt(Qe,"Map");function Jd(){this.size=0,this.__data__={hash:new It,map:new(sn||it),string:new It}}function Xd(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Tn(e,n){var i=e.__data__;return Xd(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Zd(e){var n=Tn(this,e).delete(e);return this.size-=n?1:0,n}function Wd(e){return Tn(this,e).get(e)}function _d(e){return Tn(this,e).has(e)}function $d(e,n){var i=Tn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function at(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])}}at.prototype.clear=Jd,at.prototype.delete=Zd,at.prototype.get=Wd,at.prototype.has=_d,at.prototype.set=$d;var ep="Expected a function";function si(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(ep);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(si.Cache||at),i}si.Cache=at;var tp=500;function np(e){var n=si(e,function(a){return i.size===tp&&i.clear(),a}),i=n.cache;return n}var ip=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ap=/\\(\\)?/g,op=np(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(ip,function(i,a,o,r){n.push(o?r.replace(ap,"$1"):a||i)}),n});function rp(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 sp=1/0,Ba=ct?ct.prototype:void 0,ka=Ba?Ba.toString:void 0;function Ia(e){if(typeof e=="string")return e;if(ut(e))return rp(e,Ia)+"";if(vn(e))return ka?ka.call(e):"";var n=e+"";return n=="0"&&1/e==-sp?"-0":n}function Oa(e){return e==null?"":Ia(e)}function lp(e,n){return ut(e)?e:hd(e,n)?[e]:op(Oa(e))}var cp=1/0;function dp(e){if(typeof e=="string"||vn(e))return e;var n=e+"";return n=="0"&&1/e==-cp?"-0":n}function pp(e,n){n=lp(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[dp(n[i++])];return i&&i==a?e:void 0}function ce(e,n,i){var a=e==null?void 0:pp(e,n);return a===void 0?i:a}function Me(e){return e==null}const gt="kong-ui-forms-api",va="kong-ui-forms-config",up="redis-partial-list-fetcher-key",At="autofill",Je="autofillSlot";function gp(){this.__data__=new it,this.size=0}function Ap(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function mp(e){return this.__data__.get(e)}function fp(e){return this.__data__.has(e)}var hp=200;function yp(e,n){var i=this.__data__;if(i instanceof it){var a=i.__data__;if(!sn||a.length<hp-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new at(a)}return i.set(e,n),this.size=i.size,this}function Yt(e){var n=this.__data__=new it(e);this.size=n.size}Yt.prototype.clear=gp,Yt.prototype.delete=Ap,Yt.prototype.get=mp,Yt.prototype.has=fp,Yt.prototype.set=yp;var Sn=function(){try{var e=kt(Object,"defineProperty");return e({},"",{}),e}catch{}}();function Ma(e,n,i){n=="__proto__"&&Sn?Sn(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var bp=Object.prototype,Ep=bp.hasOwnProperty;function Ra(e,n,i){var a=e[n];(!(Ep.call(e,n)&&Mn(a,i))||i===void 0&&!(n in e))&&Ma(e,n,i)}function xn(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?Ma(i,l,d):Ra(i,l,d)}return i}function wp(e,n){return e&&xn(n,On(n),e)}function Cp(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var Bp=Object.prototype,kp=Bp.hasOwnProperty;function Ip(e){if(!Ye(e))return Cp(e);var n=ai(e),i=[];for(var a in e)a=="constructor"&&(n||!kp.call(e,a))||i.push(a);return i}function Nn(e){return In(e)?Ea(e,!0):Ip(e)}function Op(e,n){return e&&xn(n,Nn(n),e)}var Ta=typeof _=="object"&&_&&!_.nodeType&&_,Sa=Ta&&typeof module=="object"&&module&&!module.nodeType&&module,vp=Sa&&Sa.exports===Ta,xa=vp?Qe.Buffer:void 0,Na=xa?xa.allocUnsafe:void 0;function Mp(e,n){if(n)return e.slice();var i=e.length,a=Na?Na(i):new e.constructor(i);return e.copy(a),a}function Rp(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function Tp(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 Va(){return[]}var Sp=Object.prototype,xp=Sp.propertyIsEnumerable,Pa=Object.getOwnPropertySymbols,li=Pa?function(e){return e==null?[]:(e=Object(e),Tp(Pa(e),function(n){return xp.call(e,n)}))}:Va;function Np(e,n){return xn(e,li(e),n)}function Da(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var Ua=wa(Object.getPrototypeOf,Object),Vp=Object.getOwnPropertySymbols,Ga=Vp?function(e){for(var n=[];e;)Da(n,li(e)),e=Ua(e);return n}:Va;function Pp(e,n){return xn(e,Ga(e),n)}function La(e,n,i){var a=n(e);return ut(e)?a:Da(a,i(e))}function Dp(e){return La(e,On,li)}function Up(e){return La(e,Nn,Ga)}var ci=kt(Qe,"DataView"),di=kt(Qe,"Promise"),Ht=kt(Qe,"Set"),pi=kt(Qe,"WeakMap"),ja="[object Map]",Gp="[object Object]",Ya="[object Promise]",Ha="[object Set]",Fa="[object WeakMap]",Ka="[object DataView]",Lp=Bt(ci),jp=Bt(sn),Yp=Bt(di),Hp=Bt(Ht),Fp=Bt(pi),ot=dt;(ci&&ot(new ci(new ArrayBuffer(1)))!=Ka||sn&&ot(new sn)!=ja||di&&ot(di.resolve())!=Ya||Ht&&ot(new Ht)!=Ha||pi&&ot(new pi)!=Fa)&&(ot=function(e){var n=dt(e),i=n==Gp?e.constructor:void 0,a=i?Bt(i):"";if(a)switch(a){case Lp:return Ka;case jp:return ja;case Yp:return Ya;case Hp:return Ha;case Fp:return Fa}return n});var Kp=Object.prototype,zp=Kp.hasOwnProperty;function qp(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&zp.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var za=Qe.Uint8Array;function ui(e){var n=new e.constructor(e.byteLength);return new za(n).set(new za(e)),n}function Qp(e,n){var i=n?ui(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var Jp=/\w*$/;function Xp(e){var n=new e.constructor(e.source,Jp.exec(e));return n.lastIndex=e.lastIndex,n}var qa=ct?ct.prototype:void 0,Qa=qa?qa.valueOf:void 0;function Zp(e){return Qa?Object(Qa.call(e)):{}}function Wp(e,n){var i=n?ui(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var _p="[object Boolean]",$p="[object Date]",eu="[object Map]",tu="[object Number]",nu="[object RegExp]",iu="[object Set]",au="[object String]",ou="[object Symbol]",ru="[object ArrayBuffer]",su="[object DataView]",lu="[object Float32Array]",cu="[object Float64Array]",du="[object Int8Array]",pu="[object Int16Array]",uu="[object Int32Array]",gu="[object Uint8Array]",Au="[object Uint8ClampedArray]",mu="[object Uint16Array]",fu="[object Uint32Array]";function hu(e,n,i){var a=e.constructor;switch(n){case ru:return ui(e);case _p:case $p:return new a(+e);case su:return Qp(e,i);case lu:case cu:case du:case pu:case uu:case gu:case Au:case mu:case fu:return Wp(e,i);case eu:return new a;case tu:case au:return new a(e);case nu:return Xp(e);case iu:return new a;case ou:return Zp(e)}}var Ja=Object.create,yu=function(){function e(){}return function(n){if(!Ye(n))return{};if(Ja)return Ja(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function bu(e){return typeof e.constructor=="function"&&!ai(e)?yu(Ua(e)):{}}var Eu="[object Map]";function wu(e){return pt(e)&&ot(e)==Eu}var Xa=jt&&jt.isMap,Cu=Xa?ni(Xa):wu,Bu="[object Set]";function ku(e){return pt(e)&&ot(e)==Bu}var Za=jt&&jt.isSet,Iu=Za?ni(Za):ku,Ou=1,vu=2,Mu=4,Wa="[object Arguments]",Ru="[object Array]",Tu="[object Boolean]",Su="[object Date]",xu="[object Error]",_a="[object Function]",Nu="[object GeneratorFunction]",Vu="[object Map]",Pu="[object Number]",$a="[object Object]",Du="[object RegExp]",Uu="[object Set]",Gu="[object String]",Lu="[object Symbol]",ju="[object WeakMap]",Yu="[object ArrayBuffer]",Hu="[object DataView]",Fu="[object Float32Array]",Ku="[object Float64Array]",zu="[object Int8Array]",qu="[object Int16Array]",Qu="[object Int32Array]",Ju="[object Uint8Array]",Xu="[object Uint8ClampedArray]",Zu="[object Uint16Array]",Wu="[object Uint32Array]",ye={};ye[Wa]=ye[Ru]=ye[Yu]=ye[Hu]=ye[Tu]=ye[Su]=ye[Fu]=ye[Ku]=ye[zu]=ye[qu]=ye[Qu]=ye[Vu]=ye[Pu]=ye[$a]=ye[Du]=ye[Uu]=ye[Gu]=ye[Lu]=ye[Ju]=ye[Xu]=ye[Zu]=ye[Wu]=!0,ye[xu]=ye[_a]=ye[ju]=!1;function ln(e,n,i,a,o,r){var s,l=n&Ou,d=n&vu,p=n&Mu;if(s!==void 0)return s;if(!Ye(e))return e;var g=ut(e);if(g){if(s=qp(e),!l)return Rp(e,s)}else{var u=ot(e),A=u==_a||u==Nu;if(ma(e))return Mp(e,l);if(u==$a||u==Wa||A&&!o){if(s=d||A?{}:bu(e),!l)return d?Pp(e,Op(s,e)):Np(e,wp(s,e))}else{if(!ye[u])return o?e:{};s=hu(e,u,l)}}r||(r=new Yt);var k=r.get(e);if(k)return k;r.set(e,s),Iu(e)?e.forEach(function(C){s.add(ln(C,n,i,C,e,r))}):Cu(e)&&e.forEach(function(C,O){s.set(O,ln(C,n,i,O,e,r))});var T=p?d?Up:Dp:d?Nn:On,f=g?void 0:T(e);return ra(f||e,function(C,O){f&&(O=C,C=e[O]),Ra(s,O,ln(C,n,i,O,e,r))}),s}var _u=1,$u=4;function rt(e){return ln(e,_u|$u)}const gi=(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,""),eo=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var eg="[object String]";function Ot(e){return typeof e=="string"||!ut(e)&&pt(e)&&dt(e)==eg}const to={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[ce(this.options,"validationErrorClass","error")]:n,[ce(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):Ot(e.styleClasses)&&(i[e.styleClasses]=!0),Me(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 he(e.disabled)?e.disabled.call(this,this.model,e,this):Me(e.disabled)?!1:e.disabled},fieldReadonly(e){return he(e.readonly)?e.readonly.call(this,this.model,e,this):Me(e.readonly)?!1:e.readonly},fieldFeatured(e){return he(e.featured)?e.featured.call(this,this.model,e,this):Me(e.featured)?!1:e.featured},fieldRequired(e){return he(e.required)?e.required.call(this,this.model,e,this):Me(e.required)?!1:e.required}}};var Ai=function(){return Qe.Date.now()},tg=/\s/;function ng(e){for(var n=e.length;n--&&tg.test(e.charAt(n)););return n}var ig=/^\s+/;function ag(e){return e&&e.slice(0,ng(e)+1).replace(ig,"")}var no=NaN,og=/^[-+]0x[0-9a-f]+$/i,rg=/^0b[01]+$/i,sg=/^0o[0-7]+$/i,lg=parseInt;function mi(e){if(typeof e=="number")return e;if(vn(e))return no;if(Ye(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ye(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=ag(e);var i=rg.test(e);return i||sg.test(e)?lg(e.slice(2),i?2:8):og.test(e)?no:+e}var cg="Expected a function",dg=Math.max,pg=Math.min;function cn(e,n,i){var a,o,r,s,l,d,p=0,g=!1,u=!1,A=!0;if(typeof e!="function")throw new TypeError(cg);n=mi(n)||0,Ye(i)&&(g=!!i.leading,u="maxWait"in i,r=u?dg(mi(i.maxWait)||0,n):r,A="trailing"in i?!!i.trailing:A);function k(b){var v=a,I=o;return a=o=void 0,p=b,s=e.apply(I,v),s}function T(b){return p=b,l=setTimeout(O,n),g?k(b):s}function f(b){var v=b-d,I=b-p,Y=n-v;return u?pg(Y,r-I):Y}function C(b){var v=b-d,I=b-p;return d===void 0||v>=n||v<0||u&&I>=r}function O(){var b=Ai();if(C(b))return V(b);l=setTimeout(O,f(b))}function V(b){return l=void 0,A&&a?k(b):(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:V(Ai())}function E(){var b=Ai(),v=C(b);if(a=arguments,o=this,d=b,v){if(l===void 0)return T(d);if(u)return clearTimeout(l),l=setTimeout(O,n),k(d)}return l===void 0&&(l=setTimeout(O,n)),s}return E.cancel=y,E.flush=m,E}var ug="__lodash_hash_undefined__";function gg(e){return this.__data__.set(e,ug),this}function Ag(e){return this.__data__.has(e)}function Vn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new at;++n<i;)this.add(e[n])}Vn.prototype.add=Vn.prototype.push=gg,Vn.prototype.has=Ag;function mg(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 fg(e){return e!==e}function hg(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function yg(e,n,i){return n===n?hg(e,n,i):mg(e,fg,i)}function bg(e,n){var i=e==null?0:e.length;return!!i&&yg(e,n,0)>-1}function Eg(e,n){return e.has(n)}function wg(){}function io(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var Cg=1/0,Bg=Ht&&1/io(new Ht([,-0]))[1]==Cg?function(e){return new Ht(e)}:wg,kg=200;function Ig(e,n,i){var a=-1,o=bg,r=e.length,s=!0,l=[],d=l;if(r>=kg){var p=Bg(e);if(p)return io(p);s=!1,o=Eg,d=new Vn}else d=l;e:for(;++a<r;){var g=e[a],u=g;if(g=g!==0?g:0,s&&u===u){for(var A=d.length;A--;)if(d[A]===u)continue e;l.push(g)}else o(d,u,i)||(d!==l&&d.push(u),l.push(g))}return l}function ao(e){return e&&e.length?Ig(e):[]}var Og=0;function oo(e){var n=++Og;return Oa(e)+n}var ro=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,mt="\\d\\d?",ft="\\d\\d",vg="\\d{3}",Mg="\\d{4}",dn="[^\\s]+",so=/\[([^]*?)\]/gm;function lo(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var co=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 vt(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 po=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],uo=["January","February","March","April","May","June","July","August","September","October","November","December"],Rg=lo(uo,3),Tg=lo(po,3),go={dayNamesShort:Tg,dayNames:po,monthNamesShort:Rg,monthNames:uo,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},Pn=vt({},go),Sg=function(e){return Pn=vt(Pn,e)},Ao=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},xg={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)}},mo=function(e){return+e-1},fo=[null,mt],ho=[null,dn],yo=["isPm",dn,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],bo=["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}],Ng={D:["day",mt],DD:["day",ft],Do:["day",mt+dn,function(e){return parseInt(e,10)}],M:["month",mt,mo],MM:["month",ft,mo],YY:["year",ft,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",mt,void 0,"isPm"],hh:["hour",ft,void 0,"isPm"],H:["hour",mt],HH:["hour",ft],m:["minute",mt],mm:["minute",ft],s:["second",mt],ss:["second",ft],YYYY:["year",Mg],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",ft,function(e){return+e*10}],SSS:["millisecond",vg],d:fo,dd:fo,ddd:ho,dddd:ho,MMM:["month",dn,co("monthNamesShort")],MMMM:["month",dn,co("monthNames")],a:yo,A:yo,ZZ:bo,Z:bo},Dn={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"},Vg=function(e){return vt(Dn,e)},Pg=function(e,n,i){if(n===void 0&&(n=Dn.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=Dn[n]||n;var a=[];n=n.replace(so,function(r,s){return a.push(s),"@@@"});var o=vt(vt({},Pn),i);return n=n.replace(ro,function(r){return xg[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function Dg(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Dn[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(so,function(m,E){return s.push(Ao(E)),"@@@"}),d={},p={};l=Ao(l).replace(ro,function(m){var E=Ng[m],b=E[0],v=E[1],I=E[3];if(d[b])throw new Error("Invalid format. "+b+" specified twice in format");return d[b]=!0,I&&(p[I]=!0),r.push(E),"("+v+")"}),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 g=e.match(new RegExp(l,"i"));if(!g)return null;for(var u=vt(vt({},Pn),i),A=1;A<g.length;A++){var k=r[A-1],T=k[0],f=k[2],C=f?f(g[A],u):+g[A];if(C==null)return null;o[T]=C}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var O;if(o.timezoneOffset==null){O=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var V=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],A=0,y=V.length;A<y;A++)if(d[V[A][0]]&&o[V[A][0]]!==O[V[A][1]]())return null}else if(O=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 O}var Ft={format:Pg,parse:Dg,defaultI18n:go,setGlobalDateI18n:Sg,setGlobalDateMasks:Vg};function Ug(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 Eo=Math.max;function Gg(e,n,i){return n=Eo(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=Eo(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),Ug(e,this,l)}}function Lg(e){return function(){return e}}var jg=Sn?function(e,n){return Sn(e,"toString",{configurable:!0,enumerable:!1,value:Lg(n),writable:!0})}:oi,Yg=800,Hg=16,Fg=Date.now;function Kg(e){var n=0,i=0;return function(){var a=Fg(),o=Hg-(a-i);if(i=a,o>0){if(++n>=Yg)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var zg=Kg(jg);function qg(e,n){return zg(Gg(e,n,oi),e+"")}function Qg(e,n,i){if(!Ye(i))return!1;var a=typeof n;return(a=="number"?In(i)&&fa(n,i.length):a=="string"&&n in i)?Mn(i[n],e):!1}var wo=Object.prototype,Jg=wo.hasOwnProperty,Xg=qg(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&Qg(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=Nn(r),l=-1,d=s.length;++l<d;){var p=s[l],g=e[p];(g===void 0||Mn(g,wo[p])&&!Jg.call(e,p))&&(e[p]=r[p])}return e}),Zg=Qe.isFinite;function Wg(e){return typeof e=="number"&&Zg(e)}var Co=1/0,_g=17976931348623157e292;function $g(e){if(!e)return e===0?e:0;if(e=mi(e),e===Co||e===-Co){var n=e<0?-1:1;return n*_g}return e===e?e:0}function eA(e){var n=$g(e),i=n%1;return n===n?i?n-i:n:0}function tA(e){return typeof e=="number"&&e==eA(e)}var nA="[object Number]";function fi(e){return typeof e=="number"||pt(e)&&dt(e)==nA}const iA={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."},aA={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&#39;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"}},oA={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"},rA={title:"Redis Configuration",shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",empty_state:"No shared configurations",badge:"Recommended",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},sA={labels:{on:"On",off:"Off"}},$e={general:iA,"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:aA,validators:oA,redis:rA,vfg:sA},{t:Re}=De.createI18n("en-us",$e),Se={fieldIsRequired:Re("validators.field_is_required"),invalidFormat:Re("validators.invalid_format"),numberTooSmall:Re("validators.number_too_small"),numberTooBig:Re("validators.number_too_large"),invalidNumber:Re("validators.invalid_number"),invalidInteger:Re("validators.invalid_integer"),textTooSmall:Re("validators.text_too_short"),textTooBig:Re("validators.text_too_long"),thisNotText:Re("validators.this_not_text"),thisNotArray:Re("validators.this_not_array"),selectMinItems:Re("validators.select_min_items"),selectMaxItems:Re("validators.select_max_items"),invalidDate:Re("validators.invalid_date"),dateIsEarly:Re("validators.date_is_early"),dateIsLate:Re("validators.date_is_late"),invalidEmail:Re("validators.invalid_email"),invalidURL:Re("validators.invalid_url"),invalidCard:Re("validators.invalid_card"),invalidCardNumber:Re("validators.invalid_card_number"),invalidTextContainNumber:Re("validators.invalid_text_contain_number"),invalidTextContainSpec:Re("validators.invalid_tex_contain_spec")},ke=(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},Xe=(e,n,i=Se)=>Me(e)||e===""?n?[ke(i.fieldIsRequired)]:[]:null,Mt={required:(e,n,i,a=Se)=>Xe(e,n.required,a)||[],number:(e,n,i,a=Se)=>{let o=Xe(e,n.required,a);return o!=null||(o=[],Wg(e)?(!Me(n.min)&&e<n.min,(a=Se)&&o.push(ke(a.numberTooSmall,n.min)),!Me(n.max)&&e>n.max,(a=Se)&&o.push(ke(a.numberTooBig,n.max))):o.push(ke(a.invalidNumber))),o},integer:(e,n,i,a=Se)=>{let o=Xe(e,n.required,a);return o!=null||(o=[],o.concat(Mt.number(e,n,i,a)),tA(e)||o.push(ke(a.invalidInteger))),o},double:(e,n,i,a=Se)=>Xe(e,n.required,a)??(!fi(e)||isNaN(e)?[ke(a.invalidNumber)]:[]),string:(e,n,i,a=Se)=>{let o=Xe(e,n.required,a);return o!=null||(o=[],Ot(e)?(!Me(n.min)&&e.length<n.min&&o.push(ke(a.textTooSmall,e.length,n.min)),!Me(n.max)&&e.length>n.max&&o.push(ke(a.textTooBig,e.length,n.max))):o.push(ke(a.thisNotText))),o},array:(e,n,i,a=Se)=>{if(n.required){if(!Array.isArray(e))return[ke(a.thisNotArray)];if(e.length===0)return[ke(a.fieldIsRequired)]}if(!Me(e)){if(!Me(n.min)&&e.length<n.min)return[ke(a.selectMinItems,n.min)];if(!Me(n.max)&&e.length>n.max)return[ke(a.selectMaxItems,n.max)]}return[]},date:(e,n,i,a=Se)=>{let o=Xe(e,n.required,a);if(o!=null)return o;o=[];const r=new Date(e);if(isNaN(r.getDate()))return[ke(a.invalidDate)];if(!Me(n.min)){const s=new Date(n.min);r.valueOf()<s.valueOf()&&o.push(ke(a.dateIsEarly,Ft.format(r),Ft.format(s)))}if(!Me(n.max)){const s=new Date(n.max);r.valueOf()>s.valueOf()&&o.push(ke(a.dateIsLate,Ft.format(r),Ft.format(s)))}return o},regexp:(e,n,i,a=Se)=>Xe(e,n.required,a)??(!Me(n.pattern)&&!new RegExp(n.pattern).test(e)?[ke(a.invalidFormat)]:[]),email:(e,n,i,a=Se)=>Xe(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)?[]:[ke(a.invalidEmail)]),url:(e,n,i,a=Se)=>Xe(e,n.required,a)??(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e)?[]:[ke(a.invalidURL)]),creditCard:(e,n,i,a=Se)=>{const o=Xe(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[ke(a.invalidCard)];let l=0,d,p,g;for(let u=s.length-1;u>=0;u--)d=s.substring(u,u+1),p=parseInt(d,10),g?(p*=2,p>=10?l+=p%10+1:l+=p):l+=p,g=!g;return l%10===0&&s?[]:[ke(a.invalidCardNumber)]},alpha:(e,n,i,a=Se)=>Xe(e,n.required,a)??(/^[a-zA-Z]*$/.test(e)?[]:[ke(a.invalidTextContainNumber)]),alphaNumeric:(e,n,i,a=Se)=>Xe(e,n.required,a)??(/^[a-zA-Z0-9]*$/.test(e)?[]:[ke(a.invalidTextContainSpec)])};Object.keys(Mt).forEach(e=>{const n=Mt[e];he(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,Xg(i,Se)))});function Bo(e){return Ot(e)?Mt[e]!=null?Mt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function hi(e,n,i){let a=ce(i.context,"schema.attributes",{});const o=n.value||"input";Ot(o)&&(a=ce(a,o)||a),Pe(a,(r,s)=>{e.setAttribute(s,r)})}const st={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:hi,updated:hi,componentUpdated:hi}},computed:{value:{cache:!1,get(){let e;return he(ce(this.schema,"get"))?e=this.schema.get(this.model):e=ce(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),he(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=ce(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(Bo(r).bind(this))}):o.push(Bo(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&&he(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(ao(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):Ot(l)&&r.push(l)}),he(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(){he(this.debouncedValidateFunc)||(this.debouncedValidateFunc=cn(this.validate.bind(this),ce(this.schema,"validateDebounceTime",ce(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;he(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),he(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),ce(this.formOptions,"validateAfterChanged",!1)===!0&&(ce(this.schema,"validateDebounceTime",ce(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=ce(this.formOptions,"fieldIdPrefix","");return gi(e,i)+(n?"-"+oo():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return ce(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},me=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},lA={mixins:[st],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)}}},cA={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},dA={class:"material-icons"};function pA(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",cA,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",dA,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 uA=me(lA,[["render",pA],["__scopeId","data-v-acfccff7"]]),gA={class:"array-card-container"},AA=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",gA,[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(Ue.TrashIcon))]),_:1})])}}}),ko=me(AA,[["__scopeId","data-v-96055692"]]),mA={class:"array-item-wrapper"},fA={class:"array-item"},hA={class:"array-item-after"},yA=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",mA,[t.createElementVNode("div",fA,[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(Ue.TrashIcon))]),_:1})]),t.createElementVNode("div",hA,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),Io=me(yA,[["__scopeId","data-v-eb9975cc"]]),bA={class:"multi-item-wrapper"},EA=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",bA,[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))])}}}),Oo=me(EA,[["__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}",CA=e=>e?e.length===36&&new RegExp(`^${wA}$`).test(e):!1,yi=50,Rt={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 BA(e,n,i){return i?Rt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Rt.UPDATE_ENTITY:e&&n?Rt.CREATE_FROM_ENTITY:Rt.CREATE_NOT_FROM_ENTITY}const kA={mixins:[st],inject:[gt],emits:["model-updated"],setup(){const{t:e}=De.createI18n("en-us",$e);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return BA(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 Rt.UPDATE_ENTITY:if(!this[gt]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[gt].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 Rt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Rt.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=cn(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;CA(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[gt])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<yi;){const a=await this[gt].getAll(this.entity,{size:yi,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,yi)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[gt]?(await this[gt].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}}},IA=["data-testid","data-testlabel"],OA=["data-testid"],vA={class:"autosuggest__results_message"};function MA(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,IA),(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,OA))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",vA,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const vo=me(kA,[["render",MA],["__scopeId","data-v-40a272a2"]]);function RA(e){const n=t.ref([]),i=t.ref(null),a=f=>Ot(f)?Mt[f]!=null?Mt[f]:(console.warn(`'${f}' is not a validator function!`),null):f,o=t.computed({get(){var f,C;let O;return he(ce(e.schema,"get"))?O=e.schema.get((f=e.model)==null?void 0:f.value):O=ce((C=e.model)==null?void 0:C.value,e.schema.model),k(O)},set(f){const C=o;f=T(f),he(f)?f(f,C):l(f,C)}}),r=f=>{var C;d();const O=(C=e.schema)==null?void 0:C.validator,V=ce(e.formOptions,"validateAsync",!1);let y=[];if(O&&e.schema.readonly!==!0&&e.disabled!==!0){const E=[];Array.isArray(O)?Pe(O,b=>{E.push(a(b))}):E.push(a(O)),Pe(E,b=>{var v,I;if(V)y.push(b(o.value,e.schema,(v=e.model)==null?void 0:v.value));else{const Y=b(o.value,e.schema,(I=e.model)==null?void 0:I.value);Y&&he(Y.then)?Y.then(S=>{S&&(n.value=n.value.concat(S));const x=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:x,errors:n.value,field:e.schema})}):Y&&(y=y.concat(Y))}})}const m=E=>{var b,v;let I=[];if(Pe(ao(E),Y=>{Array.isArray(Y)&&Y.length>0?I=I.concat(Y):Ot(Y)&&I.push(Y)}),he((b=e.schema)==null?void 0:b.onValidated)&&e.schema.onValidated((v=e.model)==null?void 0:v.value,I,e.schema),!f){const Y=I.length===0;e.emitValidated&&e.emitValidated({isValid:Y,errors:I,field:e.schema})}return E=I,I};return V?Promise.all(y).then(m):m(y)},s=()=>{he(i.value)?i.value():i.value=cn(r,ce(e.schema,"validateDebounceTime",ce(e.formOptions,"validateDebounceTime",500)))},l=(f,C)=>{var O,V,y;let m=!1;he(e.schema.set)?(e.schema.set((O=e.model)==null?void 0:O.value,f),m=!0):e.schema.model&&(p(e.schema.model,f),m=!0),m&&(e.emitModelUpdated&&(V=e.model)!=null&&V.value&&e.emitModelUpdated({value:f,model:e.schema.model}),he(e.schema.onChanged)&&e.schema.onChanged((y=e.model)==null?void 0:y.value,f,C,e.schema),ce(e.formOptions,"validateAfterChanged",!1)===!0&&(ce(e.schema,"validateDebounceTime",ce(e.formOptions,"validateDebounceTime",0))>0?s():r()))},d=()=>{n.value.splice(0)},p=(f,C)=>{var O;let V=f.replace(/\[(\w+)\]/g,".$1");V=V.replace(/^\./,"");let y=((O=e.model)==null?void 0:O.value)||{},m=0;const E=V.split("."),b=E.length;for(;m<b;){const v=E[m];if(m<b-1)y[v]!==void 0||(y[v]={}),y=y[v];else{y[v]=C;return}++m}},g=(f,C=!1)=>{const O=ce(e.formOptions,"fieldIdPrefix","");return gi(f,O)+(C?"-"+oo():"")},u=f=>`${g(f)}-label`,A=()=>ce(e.schema,"fieldClasses",[]),k=f=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(f):f,T=f=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(f):f;return{value:o,clearValidationErrors:d,getFieldID:g,getLabelId:u,getFieldClasses:A,updateModelValue:l}}function TA(e){const n=[],i=a=>{const o=["cluster-cache","cluster_cache"];for(const r of o)if(a.model.includes(r))return!1;return new RegExp("(?<=-redis-).*").test(a.model)};return e.fields.forEach(a=>{i(a)&&n.push(a)}),{redis:{id:"_redis",fields:n,model:"__redis_partial",redisType:e._supported_redis_partial_type,redisPath:e._redis_partial_path},redisModels:n.map(a=>a.model)}}function SA(e,n){const i=new RegExp("(?<=config-redis-).*"),a=/Config\.Redis.*/;return n.filter(o=>{const r=o.model.match(i);return r&&!Object.keys(e).includes(r[0])}).map(o=>{const r=o.label.match(a);return{label:r?r[0]:o.label,key:o.model,value:"N/A",type:"text"}})}const et={useAbstractFields:RA,useRedisPartial:TA,useRedisNonStandardFields:SA},xA={class:"form-field-wrapper"},NA=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(Je,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:g}=et.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:y=>{o("modelUpdated",y.value,y.model)}});n({clearValidationErrors:p});const u=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"}}),A={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},k=(y,m)=>{var E,b;let v=y;const I=A[u.value]||"",Y=Ft.parse(y,I);Y&&((E=a.schema)!=null&&E.format?v=Ft.format(Y,(b=a.schema)==null?void 0:b.format):v=Y.valueOf()),l(v,m)},T=(y,m)=>{fi(y)||(y=NaN),l(y,m)},f=y=>{let m=y;switch(u.value){case"number":case"range":fi(parseFloat(y))&&(m=parseFloat(y));break}g.value=m,l(m,y)},C=y=>{g.value=y,l(y,y)},O=t.ref(null),V=()=>{var y;he(O.value)&&((y=O.value)==null||y.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":O.value=cn((y,m)=>{T(y,m)},parseInt(ce(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":O.value=cn((y,m)=>{k(y,m)},parseInt(ce(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{u.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):u.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):u.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",xA,[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:u.value==="color"||u.value==="range"?t.unref(g):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(g),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":u.value==="password",type:u.value,width:e.schema.width,onBlur:V,"onUpdate:modelValue":f}),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:C,value:t.unref(g)},null,8,["schema","value"]))])}}}),Mo=me(NA,[["__scopeId","data-v-fe1132bb"]]),VA={name:"FieldMetric",components:{AddIcon:Ue.AddIcon,TrashIcon:Ue.TrashIcon},mixins:[st],emits:["remove-item"],data(){return{contentVisible:!1}}},PA={key:0,class:"content"};function DA(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",PA,[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 Ro=me(VA,[["render",DA]]),UA={mixins:[st],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)}}},GA={class:"field-object-container"},LA={key:1},jA=["id"],YA={key:0},HA=["onUpdate:modelValue"],FA={key:1},KA=["onUpdate:modelValue"],zA={key:2},qA=["onUpdate:modelValue"],QA=["onClick"];function JA(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",GA,[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",LA,[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",YA,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":g=>e.value[p]=g,type:"text"},null,8,HA),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="boolean"?(t.openBlock(),t.createElementBlock("td",FA,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":g=>e.value[p]=g,type:"checkbox"},null,8,KA),[[t.vModelCheckbox,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="number"?(t.openBlock(),t.createElementBlock("td",zA,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":g=>e.value[p]=g,type:"number"},null,8,qA),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:g=>r.removeElement(p)},null,8,QA)])]))),128))],10,jA),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 To=me(UA,[["render",JA],["__scopeId","data-v-b7e3dcd7"]]),XA={components:{TrashIcon:Ue.TrashIcon},mixins:[st],inject:{autofillSlot:{from:Je,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)}}},ZA=["id"],WA=["data-testid"],_A={class:"item-wrapper"},$A={class:"index-wrapper"},em={key:0},tm={key:1},nm=["onUpdate:modelValue","placeholder","type","onInput"],im={key:0,class:"hint"},am={class:"input-item"},om=["placeholder"],rm={key:0,class:"hint"};function sm(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,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,"data-testid":`field-object-key-${g}`},[t.createElementVNode("div",null,[t.createElementVNode("div",_A,[t.createElementVNode("div",$A,[t.createElementVNode("strong",null,t.toDisplayString(g),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:u=>r.removeElement(g)},{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",em,[t.createVNode(d,{model:r.transformedModel[g],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",tm,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[g]=u,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:r.valueInputType,onInput:u=>r.updateModel(e.value[g],e.model[e.schema.model])},null,40,nm),[[t.vModelDynamic,e.value[g]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",im,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:u=>e.value[g]=u,value:e.value[g]},null,8,["schema","update","value"]))])),n[2]||(n[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,WA))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",am,[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,om),[[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",rm,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,ZA)}const So=me(XA,[["render",sm],["__scopeId","data-v-9c0cacfc"]]),lm={class:"radio-selection-group"},cm=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}=et.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});n({clearValidationErrors:d});const p=g=>{let u=g;typeof g=="string"&&(u=g.split(","),a.schema.array||(u=u.toString())),s(u,g)};return(g,u)=>{const A=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",lm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(k,T)=>(t.openBlock(),t.createBlock(A,{id:e.schema.name+"-"+T,key:k.value,modelValue:t.unref(l),"onUpdate:modelValue":u[0]||(u[0]=f=>t.isRef(l)?l.value=f:null),label:k.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":k.value,onChange:p},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),xo=me(cm,[["__scopeId","data-v-09b8afda"]]),No=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=f=>Me(f)?null:f,l=t.toRefs(a),{getFieldID:d,clearValidationErrors:p,value:g}=et.useAbstractFields({model:l.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,emitModelUpdated:f=>{o("modelUpdated",f.value,f.model)}});n({clearValidationErrors:p});const u=t.computed(()=>{const f=a.schema.values;return A(typeof f=="function"?f.apply(this,[a.model,a.schema]):f)}),A=f=>{const C=[];return f.forEach(O=>{C.push({label:T(O),value:k(O),disabled:typeof O=="object"&&O.disabled||void 0,group:typeof O=="object"&&String(O.group||"").toUpperCase()||void 0})}),C},k=f=>{if(Ye(f)){if(r.value&&typeof r.value.value<"u")return f[r.value.value];if(typeof f.id<"u")return String(f.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 f},T=f=>{if(Ye(f)){if(r.value&&typeof r.value.name<"u")return f[r.value.name];if(typeof f.name<"u")return String(f.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(f)};return(f,C)=>{const O=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(O,{id:t.unref(d)(e.schema),modelValue:t.unref(g),"onUpdate:modelValue":C[0]||(C[0]=V=>t.isRef(g)?g.value=V:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:u.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"])}}}),dm={name:"FieldArray",components:{FieldArrayItem:Io,FieldArrayMultiItem:Oo,FieldSelect:No,FieldMetric:Ro,FieldObject:To,FieldObjectAdvanced:So,FieldAutoSuggest:vo,FieldRadio:xo,FieldArrayCardContainer:ko,FieldInput:Mo},mixins:[st],inject:{autofillSlot:{from:Je,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)}}},pm=["id"],um={key:1},gm=["onUpdate:modelValue","aria-labelledby","type"],Am=["onUpdate:modelValue","aria-labelledby"];function mm(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,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,index:g,model:p,schema:r.generateSchema(e.value,e.schema.items,g),onRemoveItem:u=>r.removeElement(g)},{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,g),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",um,[(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,g),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-${g}`,model:p,schema:r.generateSchema(e.value,e.schema.items,g),onRemoveItem:u=>r.removeElement(g)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>e.value[g]=u,value:e.value[g]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var u;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[g],"onUpdate:modelValue":A=>e.value[g]=A,"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[g],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:A=>{r.handleInput(A,g)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":A=>e.value[g]=A,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((u=e.schema.inputAttributes)==null?void 0:u.type)||"text"}),null,16,gm)),[[t.vModelDynamic,e.value[g]]])]}),_: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":u=>e.value[g]=u,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Am),[[t.vModelText,e.value[g]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>e.value[g]=u,value:e.value[g]},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,pm)):t.createCommentVNode("",!0)}const fm=me(dm,[["render",mm],["__scopeId","data-v-a569ac75"]]),hm={class:"form-field-wrapper field-checkbox"},ym=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}=et.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:p=>{o("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:d}),(p,g)=>{const u=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",hm,[t.createVNode(u,t.mergeProps(p.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(l),"onUpdate:modelValue":g[0]||(g[0]=A=>t.isRef(l)?l.value=A: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"])])}}}),bm=me(ym,[["__scopeId","data-v-6b4ee1cd"]]);var Em=4;function Vo(e){return ln(e,Em)}const wm={class:"wrapper"},Cm=["disabled"],Bm=["id","checked","disabled","onChange","name"],km=["disabled"],Im={class:"info"},Om={class:"dropList"},vm=["id","checked","disabled","onChange","name"];function Mm(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",wm,[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,Bm),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,Cm)):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",Im,t.toDisplayString(r.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",Om,[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,vm),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,km))])),[[s,"wrapper"]])}const Rm={mixins:[st],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?eo(this.schema.inputName+"_"+this.getItemValue(e)):eo(this.getItemValue(e))},getItemValue(e){if(Ye(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(Ye(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((Me(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=Vo(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=Vo(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},Tm=me(Rm,[["render",Mm]]),Sm={name:"FieldKeyValuePairs",components:{TrashIcon:Ue.TrashIcon},mixins:[st],inject:{autofillSlot:{from:Je,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)}}},xm={class:"key-value-pairs-editor"},Nm={class:"pair-item-cell"},Vm=["data-testid","placeholder","value","onInput"],Pm={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",xm,[(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",Nm,[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:g=>{r.onInput(g,p,"key")}},null,40,Vm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:g=>r.onInput({target:{value:g}},p,"key"),value:d.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",Pm,[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:g=>{r.onInput(g,p,"value")}},null,40,Dm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:g=>r.onInput({target:{value:g}},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 Gm=me(Sm,[["render",Um],["__scopeId","data-v-70998d5b"]]),Lm=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}=et.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)}}}),jm=me(Lm,[["__scopeId","data-v-d046a15a"]]),Ym=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}=et.useAbstractFields({model:r,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:u=>{o("modelUpdated",u.value,u.model)}});n({clearValidationErrors:d});const g=t.computed(()=>{var u,A;return a.schema.values?a.schema.values:(A=(u=a.schema.elements)==null?void 0:u.one_of)!=null&&A.length?a.schema.elements.one_of.map(k=>({label:String(k),value:String(k)})):[]});return(u,A)=>{const k=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(k,{id:t.unref(l)(e.schema),modelValue:t.unref(p),"onUpdate:modelValue":A[0]||(A[0]=T=>t.isRef(p)?p.value=T:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:g.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"])}}}),Hm={mixins:[st],emits:["model-updated"],setup(){const{t:e}=De.createI18n("en-us",$e);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)}}},Fm={class:"selection-group"},Km={class:"form-group horizontal-radios"},zm={class:"radio-group"},qm=["disabled","value"],Qm={class:"control-help"},Jm={class:"option-field"},Xm={class:"option-field-container"};function Zm(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",Fm,[(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",Km,[t.createElementVNode("div",zm,[(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,qm),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",Qm,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",Jm,[t.createElementVNode("div",Xm,[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 Wm=me(Hm,[["render",Zm],["__scopeId","data-v-56d57edb"]]),_m={class:"form-field-wrapper"},$m=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}=De.createI18n("en-us",$e),s=A=>A!=null&&a.schema.valueOn?A===a.schema.valueOn:A,l=A=>A!=null&&a.schema.valueOn?A?a.schema.valueOn:a.schema.valueOff:A,d=t.toRefs(a),{getFieldID:p,value:g,clearValidationErrors:u}=et.useAbstractFields({model:d.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,formatValueToModel:l,emitModelUpdated:A=>{o("modelUpdated",A.value,A.model)}});return n({clearValidationErrors:u}),(A,k)=>{const T=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",_m,[t.createVNode(T,{id:t.unref(p)(e.schema),modelValue:t.unref(g),"onUpdate:modelValue":k[0]||(k[0]=f=>t.isRef(g)?g.value=f:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(g)?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"])])}}}),ef={class:"field-textarea"},tf=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(Je,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:g}=et.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:A=>{o("modelUpdated",A.value,A.model)}});n({clearValidationErrors:p});const u=A=>{g.value=A,l(A,A)};return(A,k)=>{const T=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",ef,[t.createVNode(T,t.mergeProps(A.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(g),"onUpdate:modelValue":k[0]||(k[0]=f=>t.isRef(g)?g.value=f: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:u,value:t.unref(g)},null,8,["schema","value"]))])}}}),nf=me(tf,[["__scopeId","data-v-0e146fba"]]),af=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:uA,FieldArray:fm,FieldArrayCardContainer:ko,FieldArrayItem:Io,FieldArrayMultiItem:Oo,FieldAutoSuggest:vo,FieldCheckbox:bm,FieldChecklist:Tm,FieldInput:Mo,FieldKeyValuePairs:Gm,FieldLabel:jm,FieldMetric:Ro,FieldMultiselect:Ym,FieldObject:To,FieldObjectAdvanced:So,FieldRadio:xo,FieldSelect:No,FieldSelectionGroup:Wm,FieldSwitch:$m,FieldTextArea:nf},Symbol.toStringTag,{value:"Module"})),of={name:"FormGroup",components:af,mixins:[to],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(Me(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=ce(this.options,"fieldIdPrefix","");return gi(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return ce(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 he(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\./,""):""}}},rf=["innerHTML"],sf={class:"icon-wrapper"},lf=["innerHTML"],cf={key:0,class:"link-wrapper"},df={class:"field-wrap"},pf={key:0,class:"buttons"},uf=["type","onClick","textContent"],gf=["innerHTML"],Af={key:2,class:"errors help-block"},mf=["innerHTML"];function ff(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",sf,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,lf)]),i.field.link?(t.openBlock(),t.createElementBlock("div",cf,[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,rf)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",df,[(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",pf,[(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:g=>r.buttonClickHandler(d,i.field,g),textContent:t.toDisplayString(d.label)},null,10,uf))),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,gf)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Af,[(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,mf))),128))])):t.createCommentVNode("",!0)],2)}const Po=me(of,[["render",ff],["__scopeId","data-v-0cb2e226"]]),hf="12px";var Un=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Un||{});const yf=e=>{var n,i;return e.type===Un.REDIS_CE?"Host/Port":(n=e.config.sentinel_nodes)!=null&&n.length?"Sentinel":(i=e.config.cluster_nodes)!=null&&i.length?"Cluster":"Host/Port"},bf={[Un.REDIS_CE]:"open source",[Un.REDIS_EE]:"enterprise"},Do=e=>bf[e]??"",Ef={class:"partial-config-card"},wf={class:"config-card-row-label"},Cf={class:"label-text"},Bf=["data-testid"],kf=["data-testid"],If={key:1},Of=["data-testid"],vf=["data-testid"],Mf=t.defineComponent({__name:"RedisConfigCard",props:{configFields:{type:Object,required:!0},pluginRedisFields:{type:Array,required:!0}},setup(e){const{t:n,formatUnixTimeStamp:i}=De.createI18n("en-us",$e),a={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:i,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:i,order:3}},o=e,r=u=>u!=null,s=(u,A)=>r(A)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:l}=L.useStringHelpers(),d=t.computed(()=>Object.entries(o.configFields).map(([u,A])=>{var k,T,f,C;return{key:u,label:((k=a[u])==null?void 0:k.label)??l(u),value:(T=a[u])!=null&&T.formatter?a[u].formatter(A):A,type:((f=a[u])==null?void 0:f.type)??s(u,A),order:((C=a[u])==null?void 0:C.order)??100}}).sort((u,A)=>u.order-A.order).filter(u=>u.type!=="hidden")),p=et.useRedisNonStandardFields(o.configFields,o.pluginRedisFields),g=t.computed(()=>d.value.concat(p));return(u,A)=>{const k=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Ef,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,({key:T,label:f,value:C,type:O})=>(t.openBlock(),t.createElementBlock("div",{key:T,class:"partial-config-card-row"},[t.createElementVNode("div",wf,[t.createElementVNode("div",Cf,t.toDisplayString(f),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${T}-property-value`},[r(C)?(t.openBlock(),t.createElementBlock("div",If,[O==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${T}-copy-password`},[t.createVNode(k,{format:"redacted",text:String(C)},null,8,["text"])],8,Of)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${T}-plain-text`},t.toDisplayString(C),9,vf))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${T}-no-value`}," – ",8,kf))],8,Bf)]))),128))])}}}),Rf=me(Mf,[["__scopeId","data-v-c1eb723f"]]),Tf={class:"redis-config-select","data-testid":"redis-config-select"},Sf={class:"selected-redis-config"},xf=["data-testid"],Nf={class:"select-item-name","data-testid":"selected-redis-config"},Vf={class:"empty-redis-config","data-testid":"empty-redis-config"},Pf={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Df=t.defineComponent({__name:"RedisConfigSelect",props:{defaultRedisConfigItem:{type:String,required:!1,default:""},updateRedisModel:{type:Function,required:!0},pluginRedisFields:{type:Array,required:!0},redisType:{type:String,default:"all"},isCustomPlugin:{type:Boolean,default:!1}},emits:["showNewPartialModal"],setup(e){const{t:n}=De.createI18n("en-us",$e),i=t.inject(up),a={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},o=e,r=t.ref(null),{getMessageFromError:s}=L.useErrors(),l=t.inject(va),{debouncedQueryChange:d,loading:p,error:g,loadItems:u,results:A}=L.useDebouncedFilter(l,a[l.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["id","name"]}),k=t.computed(()=>g.value?s(g.value):""),T=V=>{let y=`${l.apiBaseUrl}${a[l.app].getOne}`;return l.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,(l==null?void 0:l.controlPlaneId)||""):l.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,l!=null&&l.workspace?`/${l.workspace}`:"")),y=y.replace(/{id}/gi,String(V)),y},f=t.computed(()=>{var V;const y=((V=A.value)==null?void 0:V.map(m=>({label:m.id,name:m.name,value:m.id,type:m.type,tag:yf(m)})))||[];return o.redisType!=="all"?y.filter(m=>m.type===o.redisType):y}),{axiosInstance:C}=L.useAxios(l==null?void 0:l.axiosRequestConfig),O=async V=>{if(V){o.updateRedisModel(V);try{const y=await C.get(T(V));if(y.data.config){const m=Object.assign(y.data,y.data.config);delete m.config,r.value=m}}catch(y){console.error(y)}}};return t.watch(()=>i==null?void 0:i.value,async V=>{V&&await u()}),t.onBeforeMount(async()=>{await u(),o.defaultRedisConfigItem&&O(o.defaultRedisConfigItem)}),(V,y)=>{const m=t.resolveComponent("KLabel"),E=t.resolveComponent("KBadge"),b=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Tf,[t.createVNode(m,{info:e.isCustomPlugin?t.unref(n)("redis.custom_plugin.tooltip"):t.unref(n)("redis.shared_configuration.tooltip",{type:t.unref(Do)(e.redisType)}),"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(n)("redis.shared_configuration.title")),1)]),_:1},8,["info"]),y[2]||(y[2]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(b,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:f.value,loading:t.unref(p),"model-value":e.defaultRedisConfigItem,placeholder:t.unref(n)("redis.shared_configuration.selector.placeholder"),onChange:y[1]||(y[1]=v=>O(v==null?void 0:v.value)),onQueryChange:t.unref(d)},{"selected-item-template":t.withCtx(({item:v})=>[t.createElementVNode("div",Sf,t.toDisplayString(v.name),1)]),"item-template":t.withCtx(({item:v})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${v.name}`},[t.createElementVNode("span",Nf,t.toDisplayString(v.name),1),t.createVNode(E,{appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(v.tag),1)]),_:2},1024)],8,xf)]),empty:t.withCtx(()=>[t.createElementVNode("div",Vf,t.toDisplayString(t.unref(n)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:y[0]||(y[0]=v=>V.$emit("showNewPartialModal"))},[t.createVNode(t.unref(Ue.AddIcon),{size:t.unref(hf)},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(t.unref(n)("redis.shared_configuration.create_new_configuration",{type:t.unref(Do)(e.redisType)})),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),r.value?(t.openBlock(),t.createBlock(Rf,{key:0,"config-fields":r.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),k.value?(t.openBlock(),t.createElementBlock("p",Pf,t.toDisplayString(k.value||t.unref(n)("redis.shared_configuration.error")),1)):t.createCommentVNode("",!0)],64)}}}),Uo=me(Df,[["__scopeId","data-v-0c08667c"]]),Uf={key:0},Gf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Lf={key:0,class:"shared-redis-config"},jf={key:1,class:"dedicated-redis-config"},Yf={class:"dedicated-redis-config-title"},Hf=t.defineComponent({__name:"FormRedis",props:{tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}},model:{type:Object,default:()=>{}},options:{type:Object,required:!0},field:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default(){return[]}},redisPath:{type:String,default:void 0,required:!1},isEditing:{type:Boolean,default:!1}},emits:["modelUpdated","partialToggled","showNewPartialModal","refreshModel","validated"],setup(e,{emit:n}){const i=e,a=n,{t:o}=De.createI18n("en-us",$e),r=t.computed(()=>i.field.pluginType==="custom"),s=t.ref(!i.isEditing),l=t.ref(),d=t.ref({}),p=t.ref(),g=f=>he(f.visible)?f.visible.call(this,i.model,f,this):Me(f.visible)?!0:f.visible,u=async f=>{a("modelUpdated",[{id:f,path:i.redisPath}],"partials"),p.value=[{id:f,path:i.redisPath}],l.value=f},A=(f,C)=>{d.value={...d.value,[C]:f},a("modelUpdated",f,C)},k=()=>{a("refreshModel")},T=(f,C,O)=>{a("validated",f,C,O)};return t.watch(()=>s.value,f=>{f?p.value&&a("partialToggled","redis",{partials:p.value}):a("partialToggled","partials",d.value)}),t.onBeforeMount(()=>{var f,C,O;if(i.model&&(d.value=i.field.fields.reduce((V,y)=>(Object.keys(i.model).includes(y.model)&&(V[y.model]=i.model[y.model]),V),{})),(O=(C=(f=i==null?void 0:i.model)==null?void 0:f.partials)==null?void 0:C[0])!=null&&O.id){const V=i.model.partials[0].id;s.value=!0,l.value=V}}),(f,C)=>{const O=t.resolveComponent("KAlert"),V=t.resolveComponent("KBadge"),y=t.resolveComponent("KRadio"),m=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[r.value?(t.openBlock(),t.createElementBlock("div",Uf,[t.createVNode(O,{"data-testid":"custom-plugin-redis-config-note",message:t.unref(o)("redis.custom_plugin.alert")},null,8,["message"]),t.createVNode(Uo,{"default-redis-config-item":l.value,"is-custom-plugin":"","plugin-redis-fields":e.field.fields,"update-redis-model":u,onShowNewPartialModal:C[0]||(C[0]=E=>f.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(m,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:t.unref(o)("redis.title")},{default:t.withCtx(()=>[t.createElementVNode("div",Gf,[t.createVNode(y,{modelValue:s.value,"onUpdate:modelValue":C[1]||(C[1]=E=>s.value=E),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:t.unref(o)("redis.shared_configuration.description"),label:t.unref(o)("redis.shared_configuration.label"),"selected-value":!0},{default:t.withCtx(()=>[t.createVNode(V,{appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("redis.shared_configuration.badge")),1)]),_:1})]),_:1},8,["modelValue","description","label"]),t.createVNode(y,{modelValue:s.value,"onUpdate:modelValue":C[2]||(C[2]=E=>s.value=E),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:t.unref(o)("redis.dedicated_configuration.description"),label:t.unref(o)("redis.dedicated_configuration.label"),"selected-value":!1},null,8,["modelValue","description","label"])]),s.value?(t.openBlock(),t.createElementBlock("div",Lf,[t.createVNode(Uo,{"default-redis-config-item":l.value,"plugin-redis-fields":e.field.fields,"redis-type":e.field.redisType,"update-redis-model":u,onShowNewPartialModal:C[3]||(C[3]=E=>f.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",jf,[t.createElementVNode("div",Yf,t.toDisplayString(t.unref(o)("redis.dedicated_configuration.title")),1),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.field.fields,E=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:E.model},[g(E)?(t.openBlock(),t.createBlock(Po,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:E,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:A,onRefreshModel:k,onValidated:T},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),Ff=me(Hf,[["__scopeId","data-v-bc11be65"]]),Kf={name:"FormGenerator",components:{formGroup:Po,formRedis:Ff},mixins:[to],inject:{autofillSlot:{from:Je,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[Je]:(e=this.$slots)==null?void 0:e[At]}}},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}},enableRedisPartial:{type:Boolean,default:!1},isEditing:{type:Boolean,default:!1}},emits:["validated","modelUpdated","refreshModel","partialToggled","showNewPartialModal"],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 he(e.visible)?e.visible.call(this,this.model,e,this):Me(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)},onPartialToggled(e,n){this.$emit("partialToggled",e,n)},validate(e=null){e===null&&(e=ce(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Pe(this.$refs.children,o=>{he(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()})}}},zf={key:0,class:"vue-form-generator"},qf={key:0};function Qf(e,n,i,a,o,r){const s=t.resolveComponent("form-redis"),l=t.resolveComponent("form-group"),d=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",zf,[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,p=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:p.model},[p.model==="__redis_partial"&&i.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:o.errors,field:p,"is-editing":i.isEditing,model:i.model,options:i.options,tag:i.tag,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onPartialToggled:r.onPartialToggled,onShowNewPartialModal:g=>e.$emit("showNewPartialModal",p.redisType),onValidated:r.onFieldValidated},null,8,["errors","field","is-editing","model","options","tag","vfg","onModelUpdated","onPartialToggled","onShowNewPartialModal","onValidated"])):r.fieldVisible(p)?(t.openBlock(),t.createBlock(l,{key:1,ref_for:!0,ref:"children",errors:o.errors,field:p,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,(p,g)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${g}`},[p.collapsible!==void 0&&p.collapsible!==!1?(t.openBlock(),t.createBlock(d,{key:0,class:"root-level-collapse","model-value":!1,title:p.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,A,k,T;return[(u=p.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(A=p.slots)==null?void 0:A.beforeContent,{key:0}):t.createCommentVNode("",!0),p.fields.length===0&&(k=p.slots)!=null&&k.emptyState?t.renderSlot(e.$slots,(T=p.slots)==null?void 0:T.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(p))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.fields,f=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:f.model},[r.fieldVisible(f)?(t.openBlock(),t.createBlock(l,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:f,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"])),p.collapsible!==!0&&p.collapsible.nestedCollapsible&&p.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(d,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${g}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${g}-nested`]??!0?p.collapsible.nestedCollapsible.triggerLabel.expand:p.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":f=>o.collapseStates[`group-${g}-nested`]=f},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(p))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.collapsible.nestedCollapsible.fields,f=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:f.model},[f.model==="__redis_partial"&&i.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:o.errors,field:f,"is-editing":i.isEditing,model:i.model,options:i.options,tag:i.tag,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onPartialToggled:r.onPartialToggled,onShowNewPartialModal:C=>e.$emit("showNewPartialModal",f.redisType),onValidated:r.onFieldValidated},null,8,["errors","field","is-editing","model","options","tag","vfg","onModelUpdated","onPartialToggled","onShowNewPartialModal","onValidated"])):r.fieldVisible(f)?(t.openBlock(),t.createBlock(l,{key:1,ref_for:!0,ref:"children",errors:o.errors,field:f,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},[p.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(p.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(p))},{default:t.withCtx(()=>[p.legend?(t.openBlock(),t.createElementBlock("legend",qf,t.toDisplayString(p.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[r.fieldVisible(u)?(t.openBlock(),t.createBlock(l,{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 Te=me(Kf,[["render",Qf]]),Go=new Set(["config-client_id","config-client_secret","config-issuer"]),Lo=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"]),Jf={name:"OIDCForm",components:{VueFormGenerator:Te},provide(){var e;return{[Je]:(e=this.$slots)==null?void 0:e[At]}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},onPartialToggled:{type:Function,required:!0},isEditing:{type:Boolean,required:!0},enableRedisPartial:{type:Boolean,required:!1},showNewPartialModal:{type:Function,default:()=>{}}},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(o=>!o.model.startsWith("config")&&o.model!=="tags")};const n=this.formSchema.fields.reduce((o,r)=>(o[r.model]=r,o),{});this.commonFieldsSchema={fields:Array.from(Go).reduce((o,r)=>(n[r]&&o.push(n[r]),o),[])},this.authFieldsSchema={fields:Array.from(Lo).reduce((o,r)=>(n[r]&&o.push(n[r]),o),[])};const{redis:i,redisModels:a}=et.useRedisPartial(this.formSchema);this.advancedFieldsSchema={fields:this.formSchema.fields.filter(o=>o.model.startsWith("config")&&o.model!=="config-auth_methods"&&!Go.has(o.model)&&!Lo.has(o.model)&&(!this.enableRedisPartial||!a.includes(o.model))||o.model==="tags").reduce((o,r)=>{var s,l,d,p;switch(r.model){case"config-client_jwk":{if(Array.isArray((l=(s=r.items)==null?void 0:s.schema)==null?void 0:l.fields))for(const g of r.items.schema.fields)g.label=g.model;o.push({...r,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record",newElementButtonLabel:"+ Add Client JWK",...Array.isArray((p=(d=r.items)==null?void 0:d.schema)==null?void 0:p.fields)&&r.items.schema.fields.map(g=>({...g,label:g.model}))});break}case"config-session_redis_cluster_nodes":{o.push({...r,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record",newElementButtonLabel:"+ Add Cluster Node"});break}default:o.push(r)}return o},[])},this.enableRedisPartial&&this.advancedFieldsSchema.fields.unshift(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 o of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const r of o.fields){const s=(e=n[r.model])==null?void 0:e.help;r.help===void 0&&typeof s=="string"&&(r.help=s)}}},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()}}},Xf={class:"general-settings"},Zf={class:"link-wrapper"},Wf={class:"auth-method-container"},_f={class:"general-settings"},$f={class:"link-wrapper"},eh={class:"general-settings"},th={class:"link-wrapper"};function nh(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel"),p=t.resolveComponent("KCheckbox"),g=t.resolveComponent("KInputSwitch"),u=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(u,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Xf,[t.createElementVNode("div",Zf,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>n[2]||(n[2]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])),_:1})]),n[4]||(n[4]=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[3]||(n[3]=[t.createTextVNode("Auth Methods")])),_:1}),t.createElementVNode("div",Wf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,A=>(t.openBlock(),t.createElementBlock("div",{key:A.value,class:"auth-method"},[t.createVNode(p,{modelValue:A.prop,"onUpdate:modelValue":k=>A.prop=k,onChange:k=>r.handleUpdate(k,A.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(A.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(g,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=A=>o.sessionManagement=A),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",_f,[t.createElementVNode("div",$f,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>n[5]||(n[5]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])),_:1})]),n[6]||(n[6]=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(A=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(A)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",eh,[t.createElementVNode("div",th,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>n[7]||(n[7]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])),_:1})]),n[8]||(n[8]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,"enable-redis-partial":i.enableRedisPartial,"is-editing":i.isEditing,model:i.formModel,options:i.formOptions,schema:o.advancedFieldsSchema,onModelUpdated:i.onModelUpdated,onPartialToggled:i.onPartialToggled,onShowNewPartialModal:n[1]||(n[1]=()=>i.showNewPartialModal(i.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","model","options","schema","onModelUpdated","onPartialToggled"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const ih=me(Jf,[["render",nh],["__scopeId","data-v-846700f6"]]),ah=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(Je,(n=t.useSlots())==null?void 0:n[At]);const{t:i,te:a}=De.createI18n("en-us",$e),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(Te,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),oh=me(ah,[["__scopeId","data-v-f54f37ae"]]),rh=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(Je,(n=t.useSlots())==null?void 0:n[At]);const{t:i,te:a}=De.createI18n("en-us",$e),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(Te,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),sh=me(rh,[["__scopeId","data-v-0d5c541f"]]),lh={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}]},ch={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}]},dh={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}]},ph={class:"general-settings"},uh={class:"sub-form"},gh={class:"general-settings"},Ah={class:"sub-form"},mh={class:"general-settings"},fh=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(Je,(n=t.useSlots())==null?void 0:n[At]);const i=e,a=t.ref("zeroSsl"),o=t.ref("shm"),r=t.computed(()=>{var b;const v={};if((b=i.formSchema)!=null&&b.fields)for(const I of i.formSchema.fields)v[I.model]=I;return v}),s=t.computed(()=>{var b;const v=rt(lh);for(const I of v.fields){const Y=(b=r.value[I.model])==null?void 0:b.help;I.help===void 0&&typeof Y=="string"&&(I.help=Y)}return v}),l=t.computed(()=>{var b;const v=rt(ch);for(const I of v.fields){const Y=(b=r.value[I.model])==null?void 0:b.help;I.help===void 0&&typeof Y=="string"&&(I.help=Y)}return v}),d=t.computed(()=>{var b;const v=rt(dh);for(const I of v.fields){const Y=(b=r.value[I.model])==null?void 0:b.help;I.help===void 0&&typeof Y=="string"&&(I.help=Y)}return v}),p=t.computed(()=>({fields:i.formSchema.fields.filter(b=>!b.model.startsWith("config")&&b.model!=="tags")})),g=t.computed(()=>({fields:s.value.fields.filter(b=>!l.value.fields.some(v=>v.model===b.model)&&!d.value.fields.some(v=>v.model===b.model))})),u=t.computed(()=>({fields:i.formSchema.fields.filter(b=>b.model.startsWith("config-storage")&&!b.model.startsWith("config-storage_config-consul")&&!b.model.startsWith("config-storage_config-redis")&&!b.model.startsWith("config-storage_config-shm")&&!b.model.startsWith("config-storage_config-vault"))})),A=t.computed(()=>({fields:i.formSchema.fields.filter(b=>b.model.startsWith("config-storage_config-consul"))})),k=t.computed(()=>({fields:i.formSchema.fields.filter(b=>b.model.startsWith("config-storage_config-redis"))})),T=t.computed(()=>({fields:i.formSchema.fields.filter(b=>b.model.startsWith("config-storage_config-shm"))})),f=t.computed(()=>({fields:i.formSchema.fields.filter(b=>b.model.startsWith("config-storage_config-vault"))})),C=t.computed(()=>({fields:i.formSchema.fields.filter(b=>b.model.startsWith("config")&&!g.value.fields.filter(v=>v.model===b.model).length&&!u.value.fields.filter(v=>v.model===b.model).length||b.model==="tags")})),O=t.computed(()=>i.formModel.id&&i.isEditing||!i.isEditing),V=[{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=b=>{a.value=b.value,(b.value==="zeroSsl"||b.value==="other")&&(b.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),b.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=(b,v)=>{v==="config-storage"&&(o.value=b),i.onModelUpdated()};return(b,v)=>{const I=t.resolveComponent("KSelect"),Y=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Te,{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(Y,{tabs:V},{general:t.withCtx(()=>[t.createElementVNode("div",ph,[v[0]||(v[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),v[1]||(v[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),O.value?(t.openBlock(),t.createBlock(Te,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),v[2]||(v[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(I,{class:"issuer-select",items:y,label:"Issuer",onChange:m}),t.createElementVNode("div",uh,[a.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Te,{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(Te,{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",gh,[v[3]||(v[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),v[4]||(v[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),O.value?(t.openBlock(),t.createBlock(Te,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:E},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",Ah,[o.value==="consul"?(t.openBlock(),t.createBlock(Te,{key:0,model:e.formModel,options:e.formOptions,schema:A.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Te,{key:1,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Te,{key:2,model:e.formModel,options:e.formOptions,schema:T.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Te,{key:3,model:e.formModel,options:e.formOptions,schema:f.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",mh,[v[5]||(v[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),v[6]||(v[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),O.value?(t.openBlock(),t.createBlock(Te,{key:0,model:e.formModel,options:e.formOptions,schema:C.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),hh=me(fh,[["__scopeId","data-v-07cecf5b"]]),yh={class:"rla-form-basic-fields"},bh={class:"rla-form-request-limits-subtitle"},Eh={class:"rla-form-request-limits-content"},wh={class:"rla-form-window-type"},Ch=["innerHTML"],Bh={class:"rla-form-window-type-radios"},kh={class:"rla-form-request-limits-items"},Ih={class:"rla-form-request-limits-row"},Oh=["id"],vh={class:"rla-form-request-limits-actions"},Mh={key:0,class:"rla-form-request-limits-examples"},Rh={class:"rla-form-request-limits-examples-badges"},Th=["innerHTML"],Sh={id:"rla-form-error-legend",class:"rla-form-error-inputs"},xh=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},onPartialToggled:{type:Function},showNewPartialModal:{type:Function},isEditing:{type:Boolean},enableRedisPartial:{type:Boolean}},setup(e){var n;t.provide(Je,(n=t.useSlots())==null?void 0:n[At]);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(S=>`config-${S}`)]),o=S=>S===void 0?!1:a.has(S),{t:r}=De.createI18n("en-us",$e),s=e,l=t.computed(()=>{var S,x,J;const X=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(F=>F.type==="selectionGroup"&&F.model==="selectionGroup");return{fields:[(J=s.formSchema)==null?void 0:J.fields.find(F=>F.model==="enabled"),X].filter(Boolean)}}),d=t.computed(()=>{var S,x;const J=((x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.filter(G=>!o(G.model)))??[],X=[],F=[],ae=[];let z=!1;for(const G of J){const $=G.model;if($!==void 0){if($.startsWith("config-redis-")){(G.model==="config-redis-cluster_addresses"||G.model==="config-redis-sentinel_addresses")&&(G.inputAttributes.help=r("rla.redis.address_example")),F.push(G);continue}z?ae.push(G):X.push(G),G.model==="config-strategy"&&(z=!0)}}return{endsWithStrategy:{fields:X},redis:s.enableRedisPartial?{fields:[{fields:F,id:"_redis",model:"__redis_partial",redisType:s.formSchema._supported_redis_partial_type}]}:{fields:F},afterStrategy:{fields:ae}}}),p=t.computed(()=>{const S=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,S)?i[S]:[]}),g=t.computed(()=>{var S,x;return(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(J=>J.model==="config-identifier")}),u=t.computed(()=>{var S,x,J;return(((J=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(X=>X.model==="config-identifier"))==null?void 0:J.values)??[]).map(X=>({label:r(`rla.identifiers.options.${X}`),value:X}))}),A=t.ref(),k=t.ref(!0),T=t.computed(()=>{var S,x,J;return s.formModel["config-window_type"]??((J=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(X=>X.model==="config-window_type"))==null?void 0:J.default)}),f=t.computed(()=>{var S,x,J,X,F,ae;const z=(J=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(G=>G.model==="config-window_type"))==null?void 0:J.default;return(((ae=(F=(X=s.formSchema)==null?void 0:X.fields)==null?void 0:F.find(G=>G.model==="config-window_type"))==null?void 0:ae.values)??[]).sort((G,$)=>G===z?-1:$===z?1:0)}),C=t.computed(()=>{var S;const x=(S=s.formModel["config-limit"])==null?void 0:S.map((J,X)=>{var F,ae;return{limit:J,windowSize:(ae=(F=s.formModel)==null?void 0:F["config-window_size"])==null?void 0:ae[X]}});return!Array.isArray(x)||x.length===0?[{limit:void 0,windowSize:void 0}]:x}),O=t.computed(()=>{var S,x,J,X;return((S=s.formModel)==null?void 0:S["config-identifier"])??((X=(J=(x=s.formSchema)==null?void 0:x.fields)==null?void 0:J.find(F=>F.model==="config-identifier"))==null?void 0:X.default)}),V=t.computed(()=>{var S,x,J,X;return((S=s.formModel)==null?void 0:S["config-error_code"])??((X=(J=(x=s.formSchema)==null?void 0:x.fields)==null?void 0:J.find(F=>F.model==="config-error_code"))==null?void 0:X.default)}),y=t.computed(()=>{var S,x,J,X;return((S=s.formModel)==null?void 0:S["config-error_message"])??((X=(J=(x=s.formSchema)==null?void 0:x.fields)==null?void 0:J.find(F=>F.model==="config-error_message"))==null?void 0:X.default)}),m=(S,x)=>{if(x===A.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{A.value=void 0});return}s.onModelUpdated([S.config.limit],"config-limit"),s.onModelUpdated([S.config.window_size],"config-window_size"),t.nextTick(()=>{A.value=x})},E=S=>{A.value!==void 0&&(A.value=void 0),S!==null&&s.onModelUpdated(S.toString(),"config-window_type")},b=(S,x)=>{var J;A.value!==void 0&&(A.value=void 0);const X=rt(((J=s.formModel)==null?void 0:J["config-limit"])??[]);X[S]=x,s.onModelUpdated(X,"config-limit")},v=(S,x)=>{var J;A.value!==void 0&&(A.value=void 0);const X=rt(((J=s.formModel)==null?void 0:J["config-window_size"])??[]);X[S]=x,s.onModelUpdated(X,"config-window_size")},I=S=>{var x,J;A.value!==void 0&&(A.value=void 0);const X=rt(((x=s.formModel)==null?void 0:x["config-limit"])??[]),F=rt(((J=s.formModel)==null?void 0:J["config-window_size"])??[]);X.length===0&&X.push(void 0),F.length===0&&F.push(void 0),X.splice(S+1,0,void 0),F.splice(S+1,0,void 0),s.onModelUpdated(X,"config-limit"),s.onModelUpdated(F,"config-window_size")},Y=S=>{var x,J;if(C.value.length>1){A.value!==void 0&&(A.value=void 0);const X=rt(((x=s.formModel)==null?void 0:x["config-limit"])??[]),F=rt(((J=s.formModel)==null?void 0:J["config-window_size"])??[]);X.length===0&&X.push(void 0),F.length===0&&F.push(void 0),X.splice(S,1),F.splice(S,1),s.onModelUpdated(X,"config-limit"),s.onModelUpdated(F,"config-window_size")}};return t.watch(()=>s.formModel["config-strategy"],S=>{S!=="redis"&&s.formModel.partials&&s.onModelUpdated(void 0,"partials")}),(S,x)=>{const J=t.resolveComponent("KLabel"),X=t.resolveComponent("KRadio"),F=t.resolveComponent("KInput"),ae=t.resolveComponent("KButton"),z=t.resolveComponent("KBadge"),G=t.resolveComponent("KTooltip"),$=t.resolveComponent("KCard"),j=t.resolveComponent("KSelect"),w=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",yh,[t.createVNode(Te,{model:S.formModel,options:S.formOptions,schema:l.value,onModelUpdated:x[0]||(x[0]=(B,D)=>S.onModelUpdated(B,D))},null,8,["model","options","schema"]),t.createVNode($,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(J,{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",bh,t.toDisplayString(t.unref(r)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Eh,[t.createElementVNode("div",wh,[t.createVNode(J,{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,Ch)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",Bh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,B=>(t.openBlock(),t.createBlock(X,{key:`window-type-${B}`,"model-value":T.value,name:B,"selected-value":B,"onUpdate:modelValue":E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`rla.window_type.options.${B}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",kh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(C.value,(B,D)=>(t.openBlock(),t.createElementBlock("div",{key:D.toString()},[t.createVNode(J,{for:`rla-form-request-limits-item-${D}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.label_index",{index:D+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Ih,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${D}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(F,{"model-value":B.limit&&B.limit.toString(),placeholder:t.unref(r)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":W=>b(D,Number.parseInt(W))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.interval_determiner")),1),t.createVNode(F,{"model-value":B.windowSize&&B.windowSize.toString(),placeholder:t.unref(r)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":W=>v(D,Number.parseInt(W))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.seconds")),1)],8,Oh),t.createElementVNode("div",vh,[t.createVNode(ae,{appearance:"tertiary",disabled:C.value.length<=1,onClick:()=>Y(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(ae,{appearance:"tertiary",onClick:()=>I(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",Mh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Rh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(B,D)=>(t.openBlock(),t.createBlock(G,{key:`use-case-${D}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(B.description),1),x[10]||(x[10]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.label"))+": "+t.toDisplayString(B.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.time_interval"))+": "+t.toDisplayString(B.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(z,{appearance:A.value===`${T.value}-${D}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>m(B,`${T.value}-${D}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(B.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(j,{modelValue:O.value,"onUpdate:modelValue":x[1]||(x[1]=B=>O.value=B),class:"rla-form-identifiers",items:u.value,label:t.unref(r)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:x[2]||(x[2]=B=>s.onModelUpdated(B.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:g.value&&g.value.help},null,8,Th)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(J,{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",Sh,[t.createVNode(F,{class:"input-error-code","model-value":V.value&&V.value.toString(),placeholder:t.unref(r)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":x[3]||(x[3]=B=>S.onModelUpdated(Number.parseInt(B),"config-error_code"))},null,8,["model-value","placeholder"]),x[11]||(x[11]=t.createElementVNode("div",null,":",-1)),t.createVNode(F,{"model-value":y.value,placeholder:t.unref(r)("rla.error_message.message_placeholder"),"onUpdate:modelValue":x[4]||(x[4]=B=>S.onModelUpdated(B,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(w,{modelValue:k.value,"onUpdate:modelValue":x[9]||(x[9]=B=>k.value=B),"trigger-label":t.unref(r)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(Te,{model:S.formModel,options:S.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:x[5]||(x[5]=(B,D)=>S.onModelUpdated(B,D))},null,8,["model","options","schema"]),S.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(S.enableRedisPartial?"div":"KCard"),{key:0,class:"rla-form-redis-card",title:t.unref(r)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(Te,{"enable-redis-partial":S.enableRedisPartial,"is-editing":S.isEditing,model:S.formModel,options:S.formOptions,schema:d.value.redis,onModelUpdated:x[6]||(x[6]=(B,D)=>S.onModelUpdated(B,D)),onPartialToggled:S.onPartialToggled,onShowNewPartialModal:x[7]||(x[7]=()=>S.showNewPartialModal(S.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","model","options","schema","onPartialToggled"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(Te,{class:t.normalizeClass({"rla-last-vfg":S.formModel["config-strategy"]!=="redis"}),model:S.formModel,options:S.formOptions,schema:d.value.afterStrategy,onModelUpdated:x[8]||(x[8]=(B,D)=>S.onModelUpdated(B,D))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),Nh=me(xh,[["__scopeId","data-v-f6dcb65c"]]),Vh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:hh,ExitTransformer:sh,OIDCForm:ih,PostFunction:oh,RLAForm:Nh},Symbol.toStringTag,{value:"Module"})),bi=["array","metric","advanced","selectionGroup","object-advanced"],jo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Kt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ph={"config-prompts-prepend":{...Kt,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":{...Kt,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"}]}}}},Dh={"config-templates":{...Kt,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"}]}}}},Uh={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)}},Gh={"config-llm_providers":{...Kt,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"}]}}}},Lh={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:Gt.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"}},Ee={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"},Gn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},jh={"config-metrics":{...Gn,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"}]}}}},Yh={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Hh={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Fh={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Kh={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},zh={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Yo=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Gt.fields.arrayItems({newElementButtonLabel:"Add"})}),zh),Ln={"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"}},qh={"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":{}},Qh=["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]:Gt.fields.arrayItems({newElementButtonLabel:"Add"})}),qh),Ho={"config-add-json":{...Ee,label:"Config.Add.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Ee,label:"Config.Append.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Ee,label:"Config.Remove.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Ee,label:"Config.Rename.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Ee,label:"Config.Replace.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},Jh={...Ho,"config-allow-json":{...Ee,label:"Config.Allow.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Ee,label:"Config.Transform.Functions",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Ee,label:"Config.Transform.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},Xh={"config-rules":{...Kt,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"}]}}}},Zh={"config-session_redis_cluster_nodes":{...Kt,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"}]}}}},Wh={"config-metrics":{...Gn,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"]}]}}}},_h={"config-metrics":{...Gn,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"]}]}}}},$h={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ey={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},ty={"config-message_by_lua_functions":{...Ee,inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},ny={"config-message_by_lua_functions":{...Ee,inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},iy={"config-static_tags":{...Gn,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"}]}}}},ay=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},Fo=(e,n)=>(e.order??0)-(n.order??0),Ko=(e,n)=>ay(e,n)||Fo(e,n)||e.model.localeCompare(n.model),Oe={useI18n:Bn,usePluginMetaData:ic,usePluginHelpers:Zi,useSchemas:e=>{const{capitalize:n}=L.useStringHelpers(),{convertToDotNotation:i}=Zi(),{i18n:{t:a}}=Bn(),o={"application-registration":{overwriteDefault:!0,formSchema:{...Lh}},datadog:{...jh},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...Wh},"statsd-advanced":{..._h},"route-by-header":{...Xh},"ai-prompt-decorator":{...Ph},"ai-prompt-template":{...Dh},"ai-proxy-advanced":{...Uh},"ai-rate-limiting-advanced":{...Gh},"vault-auth":{...ey},"oas-validation":{...Kh},mocking:{...Fh},"rate-limiting":{...Ln},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Ln["config-consumer_groups"]}:{...Ln},"graphql-rate-limiting-advanced":{...Yh},"injection-protection":{...Hh},"response-ratelimiting":{...Ln},"pre-function":{...Yo},"post-function":{...Yo},"request-transformer-advanced":{...Qh},"response-transformer":{...Ho},"response-transformer-advanced":{...Jh},zipkin:{...iy},"upstream-oauth":{...$h},saml:{...Zh},"kafka-upstream":{...ty},confluent:{...ny}},r=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(m,E,b)=>{let v={};(E||m)&&(v=E||(m.fields?m.fields:m));const I=r().concat(m.blacklist?m.blacklist:[]),Y=Object.keys(v).filter(G=>!I.includes(G)),S=Y.indexOf("comparator");S>-1&&Y.splice(S,1);let x={fields:[]};const J={};Y.forEach(G=>{d(v[G],G,v,J,x,b)});const X=J.name,F=_e[X],ae=[],z=G=>{const $=["cluster-cache"];for(const j of $)if(G.model.includes(j))return!1;return new RegExp("(?<=-redis-).*").test(G.model)};if(x._supported_redis_partial_type=m._supported_redis_partial_type,x._redis_partial_path=m._redis_partial_path,jo(X)||F!=null&&F.useLegacyForm||e!=null&&e.credential){if(F!=null&&F.useLegacyForm){for(const G of x.fields)if(e!=null&&e.enableRedisPartial&&m._supported_redis_partial_type&&z(G)){ae.push(G);continue}x.fields=x.fields.filter(G=>!z(G)),ae.length&&x.fields.push({id:"_redis",fields:ae,model:"__redis_partial",pluginType:m._isCustomPlugin?"custom":"bundled",redisType:m._supported_redis_partial_type,redisPath:m._redis_partial_path})}x.fields.sort((G,$)=>(G.order=G.order||0,$.order=$.order||0,G.order-$.order))}else{const G=[],$=[],j=[],w=[],B={};if(F!=null&&F.fieldRules){const Q=[...F.fieldRules.atLeastOneOf??[],...F.fieldRules.onlyOneOf??[],...F.fieldRules.mutuallyRequired??[]];if(F.fieldRules.onlyOneOfMutuallyRequired)for(const re of F.fieldRules.onlyOneOfMutuallyRequired)Q.push(...re);for(const re of Q)for(const ne of re)B[ne.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const Q of x.fields){if(e!=null&&e.enableRedisPartial&&m._supported_redis_partial_type&&z(Q)){w.push(Q);continue}if(Q.pinned){G.push(Q);continue}if(Q.required||B[Q.model]!==void 0){B[Q.model]===!1&&(B[Q.model]=!0),$.push(Q);continue}j.push(Q)}w.length&&j.push({id:"_redis",fields:w,model:"__redis_partial",pluginType:m._isCustomPlugin?"custom":"bundled",redisType:m._supported_redis_partial_type,redisPath:m._redis_partial_path,order:-1});const D=Object.entries(B).filter(([,Q])=>!Q).map(([Q])=>Q.replace(/-/g,".").replace(/_/g,"-"));D.length>0&&console.warn(`Unknown checked fields for plugin ${X}: ${D.join(", ")}`);const W=[];G.length>0&&W.push({fields:G.sort(Fo)}),($.length>0||j.length>0)&&W.push({fields:$.sort(Ko),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:j.sort(Ko),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"}}),x={groups:W}}return{schema:x,model:J,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,b,v,I,Y)=>{const S=l(m);return v[E]=S?m.default:null,m.id=E,m.model=E,m.fields&&m.type==="record"?g(m,E,b,v,I,Y):(b[E]=m,y(m,v),Y&&Y[E]&&p(b[E],Y[E]),I.fields.push(m)),b},p=(m,E)=>(E&&(Object.assign(m,E),E.label&&(m.label=E.label)),m),g=(m,E,b,v,I,Y)=>{m.fields.forEach(S=>{Object.keys(S).forEach(x=>{const J=S[x];b=d(J,E+"-"+x,b,v,I,Y)})})},u=(m,E)=>{m.type="input",m.inputType="hidden",m.styleClasses="kong-form-hidden-field-wrapper";const b=e==null?void 0:e.entityId;E[m.model]=b?{id:b}:null},A=m=>{m.type="input",m.inputType="number",m.between&&m.between.length===2&&(m.min=m.between[0],m.max=m.between[1])},k=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")},T=m=>{m.type="checkbox",m.default=!0,m.required=!1},f=m=>{if(m.type="object-advanced",m.values.type==="array"){const{type:E}=m.values.elements||{};m.schema={fields:[{schema:{fields:[{...Ee,model:m.model,valueArrayType:E==="integer"?"number":E||"string",inputAttributes:{...Ee.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 b=Object.keys(E)[0];return{model:b,type:"input",label:n(b),placeholder:b,inputType:E[b].type}})}}]})},C=m=>m.fields.reduce((E,b)=>(b.fields&&b.fields.forEach(v=>{E[v.model]=v}),b.model&&(E[b.model]=b),E),{}),O=(m,E)=>{if(!bi.includes(m.model))return;const b=C(m);bi.forEach(v=>{Object.keys(b).forEach(I=>{const Y=l(b[I]);E[I]=Y?b[I].default:null}),delete E[v]})},V=(m,E)=>m.inputType==="hidden"?"":i(n(m.label||E.replace(/_/g," "))),y=(m,E)=>{switch(O(m,E),m.type){case"foreign":u(m,E);break;case"number":A(m),m.attributes={step:"any"};break;case"integer":A(m);break;case"string":k(m);break;case"boolean":T(m);break;case"map":f(m);break}m.inputType==="foreign"&&u(m,E),m.label=V(m,m.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:o,typedefs:Gt}}},xe="/v2/control-planes/{controlPlaneId}/core-entities",Ne="/{workspace}",ve={list:{konnect:{all:`${xe}/plugins`,forEntity:`${xe}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ne}/plugins`,forEntity:`${Ne}/{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:`${Ne}/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:`${Ne}/plugins`,forEntity:`${Ne}/{entityType}/{entityId}/plugins`},edit:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ne}/schemas/plugins/{plugin}`,credential:{create:`${Ne}/{resourceEndpoint}`,edit:`${Ne}/{resourceEndpoint}/{id}`},credentialSchema:`${Ne}/schemas/{plugin}`,validate:`${Ne}/schemas/plugins/validate`,entityGetOne:`${Ne}/{entity}/{id}`,entityGetAll:`${Ne}/{entity}`}},item:{konnect:{all:`${xe}/plugins/{id}`,forEntity:`${xe}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`}}},oy={create:"New vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},ry={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},sy={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},ly={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"}}},cy={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"}},dy={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},py={vault_type:"Vault Type"},uy={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."},gy={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"}},Ay={actions:oy,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:ry,search:sy,vaults:ly,secrets:cy,copy:dy,labels:py,form:uy,vault_secret_picker:gy};function my(){const e=De.createI18n("en-us",Ay);return{i18n:e,i18nT:De.i18nTComponent(e)}}const zo={useI18n:my},Ei="/v2/control-planes/{controlPlaneId}/core-entities",qo="/v2/control-planes/{controlPlaneId}/config-stores",wi="/{workspace}",Qo={list:{konnect:{getAll:`${Ei}/vaults`,deleteConfigStore:`${qo}/{id}?force=true`},kongManager:{getAll:`${wi}/vaults`}},form:{konnect:{create:`${Ei}/vaults`,createConfigStore:qo,edit:`${Ei}/vaults/{id}`},kongManager:{create:`${wi}/vaults`,edit:`${wi}/vaults/{id}`}}},Jo=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},jn="/v2/control-planes/{controlPlaneId}",Xo={getVault:{konnect:`${jn}/core-entities/vaults/{id}`},list:{konnect:`${jn}/config-stores/{id}/secrets`},form:{konnect:{create:`${jn}/config-stores/{id}/secrets`,edit:`${jn}/config-stores/{id}/secrets/{secretId}`}}},fy={class:"vault-secret-picker-provider"},hy=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}=zo.useI18n();return(s,l)=>(t.openBlock(),t.createElementBlock("div",fy,[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})]))}}),Zo=Jo(hy,[["__scopeId","data-v-66a1e406"]]),yy=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("/")}},by=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}}`},Ey={key:1,class:"inputs-wrapper"},wy={"data-testid":"no-search-results"},Cy={class:"k-select-selected-item-label"},By={class:"vault-secret-picker-vault-dropdown-item"},ky={class:"select-item-label"},Iy={class:"select-item-description"},Oy={class:"select-item-description"},vy={"data-testid":"no-search-results"},My=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}}=zo.useI18n(),o=e,r=n,{axiosInstance:s}=L.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(""),g=t.ref(""),u=t.ref(),A=t.computed(()=>{var z,G;return o.config.app==="konnect"?Xo.list[o.config.app].replace(/{id}/gi,((G=(z=u.value)==null?void 0:z.config)==null?void 0:G.config_store_id)??""):"<not_applicable>"}),k=t.computed(()=>{if(C&&E)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(C)return a("vault_secret_picker.fetch_error.vaults");if(E)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:T,loading:f,error:C,loadItems:O,results:V}=L.useDebouncedFilter(o.config,Qo.list[o.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:y,loading:m,error:E,loadItems:b,results:v}=L.useDebouncedFilter(o.config,A,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),I=t.computed(()=>{var z;let G=!1;const $=((z=V.value)==null?void 0:z.map(j=>(j.prefix===d.value&&(G=!0),{label:j.prefix,value:j.prefix,vault:j})))??[];return!G&&u.value&&$.push({label:u.value.prefix,value:u.value.prefix,vault:u.value}),$}),Y=t.computed(()=>{var z;let G=!1;const $=((z=v.value)==null?void 0:z.map(j=>(j.key===p.value&&(G=!0),{label:j.key,value:j.key})))??[];return!G&&p.value&&$.push({label:p.value,value:p.value}),$}),S=t.computed(()=>{var z;return((z=u==null?void 0:u.value)==null?void 0:z.name)==="konnect"}),x=t.computed(()=>!!u.value&&!!p.value),J=z=>z.label?`${z.label} - (${z.vault.name} - ${z.vault.id})`:z.value,X=z=>{var G,$;let j=`${o.config.apiBaseUrl}${Qo.form[o.config.app].edit}`;return o.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,((G=o.config)==null?void 0:G.controlPlaneId)||""):o.config.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,($=o.config)!=null&&$.workspace?`/${o.config.workspace}`:"")),j.replace(/{id}/gi,z)},F=(z,G)=>{var $;return o.config.app!=="konnect"?"<not_applicable>":`${o.config.apiBaseUrl}${Xo.form[o.config.app].edit}`.replace(/{controlPlaneId}/gi,(($=o.config)==null?void 0:$.controlPlaneId)||"").replace(/{id}/gi,G).replace(/{secretId}/gi,z)},ae=()=>{r("proceed",by({vaultPrefix:d.value,secretId:p.value||void 0,optionalSecretKey:g.value||void 0}))};return t.watch(()=>o.setup,async z=>{if(z!==!1){if(l.value=!0,d.value="",u.value=void 0,p.value="",g.value="",typeof z=="string"&&z.trim().length>0)try{let G,$="",j="",w="";const B=yy(z),{data:D}=await s.get(X(B.vaultPrefix));if(D!=null&&D.name)if(G=D,$=B.vaultPrefix,G.name==="konnect"){if(B.secretId){const{data:W}=await s.get(F(B.secretId,D.config.config_store_id));W.key===B.secretId&&(j=B.secretId,w=B.optionalSecretKey??"")}}else j=B.secretId??"",w=B.optionalSecretKey??"";await t.nextTick(()=>{d.value=$,u.value=G,p.value=j,g.value=w})}catch(G){console.debug(G)}l.value=!1,await O()}},{immediate:!0}),t.watch(d,async(z,G)=>{var $;l.value||z===G||(u.value=($=I.value.find(j=>j.value===z))==null?void 0:$.vault,p.value="",g.value="")}),t.watch(A,async()=>{S.value&&await b()},{immediate:!0}),(z,G)=>{const $=t.resolveComponent("KEmptyState"),j=t.resolveComponent("KSelect"),w=t.resolveComponent("KInput"),B=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(B,{"action-button-disabled":!x.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:G[4]||(G[4]=()=>r("cancel")),onProceed:ae},{default:t.withCtx(()=>[t.unref(C)||t.unref(E)?(t.openBlock(),t.createBlock($,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:k.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Ey,[t.createVNode(j,{modelValue:d.value,"onUpdate:modelValue":G[0]||(G[0]=D=>d.value=D),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:l.value,"enable-filtering":"","filter-function":()=>!0,items:I.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(f),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(T)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",wy,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:D})=>[t.createElementVNode("span",Cy,t.toDisplayString(J(D)),1)]),"item-template":t.withCtx(({item:D})=>[t.createElementVNode("div",By,[t.createElementVNode("span",ky,t.toDisplayString(D.label),1),t.createElementVNode("span",Iy,t.toDisplayString(D.vault.name),1),t.createElementVNode("span",Oy,t.toDisplayString(D.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),S.value?(t.openBlock(),t.createBlock(j,{key:0,modelValue:p.value,"onUpdate:modelValue":G[1]||(G[1]=D=>p.value=D),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:l.value||!u.value,"enable-filtering":"","filter-function":()=>!0,items:Y.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",vy,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(w,{key:1,modelValue:p.value,"onUpdate:modelValue":G[2]||(G[2]=D=>p.value=D),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:l.value||!u.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(w,{modelValue:g.value,"onUpdate:modelValue":G[3]||(G[3]=D=>g.value=D),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:l.value||!u.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"])}}}),Ry=Jo(My,[["__scopeId","data-v-df8552cc"]]),Ty={key:0},Sy=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=Oe.usePluginHelpers(),{i18n:{t:a}}=Oe.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,(g,u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},t.toDisplayString(g),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Ty,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(g,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[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(g,(A,k)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${k}`},t.toDisplayString(o(A)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),tt=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},xy=tt(Sy,[["__scopeId","data-v-d8eb79cf"]]),Ny={class:"kong-ui-entities-plugin-form"},Vy={key:1,class:"entity-form"},Py={class:"plugin-config-empty-state"},Dy=t.defineComponent({components:{...Vh}}),Uy=t.defineComponent({...Dy,__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},enableRedisPartial:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal"],setup(e,{emit:n}){var G,$;const i=n,a=e,{axiosInstance:o}=L.useAxios((G=a.config)==null?void 0:G.axiosRequestConfig),{parseSchema:r}=Oe.useSchemas({entityId:(($=a.entityMap.focusedEntity)==null?void 0:$.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial}),{convertToDotNotation:s,unFlattenObject:l,dismissField:d,isObjectEmpty:p,unsetNullForeignKey:g}=Oe.usePluginHelpers(),{objectsAreEqual:u}=L.useHelpers(),{i18n:{t:A}}=Bn(),k=(j,w)=>{let B=`${a.config.apiBaseUrl}${ve.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),B=B.replace(/{entity}/gi,j),B=B.replace(/{id}/gi,w),B},T=j=>{let w=`${a.config.apiBaseUrl}${ve.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(w=w.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),w=w.replace(/{entity}/gi,j),w},f=(j,w)=>{const B=k(j,w);return o.get(B)},C=(j,w)=>{const B=T(j);return a.config.app==="konnect"?o.get(B).then(D=>{const{data:{data:W}}=D;if(delete w.size,delete w.offset,W.length&&Object.keys(w).length===1){const Q=Object.keys(w)[0],re=W.filter(ne=>ne[Q]?!!ne[Q].toLowerCase().includes(w[Q].toLowerCase()):!1);D.data.data=re}return D}):o.get(B,{params:w})};t.provide(gt,{getOne:f,getAll:C}),t.provide(va,a.config);const O=t.ref(""),V=t.ref(null),y=t.ref({}),m=t.reactive({}),E=t.reactive({}),b=t.computed(()=>{var j;return(j=V.value)==null?void 0:j.options}),v=t.ref(!1),I=t.ref(),Y=(j,w)=>{v.value=j??"",I.value=w},S=j=>{var w;(w=I.value)==null||w.call(I,j),v.value=!1},x=()=>{var Q,re;const j={...a.schema},w=E,B=m,D=Object.keys(w),W={};if(!p(y.value))for(let ne=0;ne<((re=(Q=y.value)==null?void 0:Q.fields)==null?void 0:re.length);ne++)j[y.value.fields[ne].model]=y.value.fields[ne];return bi.forEach(ne=>{j[ne]&&(j[ne].fields.forEach(te=>{te.fields&&te.fields.forEach(q=>{j[q.model]=q}),te.model&&(j[te.model]=te)}),delete j[ne])}),D.forEach(ne=>{var Dt;if(!j[ne]){ne==="partials"&&(W[ne]=w[ne]);return}const te=j[ne];let q=w[ne];const Ze=B[ne],He=Array.isArray(q)?"array":typeof q,We=te?te.valueType:null,Vt=te?te.valueArrayType:null,Pt=te?te.transform:null;if(q==null&&Ze==null&&!te.submitWhenNull)return;if(te){if(We&&He!==We)switch(We){case"array":He==="string"&&q.length&&(q=q.split(",").map(le=>{if(le=le.trim(),Vt==="string")return String(le);if(Vt==="number")return Number(le);if(Vt==="boolean"){if(typeof le=="string")return le.toLowerCase()==="true"||le==="1";if(typeof le=="number")return le===1}return le})),(!q||!q.length)&&(q=te.submitWhenNull?null:[]);break;case"number":q=Number(q);break;case"boolean":He==="string"&&(q=q.toLowerCase()==="true"||q==="1"),He==="number"&&(q=q===1);break;case"string":q=q==null?"":String(q);break}else We==="array"&&(!q||!q.length?q=te.submitWhenNull?null:[]:((Dt=te.inputAttributes)==null?void 0:Dt.type)==="number"&&(q=q.map(le=>Number(le))));if(te.type==="array"&&te.nestedFields){const le=U=>{Object.keys(U).forEach(Z=>{U[Z]&&typeof U[Z]=="object"&&!Array.isArray(U[Z])&&U[Z]!==null?le(U[Z]):(U[Z]===void 0||U[Z]===null||typeof U[Z]=="number"&&isNaN(U[Z])||typeof U[Z]=="string"&&U[Z].trim().length===0)&&delete U[Z]})};q&&typeof q=="object"&&le(q)}te.type==="object-advanced"&&te.fields&&q!==null&&(Object.entries(q).length===0?q=null:Object.keys(q).forEach(le=>{Array.isArray(q[le])||(q[le]=q[le].split(","))}))}let Ie=s(ne);if(te.fieldNameHasDashes){const[le,...U]=Ie.split(".").reverse();Ie=[le.replace(/_/g,"-"),...U].reverse().join(".")}if(We==="object-expand"){let le;[Ie,le]=Ie.split(".");let U={};W[Ie]&&(U=W[Ie]),U[le]=q,q=U}Ze!==void 0&&q===""&&q!==Ze?W[Ie]=We==="object"?{}:null:te.type==="checklist"&&q===""?W[Ie]=[]:q!==""&&(W[Ie]=q),W[Ie]=Pt?Pt(q):W[Ie],g(Ie,W)}),l(W)},J=(j,w={})=>{d(E,w,j,a.editing),i("model-updated",{model:E,originalModel:m,data:x()})},X=(j,w)=>{var W;const B={[w]:j};typeof((W=a.schema[w])==null?void 0:W.modelTransformer)=="function"&&(B[w]=a.schema[w].modelTransformer(j));const D=Object.assign({},E,B);Object.assign(E,D),i("model-updated",{model:E,originalModel:m,data:x()})},F=(j,w)=>{Object.keys(j).forEach(B=>{var ne,te;let D=w?`${w}-${B}`:B,W=a.schema[D];if(!W){const q=w?`${w}-${B.replace(/-/g,"_")}`:B.replace(/-/g,"_");(ne=a.schema[q])!=null&&ne.fieldNameHasDashes&&(D=q,W=a.schema[D]),w&&((te=a.schema[w])==null?void 0:te.keyFromObject)===B&&(D=w,W=a.schema[D])}const Q=j[B],re=typeof Q;if(W&&W.type==="object-advanced"&&!Q){E[D]={},m[D]={};return}if(Array.isArray(Q)){E[D]=JSON.parse(JSON.stringify(Q)),m[D]=JSON.parse(JSON.stringify(Q));return}if(re==="object"&&Q&&!Q.length)return F(Q,D);if(re==="object"&&Q&&Q.length&&W.type==="input"){E[D]=Q.join(", "),m[D]=Q.join(", ");return}E[D]=Q,m[D]=Q}),i("model-updated",{model:E,originalModel:m,data:x()})},ae=t.ref(!0),z=()=>{var j;if(a.record&&a.schema&&(F({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)&&F({consumer_id:a.record.consumer_id||a.record.consumer}),F(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)&&F({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}),a.record.partials&&J("redis",{partials:a.record.partials}),F(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const w={};for(const B in a.entityMap){const D=a.entityMap[B].id,W=a.entityMap[B].idField,Q=W==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(W).replace("_","-"));Object.prototype.hasOwnProperty.call(E,Q)&&(w[Q]=D)}F(w)}if((j=a.entityMap.consumer)!=null&&j.id&&a.schema&&a.credential){const w={};Object.prototype.hasOwnProperty.call(E,"consumer")&&(w.consumer=a.entityMap.consumer.id),F(w)}ae.value=!1};return t.watch(ae,j=>{i("loading",j)}),t.watch(()=>a.schema,(j,w)=>{var D,W;if(u(j||{},w||{}))return;const B=r(j);Object.assign(E,B.model),y.value={fields:(W=(D=y.value)==null?void 0:D.fields)==null?void 0:W.map(Q=>({...Q,disabled:Q.disabled||!1}))},Object.assign(m,JSON.parse(JSON.stringify(B.model))),O.value=jo(B.model.name),z()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var j,w;V.value=r(a.schema),Object.assign(E,((j=V.value)==null?void 0:j.model)||{}),y.value=((w=V.value)==null?void 0:w.schema)||{},z()}),(j,w)=>{var W;const B=t.resolveComponent("KSkeleton"),D=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Ny,[ae.value?(t.openBlock(),t.createBlock(B,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Vy,[O.value&&(E.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(O.value),{key:0,"enable-redis-partial":e.enableRedisPartial,"form-model":E,"form-options":b.value,"form-schema":y.value,"is-editing":e.editing,"on-model-updated":X,"on-partial-toggled":J,"show-new-partial-modal":Q=>j.$emit("showNewPartialModal",Q)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(At),fn:t.withCtx(Q=>[Q.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Zo),t.mergeProps({key:0},Q,{onOpen:w[0]||(w[0]=(re,ne)=>Y(re,ne))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):t.createCommentVNode("",!0),!O.value&&(E.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(D,{key:1,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:E,options:b.value,schema:y.value,onModelUpdated:X,onPartialToggled:J,onRefreshModel:x,onShowNewPartialModal:w[2]||(w[2]=Q=>j.$emit("showNewPartialModal",Q))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Py,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(W=t.unref(_e)[E.name])!=null&&W.fieldRules&&(a.config.isNewOtelSchema||E.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(xy,{rules:t.unref(_e)[E.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(At),fn:t.withCtx(Q=>[Q.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Zo),t.mergeProps({key:0},Q,{onOpen:w[1]||(w[1]=(re,ne)=>Y(re,ne))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(t.unref(Ry),{config:a.config,setup:v.value,onCancel:w[3]||(w[3]=()=>v.value=!1),onProceed:S},null,8,["config","setup"])],64)}}}),Gy=tt(Uy,[["__scopeId","data-v-3b6b3a68"]]),Ly={key:1},jy=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",Ly,[t.renderSlot(n.$slots,"default")]))}});var Yn=Array.isArray,Wo=typeof global=="object"&&global&&global.Object===Object&&global,Yy=typeof self=="object"&&self&&self.Object===Object&&self,ht=Wo||Yy||Function("return this")(),zt=ht.Symbol,_o=Object.prototype,Hy=_o.hasOwnProperty,Fy=_o.toString,pn=zt?zt.toStringTag:void 0;function Ky(e){var n=Hy.call(e,pn),i=e[pn];try{e[pn]=void 0;var a=!0}catch{}var o=Fy.call(e);return a&&(n?e[pn]=i:delete e[pn]),o}var zy=Object.prototype,qy=zy.toString;function Qy(e){return qy.call(e)}var Jy="[object Null]",Xy="[object Undefined]",$o=zt?zt.toStringTag:void 0;function qt(e){return e==null?e===void 0?Xy:Jy:$o&&$o in Object(e)?Ky(e):Qy(e)}function Hn(e){return e!=null&&typeof e=="object"}var Zy="[object Symbol]";function Ci(e){return typeof e=="symbol"||Hn(e)&&qt(e)==Zy}var Wy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_y=/^\w*$/;function $y(e,n){if(Yn(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||Ci(e)?!0:_y.test(e)||!Wy.test(e)||n!=null&&e in Object(n)}function er(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var eb="[object AsyncFunction]",tb="[object Function]",nb="[object GeneratorFunction]",ib="[object Proxy]";function tr(e){if(!er(e))return!1;var n=qt(e);return n==tb||n==nb||n==eb||n==ib}var Bi=ht["__core-js_shared__"],nr=function(){var e=/[^.]+$/.exec(Bi&&Bi.keys&&Bi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ab(e){return!!nr&&nr in e}var ob=Function.prototype,rb=ob.toString;function Tt(e){if(e!=null){try{return rb.call(e)}catch{}try{return e+""}catch{}}return""}var sb=/[\\^$.*+?()[\]{}|]/g,lb=/^\[object .+?Constructor\]$/,cb=Function.prototype,db=Object.prototype,pb=cb.toString,ub=db.hasOwnProperty,gb=RegExp("^"+pb.call(ub).replace(sb,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ab(e){if(!er(e)||ab(e))return!1;var n=tr(e)?gb:lb;return n.test(Tt(e))}function mb(e,n){return e==null?void 0:e[n]}function Qt(e,n){var i=mb(e,n);return Ab(i)?i:void 0}var un=Qt(Object,"create");function fb(){this.__data__=un?un(null):{},this.size=0}function hb(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var yb="__lodash_hash_undefined__",bb=Object.prototype,Eb=bb.hasOwnProperty;function wb(e){var n=this.__data__;if(un){var i=n[e];return i===yb?void 0:i}return Eb.call(n,e)?n[e]:void 0}var Cb=Object.prototype,Bb=Cb.hasOwnProperty;function kb(e){var n=this.__data__;return un?n[e]!==void 0:Bb.call(n,e)}var Ib="__lodash_hash_undefined__";function Ob(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=un&&n===void 0?Ib:n,this}function St(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])}}St.prototype.clear=fb,St.prototype.delete=hb,St.prototype.get=wb,St.prototype.has=kb,St.prototype.set=Ob;function vb(){this.__data__=[],this.size=0}function Mb(e,n){return e===n||e!==e&&n!==n}function Fn(e,n){for(var i=e.length;i--;)if(Mb(e[i][0],n))return i;return-1}var Rb=Array.prototype,Tb=Rb.splice;function Sb(e){var n=this.__data__,i=Fn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():Tb.call(n,i,1),--this.size,!0}function xb(e){var n=this.__data__,i=Fn(n,e);return i<0?void 0:n[i][1]}function Nb(e){return Fn(this.__data__,e)>-1}function Vb(e,n){var i=this.__data__,a=Fn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function Jt(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])}}Jt.prototype.clear=vb,Jt.prototype.delete=Sb,Jt.prototype.get=xb,Jt.prototype.has=Nb,Jt.prototype.set=Vb;var Kn=Qt(ht,"Map");function Pb(){this.size=0,this.__data__={hash:new St,map:new(Kn||Jt),string:new St}}function Db(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function zn(e,n){var i=e.__data__;return Db(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Ub(e){var n=zn(this,e).delete(e);return this.size-=n?1:0,n}function Gb(e){return zn(this,e).get(e)}function Lb(e){return zn(this,e).has(e)}function jb(e,n){var i=zn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function xt(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])}}xt.prototype.clear=Pb,xt.prototype.delete=Ub,xt.prototype.get=Gb,xt.prototype.has=Lb,xt.prototype.set=jb;var Yb="Expected a function";function ki(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Yb);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(ki.Cache||xt),i}ki.Cache=xt;var Hb=500;function Fb(e){var n=ki(e,function(a){return i.size===Hb&&i.clear(),a}),i=n.cache;return n}var Kb=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zb=/\\(\\)?/g,qb=Fb(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Kb,function(i,a,o,r){n.push(o?r.replace(zb,"$1"):a||i)}),n});function Qb(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 Jb=1/0,ir=zt?zt.prototype:void 0,ar=ir?ir.toString:void 0;function or(e){if(typeof e=="string")return e;if(Yn(e))return Qb(e,or)+"";if(Ci(e))return ar?ar.call(e):"";var n=e+"";return n=="0"&&1/e==-Jb?"-0":n}function Xb(e){return e==null?"":or(e)}function rr(e,n){return Yn(e)?e:$y(e,n)?[e]:qb(Xb(e))}function Zb(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var Wb=1/0;function sr(e){if(typeof e=="string"||Ci(e))return e;var n=e+"";return n=="0"&&1/e==-Wb?"-0":n}function _b(e,n){n=rr(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[sr(n[i++])];return i&&i==a?e:void 0}function $b(e,n,i){var a=-1,o=e.length;n<0&&(n=-n>o?0:o+n),i=i>o?o:i,i<0&&(i+=o),o=n>i?0:i-n>>>0,n>>>=0;for(var r=Array(o);++a<o;)r[a]=e[a+n];return r}function eE(e,n){return n.length<2?e:_b(e,$b(n,0,-1))}function tE(e,n){return n=rr(n,e),e=eE(e,n),e==null||delete e[sr(Zb(n))]}function nE(e,n){return e==null?!0:tE(e,n)}const iE={class:"kong-ui-entities-plugin-form-container"},aE={key:0},oE={class:"plugin-form-actions"},rE=tt(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},enableRedisPartial:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal"],setup(e,{emit:n}){var le;const i=n,a=e,o=Zt.useRouter(),{i18n:{t:r}}=Oe.useI18n(),{customSchemas:s,typedefs:l}=Oe.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=Oe.usePluginHelpers(),{getMessageFromError:p}=L.useErrors(),{capitalize:g}=L.useStringHelpers(),{objectsAreEqual:u}=L.useHelpers(),{axiosInstance:A}=L.useAxios((le=a.config)==null?void 0:le.axiosRequestConfig),k=t.ref(!1),T=t.computed(()=>!!a.pluginId),f=t.computed(()=>a.pluginId?L.EntityBaseFormType.Edit:L.EntityBaseFormType.Create),C=t.ref(null),O=t.computed(()=>!!(a.credential&&a.config.entityId)),V=t.ref(null),y=t.ref({}),m=t.ref(),E=t.ref(),b=t.ref(!1),v=t.reactive({enabled:!0,protocols:[],tags:[]}),I=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),Y=t.ref([{title:r("view_configuration.json"),hash:"#json"},{title:r("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&Y.value.splice(1,0,{title:r("view_configuration.terraform"),hash:"#terraform"});const S=t.ref(""),x=t.computed(()=>{if(O.value){let U=ve.form[a.config.app].credential[f.value];return U=U.replace(/{resourceEndpoint}/gi,ae.value),U}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}),J=()=>{k.value=!k.value},X=t.computed(()=>{var ee,ue,ie,ge,de,R,N,Ce;const U=a.config.entityType==="consumers"&&a.config.entityId||((ue=(ee=V.value)==null?void 0:ee.consumer)==null?void 0:ue.id),Z=a.config.entityType==="consumer_groups"&&a.config.entityId||((ge=(ie=V.value)==null?void 0:ie.consumer_group)==null?void 0:ge.id),h=a.config.entityType==="services"&&a.config.entityId||((R=(de=V.value)==null?void 0:de.service)==null?void 0:R.id),K=a.config.entityType==="routes"&&a.config.entityId||((Ce=(N=V.value)==null?void 0:N.route)==null?void 0:Ce.id);if(!(U||Z||h||K))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const H={};return h&&(H.service={entity:c.SERVICE,entityEndpoint:"services",id:h,idField:Et.SERVICE}),K&&(H.route={entity:c.ROUTE,entityEndpoint:"routes",id:K,idField:Et.ROUTE}),U&&(H.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:U,idField:Et.CONSUMER}),Z&&(H.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:Z,idField:Et.CONSUMER_GROUP}),a.config.entityType&&(H.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()]}),H}),F=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||f.value===L.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}),ae=t.computed(()=>{var h;const U=a.developer?"developers":"consumers",Z=((h=Lt[a.pluginType])==null?void 0:h.endpoint)||"/plugins";return`${U}/${a.config.entityId}${a.developer?"/credentials":""}${Z}`}),z=U=>{const Z=Array.from(new Set(U.map(h=>typeof h)));return Z.length>1?"string":Z[0]},G=(U,Z,h,K)=>{var ie,ge;let H=Z&&Z.fields||[];const ee=s[a.pluginType],ue=(ge=(ie=Lt[a.pluginType])==null?void 0:ie.schema)==null?void 0:ge.fields;return Array.isArray(H)&&(H=H.reduce((de,R)=>{const N=Object.keys(R)[0];return N.match(/-/g)?de[N.replace(/-/g,"_")]={...R[N],fieldNameHasDashes:!0}:de[N]=R[N],de},{})),Object.keys(H).sort().forEach(de=>{var Fe,Xt,An,mn,fn,hn;const R=H[de];R.type==="set"&&(R.type="array");const N=U?`${U}-${de}`:`${de}`;if(Object.prototype.hasOwnProperty.call(R,"overwrite")||R.hidden)return;if(R.type==="table")return G(N,R.schema,h);if(R.fields)return K&&R.type==="record"?(h[N]={type:"object",model:de,schema:{fields:Object.values(G(N,R,{},!0))}},h):G(N,R,h);if(h[N]={id:N,model:de},h[N].type=R.type==="boolean"?"checkbox":"input",h[N].required=R.required,h[N].referenceable=R.referenceable,N.startsWith("config-"))if(!K&&R.type==="array"&&(S.value=N),K&&S.value&&N.startsWith(S.value)){const oe=N.slice(S.value.length+1);h[N].label=oe.split("-").map(d).join(".")}else h[N].label=d(N);if((U==="config"||U.startsWith("config-"))&&(Fe=H[de])!=null&&Fe.description&&(h[N].help=se.parse(H[de].description,{mangle:!1,headerIds:!1})),R.type==="map"){if(h[N].type="object-advanced",h[N].values=R.values,R.values.type==="array"){const{type:oe}=R.values.elements||{};h[N].schema={fields:[{schema:{fields:[{...Ee,model:N,valueArrayType:oe==="integer"?"number":oe||"string",inputAttributes:{...Ee.inputAttributes,type:oe==="integer"?"number":"text",inputMode:oe==="integer"?"numeric":"text"}}]}}]}}else R.values.fields&&(h[N].schema={fields:[{type:"object",model:"object",schema:{fields:R.values.fields.map(oe=>{const Le=Object.keys(oe)[0];return{model:Le,type:"input",label:g(Le),placeholder:Le,inputType:oe[Le].type}})}}]});return h}if(R.enum&&R.type==="array"&&(h[N].type="checklist",h[N].values=R.enum,h[N].multi=!0,h[N].multiSelect=!0),R.one_of&&R.type!=="array"&&(h[N].type="select",h[N].values=R.one_of,h[N].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),R.elements&&R.type==="array"){const oe=R.elements;if(h[N].referenceable=oe.referenceable,h[N].elements=oe,["string","integer","number"].includes(oe.type)&&!oe.one_of){const{id:Le,help:Be,label:Ae,hint:Ve,values:lt,referenceable:Ke,model:Ut}=h[N],{inputAttributes:Qn,...iC}=JSON.parse(JSON.stringify(Ee));Qn.type=oe.type==="string"?"text":"number",h[N]={id:Le,help:Be,label:Ae,hint:Ve,values:lt,referenceable:Ke,model:Ut,inputAttributes:Qn,...iC}}}if(R.hint&&(h[N].hint=R.hint),ee&&!ee.overwriteDefault&&Object.keys(ee).forEach(oe=>{if(oe===N){const{help:Le,label:Be,hint:Ae,values:Ve,referenceable:lt,elements:Ke}=h[N],{help:Ut,...Qn}=ee[oe];h[N]={help:Le,label:Be,hint:Ae,values:Ve,referenceable:lt,elements:Ke,...Qn},typeof Ut=="string"&&(h[N].help=se.parse(Ut,{mangle:!1,headerIds:!1}))}}),R.type==="array"&&((Xt=R.elements)==null?void 0:Xt.type)==="record"&&Array.isArray(R.elements.fields)){let oe={};for(const Be of R.elements.fields)oe={...oe,...Be};const Le=(fn=(mn=(An=h[N])==null?void 0:An.items)==null?void 0:mn.schema)==null?void 0:fn.fields;if(Array.isArray(Le))for(const Be of h[N].items.schema.fields){const Ae=(hn=oe[Be.model])==null?void 0:hn.description;Be.help===void 0&&typeof Ae=="string"&&(Be.help=se.parse(Ae,{mangle:!1,headerIds:!1}))}if(Le||(h[N].type="array",h[N].newElementButtonLabelClasses="kong-form-new-element-button-label",h[N].fieldClasses="array-card-container-wrapper",h[N].itemContainerComponent="FieldArrayCardContainer",h[N].items={type:"object",schema:{fields:Object.values(G(N,R.elements,{},!0))}},h[N].items.schema.fields.forEach(Be=>{var Ae,Ve;for(const lt of R.elements.fields){const Ke=Object.keys(lt)[0],Ut=((Ve=(Ae=Be.id)==null?void 0:Ae.split)==null?void 0:Ve.call(Ae,"-"))??[];if(Ut[Ut.length-1]===Ke){Be.model=Ke,Be.label=d(Ke);break}}}),R.elements.type==="record"&&(h[N].nestedFields=!0)),!h[N].nestedFields)h[N].items.default=()=>R.elements.fields.reduce((Be,Ae)=>{const Ve=Object.keys(Ae)[0];return Be[Ve]=Ae[Ve].default,Be},{});else{const Be=(Ae,Ve)=>{if(Ae.type==="object"){Ae.model&&(Ve[Ae.model]={});for(const lt of Ae.schema.fields)Be(lt,Ae.model?Ve[Ae.model]:Ve)}else Ae.model&&(Ve[Ae.model]=Ae.default)};h[N].items.default=()=>{const Ae={};return Be(h[N].items,Ae),Ae}}}if(O.value&&ue){for(let oe=0;oe<ue.length;oe++)if(ue[oe][N]){h[N]={...h[N],...ue[oe][N]};break}}if(R.required&&R.type!=="boolean"&&(h[N].required=!0,h[N].selectOptions={hideNoneSelectedText:!0}),R.required&&R.type==="boolean"&&(h[N].default=R.default??!1),R.default!=null&&typeof R.default!="object"&&R.default!=="function"&&(h[N].default=R.default),h[N].type==="input"){["string","number"].includes(typeof h[N].default)&&a.config.app==="konnect"&&(h[N].placeholder=`Default: ${h[N].default===""?"<empty string>":h[N].default}`);const{type:oe}=R.elements||{};oe&&(h[N].valueArrayType=oe==="integer"?"number":oe),h[N].inputType=R.type==="array"||R.type==="string"?R.encrypted?"password":"text":R.type}let Ce="string";R.enum?Ce=z(R.enum):R.type==="boolean"?Ce="boolean":R.type==="number"||R.type==="integer"?(Ce="number",h[N].inputType="number"):R.type==="array"?(Ce="array",h[N].default=R.default,R.len_min>0&&(h[N].submitWhenNull=!0)):R.type==="foreign"?Ce="object":R.default&&Array.isArray(R.default)?(Ce="array",h[N].valueArrayType=z(R.default)):R.default&&(Ce=typeof R.default),h[N].valueType=Ce,R.fieldNameHasDashes&&(h[N].fieldNameHasDashes=!0)}),h},$=()=>{var de,R,N,Ce,Fe,Xt,An,mn,fn,hn,oe,Le;const U=((de=_e[a.pluginType])==null?void 0:de.scope.includes(c.SERVICE))??!0,Z=((R=_e[a.pluginType])==null?void 0:R.scope.includes(c.ROUTE))??!0,h=((N=_e[a.pluginType])==null?void 0:N.scope.includes(c.CONSUMER))??!0,K=a.config.disableConsumerGroupScope?!1:((Ce=_e[a.pluginType])==null?void 0:Ce.scope.includes(c.CONSUMER_GROUP))??!0,H=a.config.entityType==="consumers"&&!!a.config.entityId||!!((Xt=(Fe=V.value)==null?void 0:Fe.consumer)!=null&&Xt.id),ee=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((mn=(An=V.value)==null?void 0:An.consumer_group)!=null&&mn.id),ue=a.config.entityType==="services"&&!!a.config.entityId||!!((hn=(fn=V.value)==null?void 0:fn.service)!=null&&hn.id),ie=a.config.entityType==="routes"&&!!a.config.entityId||!!((Le=(oe=V.value)==null?void 0:oe.route)!=null&&Le.id),ge=[];if(U&&ge.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:ue&&a.disableScopeSelection}),Z&&ge.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:ie&&a.disableScopeSelection}),h&&ge.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:H&&a.disableScopeSelection}),K&&ge.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:ee&&a.disableScopeSelection}),ge.length){const Be=[...U?["service"]:[],...Z?["route"]:[],...h?["consumer"]:[],...K?["consumer_group"]:[]],Ve=Be.splice(Be.length-2,2).map(Ke=>r(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(`${Be.length>0?",":""} and/or `),lt=["Specific",[...Be.length>0?[Be.map(Ke=>r(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(", ")]:[],Ve].join(", ")].join(" ");F.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:lt,fields:[]}),F.selectionGroup.fields[1].fields=ge}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(F,s[a.pluginType].formSchema)},j=t.computed(()=>!u(I.fields,v,!0)),w=t.computed(()=>!Ie.value&&!b.value&&(f.value===L.EntityBaseFormType.Create||j.value)),B=t.ref(!1),D=t.ref(),W=U=>{a.credential&&U.password&&(U.password=""),I.fields.id=(U==null?void 0:U.id)||void 0,D.value=U==null?void 0:U.ordering,Object.assign(v,I.fields),V.value=U,B.value=!0},Q=t.ref({}),re=U=>{var Z;I.fields=U.model,I.fields.id=((Z=V.value)==null?void 0:Z.id)||void 0,Object.assign(v,U.originalModel),Q.value=U.data,a.isWizardStep&&i("model-updated",{model:I.fields,data:U.data,resourceEndpoint:ae.value})};t.watch([X,B],(U,Z)=>{const h=U[0]!==Z[0],K=U[1],H=Z[1];if(!O.value&&f.value===L.EntityBaseFormType.Edit&&(h||K&&K!==H)){Ie.value=!0;const ee=G("config",y.value,F);Ze.value&&(ee._isCustomPlugin=!0),m.value&&(ee._supported_redis_partial_type=m.value),C.value=ee,Ie.value=!1}},{deep:!0});const ne=()=>{a.config.cancelRoute?o.push(a.config.cancelRoute):i("cancel")},te=t.computed(()=>{let U=`${a.config.apiBaseUrl}${ve.form[a.config.app].validate}`;return a.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),U=U.replace(/{id}/gi,a.pluginId),U}),q=t.computed(()=>{const U=a.config.entityType&&a.config.entityId&&!a.developer,Z=O.value?ve.form[a.config.app].credential[f.value]:ve.form[a.config.app][f.value][U?"forEntity":"all"];let h=`${a.config.apiBaseUrl}${Z}`;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(/{resourceEndpoint}/gi,ae.value),h=h.replace(/{id}/gi,a.pluginId),h=h.replace(/{entityType}/gi,a.config.entityType||""),h=h.replace(/{entityId}/gi,a.config.entityId||""),h}),Ze=t.computed(()=>!Object.keys(_e).includes(a.pluginType)),He=t.computed(()=>{const U=Q.value;if(O.value){for(const Z in c){const h=c[Z];U[h]&&!U[h].id&&(U[h]={id:a.config.entityId})}delete U.created_at}return Q.value.partials&&E.value&&nE(U,E.value),U}),We=async()=>{if(!a.isWizardStep)try{I.isReadonly=!0;let U;const Z=JSON.parse(JSON.stringify(He.value)),h=s[a.pluginType];typeof(h==null?void 0:h.shamefullyTransformPayload)=="function"&&h.shamefullyTransformPayload({originalModel:v,model:I.fields,payload:Z,schema:C.value}),!O.value&&!Ze.value&&await A.post(te.value,Z),f.value==="create"?U=await A.post(q.value,Z):f.value==="edit"&&(U=a.config.app==="konnect"||m.value?await A.put(q.value,Object.assign({ordering:D.value},Z)):await A.patch(q.value,Z)),Object.assign(v,I.fields),i("update",U==null?void 0:U.data)}catch(U){I.errorMessage=p(U),i("error",U)}finally{I.isReadonly=!1}},Vt=t.computed(()=>{var K;const U=O.value?(K=Lt[a.pluginType])==null?void 0:K.schemaEndpoint:a.pluginType,Z=O.value?ve.form[a.config.app].credentialSchema:ve.form[a.config.app].pluginSchema;let h=`${a.config.apiBaseUrl}${Z}`;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(/{plugin}/gi,U),h}),Pt=t.ref(""),Ie=t.ref(!1),Dt=t.ref("");return t.onBeforeMount(async()=>{var U,Z,h,K;Ie.value=!0;try{if(O.value&&a.config.app==="konnect"){const H=(U=Lt[a.pluginType])==null?void 0:U.schemaEndpoint,ee=nc[H];Pt.value=H,C.value=G("",ee,{}),Ie.value=!1}else{const H=a.schema??(await A.get(Vt.value)).data;if(H)if(O.value)C.value=G("",H,{}),Ie.value=!1;else{const ee=H.fields.find(ie=>ie.config);y.value=ee?ee.config:H,H.supported_partials&&(m.value=Object.keys(H.supported_partials).find(ie=>[kn.REDIS_CE,kn.REDIS_EE].includes(ie)),E.value=(Z=H.supported_partials[m.value])==null?void 0:Z[0]),$();const ue=(h=H.fields.find(ie=>ie.protocols))==null?void 0:h.protocols;if(ue){const{default:ie=[],elements:ge={}}=ue;F.protocols.default=ie,F.protocols.placeholder=a.config.app==="konnect"?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ie.join(", ")}):r("plugins.form.fields.protocols.placeholder"),(K=ge.one_of)!=null&&K.length&&(F.protocols.values=ge.one_of.map(de=>({label:de,value:de})))}if(B.value||f.value===L.EntityBaseFormType.Create){const ie=G("config",y.value,F);m.value&&(ie._supported_redis_partial_type=m.value),Ze.value&&(ie._isCustomPlugin=!0),C.value=ie}}}}catch(H){Dt.value=p(H),i("error:fetch-schema",H)}finally{Ie.value=!1}}),(U,Z)=>{const h=t.resolveComponent("KSkeleton"),K=t.resolveComponent("KEmptyState"),H=t.resolveComponent("KButton"),ee=t.resolveComponent("KTabs"),ue=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",iE,[Ie.value?(t.openBlock(),t.createBlock(h,{key:0,type:"form"})):Dt.value?(t.openBlock(),t.createBlock(K,{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(L.EntityBaseForm),{key:2,"can-submit":w.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(L.SupportedEntityType).Plugin,"error-message":I.errorMessage,"fetch-url":x.value,"form-fields":He.value,"is-readonly":I.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":Z[3]||(Z[3]=ie=>U.$emit("error",ie)),"onFetch:success":W,onLoading:Z[4]||(Z[4]=ie=>U.$emit("loading",ie))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",aE)):(t.openBlock(),t.createBlock(jy,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",oE,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(H,{key:0,appearance:"tertiary","data-testid":`plugin-${T.value?"edit":"create"}-form-view-configuration`,onClick:Z[2]||(Z[2]=ie=>J())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(H,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${T.value?"edit":"create"}-form-cancel`,disabled:I.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(H,{appearance:"primary","data-testid":`plugin-${T.value?"edit":"create"}-form-submit`,disabled:!w.value||I.isReadonly,type:"submit",onClick:We},{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:We},null,32),t.createVNode(Gy,{config:e.config,credential:O.value,editing:f.value===t.unref(L.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":X.value,record:V.value||void 0,schema:C.value||{},onLoading:Z[0]||(Z[0]=ie=>b.value=ie),onModelUpdated:re,onShowNewPartialModal:Z[1]||(Z[1]=ie=>U.$emit("showNewPartialModal",ie))},null,8,["config","credential","editing","enable-redis-partial","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(ue,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:k.value,onClose:J},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(ee,{"data-testid":"form-view-configuration-slideout-tabs",tabs:Y.value},{json:t.withCtx(()=>[t.createVNode(t.unref(L.JsonCodeBlock),{config:e.config,"entity-record":He.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(L.YamlCodeBlock),{"entity-record":He.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(L.TerraformCodeBlock),{"credential-type":Pt.value,"entity-record":He.value,"entity-type":t.unref(L.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-e5c4b68f"]]),sE=["alt","height","src","width"],qn=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(()=>oa(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:nt&&nt.tagName.toUpperCase()==="SCRIPT"&&nt.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,sE))}});var lE=Object.prototype;function lr(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||lE;return e===i}function cE(e,n){return function(i){return e(n(i))}}var dE=cE(Object.keys,Object),pE=Object.prototype,uE=pE.hasOwnProperty;function gE(e){if(!lr(e))return dE(e);var n=[];for(var i in Object(e))uE.call(e,i)&&i!="constructor"&&n.push(i);return n}var Ii=Qt(ht,"DataView"),Oi=Qt(ht,"Promise"),vi=Qt(ht,"Set"),Mi=Qt(ht,"WeakMap"),cr="[object Map]",AE="[object Object]",dr="[object Promise]",pr="[object Set]",ur="[object WeakMap]",gr="[object DataView]",mE=Tt(Ii),fE=Tt(Kn),hE=Tt(Oi),yE=Tt(vi),bE=Tt(Mi),Nt=qt;(Ii&&Nt(new Ii(new ArrayBuffer(1)))!=gr||Kn&&Nt(new Kn)!=cr||Oi&&Nt(Oi.resolve())!=dr||vi&&Nt(new vi)!=pr||Mi&&Nt(new Mi)!=ur)&&(Nt=function(e){var n=qt(e),i=n==AE?e.constructor:void 0,a=i?Tt(i):"";if(a)switch(a){case mE:return gr;case fE:return cr;case hE:return dr;case yE:return pr;case bE:return ur}return n});var EE="[object Arguments]";function Ar(e){return Hn(e)&&qt(e)==EE}var mr=Object.prototype,wE=mr.hasOwnProperty,CE=mr.propertyIsEnumerable,BE=Ar(function(){return arguments}())?Ar:function(e){return Hn(e)&&wE.call(e,"callee")&&!CE.call(e,"callee")},kE=9007199254740991;function fr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kE}function IE(e){return e!=null&&fr(e.length)&&!tr(e)}function OE(){return!1}var hr=typeof _=="object"&&_&&!_.nodeType&&_,yr=hr&&typeof module=="object"&&module&&!module.nodeType&&module,vE=yr&&yr.exports===hr,br=vE?ht.Buffer:void 0,ME=br?br.isBuffer:void 0,RE=ME||OE,TE="[object Arguments]",SE="[object Array]",xE="[object Boolean]",NE="[object Date]",VE="[object Error]",PE="[object Function]",DE="[object Map]",UE="[object Number]",GE="[object Object]",LE="[object RegExp]",jE="[object Set]",YE="[object String]",HE="[object WeakMap]",FE="[object ArrayBuffer]",KE="[object DataView]",zE="[object Float32Array]",qE="[object Float64Array]",QE="[object Int8Array]",JE="[object Int16Array]",XE="[object Int32Array]",ZE="[object Uint8Array]",WE="[object Uint8ClampedArray]",_E="[object Uint16Array]",$E="[object Uint32Array]",we={};we[zE]=we[qE]=we[QE]=we[JE]=we[XE]=we[ZE]=we[WE]=we[_E]=we[$E]=!0,we[TE]=we[SE]=we[FE]=we[xE]=we[KE]=we[NE]=we[VE]=we[PE]=we[DE]=we[UE]=we[GE]=we[LE]=we[jE]=we[YE]=we[HE]=!1;function ew(e){return Hn(e)&&fr(e.length)&&!!we[qt(e)]}function tw(e){return function(n){return e(n)}}var Er=typeof _=="object"&&_&&!_.nodeType&&_,gn=Er&&typeof module=="object"&&module&&!module.nodeType&&module,nw=gn&&gn.exports===Er,Ri=nw&&Wo.process,wr=function(){try{var e=gn&&gn.require&&gn.require("util").types;return e||Ri&&Ri.binding&&Ri.binding("util")}catch{}}(),Cr=wr&&wr.isTypedArray,iw=Cr?tw(Cr):ew,aw="[object Map]",ow="[object Set]",rw=Object.prototype,sw=rw.hasOwnProperty;function Br(e){if(e==null)return!0;if(IE(e)&&(Yn(e)||typeof e=="string"||typeof e.splice=="function"||RE(e)||iw(e)||BE(e)))return!e.length;var n=Nt(e);if(n==aw||n==ow)return!e.size;if(lr(e))return!gE(e).length;for(var i in e)if(sw.call(e,i))return!1;return!0}const lw="#00abd2",cw="16px",dw="24px",pw={class:"kong-ui-entities-plugins-list"},uw={class:"button-row"},gw={class:"empty-state-icon-gateway"},Aw={class:"name-cell-wrapper"},mw={class:"info-wrapper"},fw={key:0,class:"info-name"},hw={key:1,class:"info-name"},yw={key:2,class:"info-type"},bw={key:1},Ew=tt(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 U,Z;const i=Oe.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=Oe.useI18n(),s=Zt.useRouter(),{axiosInstance:l}=L.useAxios((U=o.config)==null?void 0:U.axiosRequestConfig),{hasRecords:d,handleStateChange:p}=L.useTableState(()=>m.value),g=t.computed(()=>d.value&&o.config.app==="konnect"),u=t.computed(()=>!o.enableV2EmptyStates&&o.config.app==="konnect"),A=t.computed(()=>!!o.config.entityId),k=t.computed(()=>{var h;return((h=o.config)==null?void 0:h.entityType)==="consumers"}),T=t.computed(()=>{var h;return((h=o.config)==null?void 0:h.entityType)==="consumer_groups"}),f=o.config.app==="konnect"||L.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),C=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),O={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(Z=o.config)!=null&&Z.entityId||(O.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),O.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},f&&(O.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),O.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const V=O,y=t.computed(()=>{var K,H,ee,ue;let h=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"?h=h.replace(/{controlPlaneId}/gi,((K=o.config)==null?void 0:K.controlPlaneId)||""):o.config.app==="kongManager"&&(h=h.replace(/\/{workspace}/gi,(H=o.config)!=null&&H.workspace?`/${o.config.workspace}`:"")),h.replace(/{entityType}/gi,((ee=o.config)==null?void 0:ee.entityType)||"").replace(/{entityId}/gi,((ue=o.config)==null?void 0:ue.entityId)||"")}),m=t.ref(""),E=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:O.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:{...O.enabled,label:r("search.filter.field.enabled")},name:O.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),{fetcher:b,fetcherState:v,fetcherCacheKey:I}=L.useFetcher({...o.config,cacheIdentifier:o.cacheIdentifier},y.value),Y=()=>{m.value=""},S=()=>{I.value++},x=t.ref(null),J=h=>{var H,ee,ue,ie;const K=[];return((H=h.route)!=null&&H.id||h.route_id)&&K.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),((ee=h.service)!=null&&ee.id||h.service_id)&&K.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),((ue=h.consumer)!=null&&ue.id||h.consumer_id)&&K.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),((ie=h.consumer_group)!=null&&ie.id||h.consumer_group_id)&&K.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),K.length?K:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},X=async(h,K)=>{var H;return h===null?!1:await((H=o.canRetrieveScopedEntity)==null?void 0:H.call(o,h,K.id))},F=(h,K)=>{var ee,ue,ie,ge,de;let H=null;switch(h){case"route":H=(ee=K.route)==null?void 0:ee.id;break;case"service":H=(ue=K.service)==null?void 0:ue.id;break;case"consumer":H=(ie=K.consumer)==null?void 0:ie.id;break;case"consumer_group":H=(ge=K.consumer_group)==null?void 0:ge.id;break}H&&((de=o.config)!=null&&de.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(h,H))},ae=t.ref(!1),z=t.ref(null),G=t.computed(()=>{const h={action:"disable",id:"",name:""};if(z.value){const{enabled:K,id:H,name:ee}=z.value;h.action=K?"disable":"enable",h.id=H,h.name=i.getDisplayName(ee)||H}return h}),$=h=>{ae.value=!0,z.value=h},j=()=>{ae.value=!1,z.value=null},w=async()=>{var ee,ue,ie,ge,de,R,N,Ce;if(!await((ee=o.canEdit)==null?void 0:ee.call(o,z.value))||!z.value)return;let K=`${o.config.apiBaseUrl}${(de=ve.item[o.config.app])==null?void 0:de[(ue=o.config)!=null&&ue.entityType?"forEntity":"all"].replace(/{entityType}/gi,((ie=o.config)==null?void 0:ie.entityType)||"").replace(/{entityId}/gi,((ge=o.config)==null?void 0:ge.entityId)||"")}`.replace(/{id}/gi,z.value.id||"");o.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,((R=o.config)==null?void 0:R.controlPlaneId)||""):o.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:""));const H=!z.value.enabled;try{const{data:Fe}=((Ce=o.config)==null?void 0:Ce.app)==="konnect"?await l.put(K,{...z.value,enabled:H},{timeout:12e4}):await l.patch(K,{...z.value,enabled:H},{timeout:12e4});a("toggle-enabled",H,Fe),z.value.enabled=H}catch(Fe){a("error",Fe)}},B=(h,K)=>{const H=h.id;if(!K(H)){a("copy:error",{entity:h,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:h,field:"id",message:r("copy.success",{val:H})})},D=(h,K)=>{const H=JSON.stringify(h);if(!K(H)){a("copy:error",{entity:h,message:r("errors.copy")});return}a("copy:success",{entity:h,message:r("copy.success_brief")})},W=async h=>{var H;await((H=o.canRetrieve)==null?void 0:H.call(o,h))&&s.push(o.config.getViewRoute(h))},Q=h=>({label:r("actions.view"),to:o.config.getViewRoute(h)}),re=h=>({label:r("actions.edit"),to:o.config.getEditRoute(h)}),ne=h=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(h)}),te=t.ref(void 0),q=t.ref(!1),Ze=t.ref(!1),He=t.ref(""),We=L.useDeleteUrlBuilder(o.config,y.value),Vt=h=>{te.value=h,q.value=!0},Pt=()=>{q.value=!1},Ie=async()=>{var h,K,H;if((h=te.value)!=null&&h.id){Ze.value=!0;try{await l.delete(We(te.value.id)),Ze.value=!1,q.value=!1,I.value++,a("delete:success",te.value)}catch(ee){He.value=((H=(K=ee.response)==null?void 0:K.data)==null?void 0:H.message)||ee.message||r("errors.delete"),a("error",ee)}finally{Ze.value=!1}}},Dt=()=>{s.push(o.config.createRoute)};t.watch(v,h=>{var K,H,ee;if(h.status===L.FetcherStatus.Error){x.value={title:r("errors.general")},(ee=(H=(K=h.error)==null?void 0:K.response)==null?void 0:H.data)!=null&&ee.message&&(x.value.message=h.error.response.data.message),a("error",h.error);return}x.value=null});const le=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()&&(le.value.title=r("plugins.list.empty_state.title"),le.value.ctaText=r("actions.create"))}),(h,K)=>{const H=t.resolveComponent("KButton"),ee=t.resolveComponent("KBadge"),ue=t.resolveComponent("KTruncate"),ie=t.resolveComponent("KInputSwitch"),ge=t.resolveComponent("KDropdownItem"),de=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",pw,[t.createVNode(t.unref(L.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":C.value,"empty-state-options":le.value,"enable-entity-actions":"","error-message":x.value,fetcher:t.unref(b),"fetcher-cache-key":t.unref(I),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:m.value,"table-headers":t.unref(V),title:e.title,"title-tag":e.titleTag,onClearSearchInput:Y,"onClick:row":K[5]||(K[5]=R=>W(R)),onSort:S,onState:t.unref(p)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(L.EntityFilter),{modelValue:m.value,"onUpdate:modelValue":K[0]||(K[0]=R=>m.value=R),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",uw,[!A.value&&g.value?(t.openBlock(),t.createBlock(H,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:K[1]||(K[1]=R=>h.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(H,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.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:R})=>[t.createElementVNode("div",Aw,[t.createVNode(qn,{class:"plugin-icon",name:R.name,size:24},null,8,["name"]),t.createElementVNode("div",mw,[R.instance_name?(t.openBlock(),t.createElementBlock("span",fw,t.toDisplayString(R.instance_name),1)):(t.openBlock(),t.createElementBlock("span",hw,t.toDisplayString(t.unref(i).getDisplayName(R.name)),1)),R.instance_name?(t.openBlock(),t.createElementBlock("span",yw,t.toDisplayString(t.unref(i).getDisplayName(R.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:R})=>[J(R).length>0?(t.openBlock(),t.createBlock(ue,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(J(R),N=>(t.openBlock(),t.createBlock(t.unref(L.PermissionsWrapper),{key:N.badgeText,"auth-function":()=>X(N.type,R),"force-show":""},{default:t.withCtx(({isAllowed:Ce})=>[t.createVNode(ee,{class:t.normalizeClass(Ce||"disabled"),onClick:t.withModifiers(Fe=>Ce&&N.type&&F(N.type,R),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",bw,"-"))]),enabled:t.withCtx(({row:R})=>[t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(R)&&await e.canToggle(R)),"force-show":""},{default:t.withCtx(({isAllowed:N})=>{var Ce,Fe;return[t.createElementVNode("div",{onClick:K[4]||(K[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ie,{disabled:!N,"disabled-tooltip-text":!N&&((Fe=(Ce=e.config).getToggleDisabledTooltip)==null?void 0:Fe.call(Ce,R))||void 0,"model-value":R.enabled,onClick:t.withModifiers(Xt=>N&&$(R),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:R})=>[t.createVNode(ee,{appearance:t.unref(Br)(R)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Br)(R)?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:R})=>[t.createVNode(t.unref(L.TableTags),{tags:R},null,8,["tags"])]),actions:t.withCtx(({row:R})=>[t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-id",onClick:Ce=>B(R,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-json",onClick:Ce=>D(R,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(R)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-view","has-divider":"",item:Q(R)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canEdit(R)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-edit",item:re(R)},null,8,["item"])]),_:2},1032,["auth-function"]),!k.value&&!T.value&&t.unref(f)?(t.openBlock(),t.createBlock(t.unref(L.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(R)},{default:t.withCtx(()=>[ne(R)?(t.openBlock(),t.createBlock(ge,{key:0,"data-testid":"action-entity-config-dyn-order",item:ne(R)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canDelete(R)},{default:t.withCtx(()=>[t.createVNode(ge,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:N=>Vt(R)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(d)&&u.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(H,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:K[2]||(K[2]=R=>h.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.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(L.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":Dt,"onClick:learnMore":K[3]||(K[3]=R=>h.$emit("click:learn-more"))},{image:t.withCtx(()=>[t.createElementVNode("div",gw,[t.createVNode(t.unref(Ue.PlugIcon),{color:t.unref(lw),size:t.unref(dw)},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(L.EntityToggleModal),{action:G.value.action,"entity-id":G.value.id,"entity-name":G.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":w,visible:ae.value,onCancel:j,onProceed:j},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(L.EntityDeleteModal),{"action-pending":Ze.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(L.EntityTypes).Plugin,error:He.value,title:t.unref(r)("delete.title"),visible:q.value,onCancel:Pt,onProceed:Ie},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-2a23bbaf"]]),ww={class:"plugin-select-card-wrapper"},Cw=["data-testid"],Bw={class:"plugin-card-header"},kw={class:"plugin-card-title"},Iw={key:0,class:"plugin-card-actions"},Ow=["data-testid","title"],vw={key:0,class:"plugin-card-text"},Mw={key:0},Rw=["title"],Ti=tt(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=Zt.useRouter(),{i18n:{t:r}}=Oe.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(k.value&&!A.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},g=()=>{a.navigateOnClick?p():u()},u=()=>{i("plugin-clicked",a.plugin)},A=t.computed(()=>a.plugin.id==="custom-plugin-create"),k=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===M.CUSTOM_PLUGINS),T=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},f=(O,V)=>{const y=a.config;a.config.app==="konnect"&&typeof y.getCustomEditRoute=="function"&&y.getCustomEditRoute&&o.push(y.getCustomEditRoute(O,V))},C=()=>{if(!l.value&&a.config.app==="konnect"){const O=a.config;A.value&&O.createCustomRoute?o.push(O.createCustomRoute):k.value&&p()}};return(O,V)=>{const y=t.resolveComponent("KButton"),m=t.resolveComponent("KDropdownItem"),E=t.resolveComponent("KDropdownMenu"),b=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",ww,[t.createVNode(b,{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:V[1]||(V[1]=v=>l.value||k.value?void 0:g())},[t.createElementVNode("div",Bw,[t.createElementVNode("div",kw,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!k.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Iw,[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(Ue.MoreIcon),{size:t.unref(cw)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:0,"data-testid":"edit-plugin-schema",onClick:V[0]||(V[0]=t.withModifiers(v=>f(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(T,["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":k.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:C},[t.createVNode(qn,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||k.value&&!A.value?(t.openBlock(),t.createElementBlock("div",vw,[k.value&&!A.value?(t.openBlock(),t.createElementBlock("p",Mw,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,Rw)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Ow),t.createElementVNode("div",{class:"plugin-card-footer",onClick:C},t.toDisplayString(A.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,Cw)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-b6a2ebc6"]]),Tw=tt(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 T;const i=e,a=n,{i18nT:o,i18n:{t:r}}=Oe.useI18n(),{getMessageFromError:s}=L.useErrors(),{axiosInstance:l}=L.useAxios((T=i.config)==null?void 0:T.axiosRequestConfig),d=t.computed(()=>{var f;return u.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((f=i.plugin)==null?void 0:f.name)||r("delete.custom_plugin")})}),p=t.ref(!1),g=t.ref(""),u=t.ref(!1),A=t.computed(()=>{if(i.config.app==="konnect"){const f=i.plugin.customPluginType==="streaming"?ve.select[i.config.app].streamingCustomPluginItem:ve.select[i.config.app].schemaCustomPluginItem;let C=`${i.config.apiBaseUrl}${f}`;return C=C.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),C=C.replace(/{pluginId}/gi,i.plugin.id),C}return null}),k=async()=>{var f,C,O,V;if(p.value=!0,g.value="",!(!((f=i.plugin)!=null&&f.name)||((C=i.config)==null?void 0:C.app)!=="konnect"))try{A.value&&await l.delete(A.value),a("proceed")}catch(y){const{response:m}=y;(m==null?void 0:m.status)===400&&((V=(O=m.data)==null?void 0:O.message)!=null&&V.includes("plugin schema is currently in use"))?u.value=!0:g.value=s(y)}finally{p.value=!1}};return(f,C)=>{const O=t.resolveComponent("KButton"),V=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(L.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(L.EntityTypes).Plugin,error:g.value,"need-confirm":"",title:d.value,visible:"",onCancel:C[0]||(C[0]=y=>f.$emit("closed")),onProceed:k},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(V,{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:C[2]||(C[2]=y=>f.$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(O,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:C[1]||(C[1]=y=>f.$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"]]),Sw={class:"custom-plugins-grid"},xw={class:"empty-state-title"},Nw={class:"empty-state-description"},Si=310,Vw=tt(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}}=Oe.useI18n(),{getTallestPluginCardHeight:r,getToggleVisibility:s}=Oe.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))[M.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:M.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(E):E}),g=t.ref(!1),u=t.ref(null),A=E=>{g.value=!0,u.value={id:E.id,name:E.name,customPluginType:E.customPluginType}},k=E=>{var b;E&&(a("revalidate"),a("delete:success",((b=u.value)==null?void 0:b.name)||"")),g.value=!1,u.value=null},T=t.ref(Si),f=t.ref(null),C=t.ref(null),O=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${T.value}px`}:{}),V=t.ref(!1),y=()=>{T.value=Math.max(r(C.value),Si),m()},m=()=>{var E,b;(E=C.value)!=null&&E.length&&(V.value=s(f.value,(b=C.value)==null?void 0:b.length))};return t.onMounted(async()=>{await t.nextTick(),T.value=Math.max(r(C.value),Si),m(),window==null||window.addEventListener("resize",y)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",y)}),(E,b)=>{const v=t.resolveComponent("KEmptyState"),I=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Sw,[p.value.length?(t.openBlock(),t.createBlock(I,{key:1,modelValue:l.value,"onUpdate:modelValue":b[0]||(b[0]=Y=>l.value=Y),class:"custom-plugins-collapse","data-testid":`${t.unref(M).CUSTOM_PLUGINS}-collapse`,title:t.unref(M).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:f,class:"plugin-card-container",style:t.normalizeStyle(O.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(Y,S)=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${S}`,ref_for:!0,ref_key:"pluginCardRef",ref:C,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:Y,onCustomPluginDelete:x=>A(Y),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[V.value?void 0:{name:"trigger",fn:t.withCtx(()=>[b[2]||(b[2]=t.createTextVNode("   "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(v,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",xw,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Nw,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),g.value&&u.value?(t.openBlock(),t.createBlock(Tw,{key:2,config:e.config,plugin:u.value,onClosed:k,onProceed:b[1]||(b[1]=Y=>k(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9703ee67"]]),xi=310,kr=tt(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}}=Oe.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=Oe.usePluginHelpers(),d=t.ref(xi),p=t.ref(null),g=t.ref(null),u=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),A=t.ref(!1),k=()=>{d.value=Math.max(s(g.value),xi),T()},T=()=>{var f,C;(f=g.value)!=null&&f.length&&(A.value=l(p.value,(C=g.value)==null?void 0:C.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=Math.max(s(g.value),xi),T(),window==null||window.addEventListener("resize",k)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",k)}),(f,C)=>{const O=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(O,{modelValue:i.value,"onUpdate:modelValue":C[0]||(C[0]=V=>i.value=V),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(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,V=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${V.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:V,onPluginClicked:y=>o("plugin-clicked",V)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[A.value?void 0:{name:"trigger",fn:t.withCtx(()=>[C[1]||(C[1]=t.createTextVNode("   "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),Pw={class:"plugin-select-grid"},Dw={class:"empty-state-title"},Uw={class:"empty-state-description"},Ni=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}}=Oe.useI18n(),r=t.ref(!1),s=t.ref(_i),l=p=>{a("plugin-clicked",p)},d=t.computed(()=>{const p=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete p[M.CUSTOM_PLUGINS],p});return(p,g)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",Pw,[Object.keys(d.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Dw,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Uw,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(kr,{key:1,modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=A=>r.value=A),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:g[1]||(g[1]=A=>l(A))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Wi),A=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[A]?(t.openBlock(),t.createElementBlock("div",{key:A},[t.createVNode(kr,{modelValue:s.value[A],"onUpdate:modelValue":k=>s.value[A]=k,config:e.config,name:A,"navigate-on-click":e.navigateOnClick,plugins:d.value[A]||[],onPluginClicked:g[2]||(g[2]=k=>l(k))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Gw={class:"kong-ui-entities-plugin-select-form"},Lw={class:"plugins-filter-input-container"},jw={key:0},Yw={key:3,"aria-live":"polite",class:"plugins-results-container"},Hw={"data-testid":"kong-tab"},Fw={class:"tab-description"},Kw={"data-testid":"custom-tab"},zw={class:"tab-description"},qw=tt(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 j;const i=e,a=n,o=Zt.useRoute(),r=Zt.useRouter(),{i18n:{t:s}}=Oe.useI18n(),{pluginMetaData:l}=Oe.usePluginMetaData(),{getMessageFromError:d}=L.useErrors(),{sortAlpha:p,objectsAreEqual:g}=L.useHelpers(),u=t.ref(""),A=t.ref(!0),k=t.ref(!1),T=t.ref(""),f=t.ref([]),C=t.ref([]),O=t.ref({}),V=t.ref([]),{axiosInstance:y}=L.useAxios((j=i.config)==null?void 0:j.axiosRequestConfig),m=t.computed(()=>O.value?Object.entries(O.value).filter(([w])=>w!==M.CUSTOM_PLUGINS).reduce((w,[,B])=>{for(const D of B)w[D.id]=D;return w},{}):{}),E=t.computed(()=>{var D;if(!O.value)return{};const w=u.value.toLowerCase(),B=JSON.parse(JSON.stringify(O.value));for(const W in O.value){const Q=((D=O.value[W])==null?void 0:D.filter(re=>re.name.toLowerCase().includes(w)||re.id.toLowerCase().includes(w)||re.group.toLowerCase().includes(w)))||[];Q.length?B[W]=Q:delete B[W]}return B}),b=t.computed(()=>i.highlightedPluginIds.reduce((w,B)=>{const D=m.value[B];return D&&w.push(D),w},[])),v=t.computed(()=>Object.keys(E.value).length>0),I=t.computed(()=>Object.keys(O.value).length>0&&!v.value),Y=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)}]:[]),S=t.computed(()=>{var B;let w=Y.value.length&&((o==null?void 0:o.hash)||((B=Y.value[0])==null?void 0:B.hash))||"";return w==="#custom"&&["none","disabled"].includes(i.customPluginSupport)&&(w="#kong"),w}),x=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...f.value])].filter(w=>!i.ignoredPlugins.includes(w)).filter(w=>i.config.entityType&&(i.config.entityType==="services"&&l[w]&&!l[w].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[w]&&!l[w].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[w]&&!l[w].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[w]&&!l[w].scope.includes(c.CONSUMER))?!1:w).reduce((w,B)=>{var ne;const D=l[B]&&l[B].name||B,W={...l[B],id:B,name:D,available:f.value.includes(B),disabledMessage:"",group:((ne=l[B])==null?void 0:ne.group)||M.CUSTOM_PLUGINS};W.group===M.CUSTOM_PLUGINS&&(W.customPluginType=C.value.find(te=>te.name===B)?"streaming":"schema"),i.disabledPlugins&&(W.disabledMessage=i.disabledPlugins[B]);const Q=W.group||s("plugins.select.misc_plugins");let re=w[Q];return re||(re=[]),re.push(W),re.sort(p("name")),w[Q]=re,w},{}),J=t.computed(()=>{var B;let w=`${i.config.apiBaseUrl}${ve.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(w=((B=i.config.gatewayInfo)==null?void 0:B.edition)==="community"?`${i.config.apiBaseUrl}${ve.select[i.config.app].availablePluginsForOss}`:w.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),w}),X=t.computed(()=>{if(i.config.app==="konnect"&&i.customPluginSupport==="streaming"){let w=`${i.config.apiBaseUrl}${ve.select[i.config.app].streamingCustomPlugins}`;return w=w.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),w}return null}),F=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let w=`${i.config.apiBaseUrl}${ve.list[i.config.app].forEntity}`;return i.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(w=w.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),w.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),ae=w=>{r.replace({hash:w,query:o.query})};t.watch(()=>i.disabledPlugins,(w,B)=>{!g(w,B)&&!A.value&&(O.value=x())}),t.watch(()=>i.ignoredPlugins,(w,B)=>{!g(w,B)&&!A.value&&(O.value=x())}),t.watch(A,w=>{a("loading",w)});const z=t.ref(!1),G=t.ref(!1),$=t.ref(!1);return t.onBeforeMount(async()=>{z.value=await i.canCreateCustomPlugin(),G.value=await i.canEditCustomPlugin(),$.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:w}=await y.get(J.value);if(i.config.app==="konnect"){const{names:B}=w;if(f.value=B||[],X.value){const{data:D}=await y.get(X.value);C.value=D.data||[]}}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:B}}=w;f.value=B?Object.keys(B):[]}}catch(w){k.value=!0,T.value=d(w)}if(F.value)try{const{data:{data:w}}=await y.get(F.value);if(w!=null&&w.length){const B=w.reduce((D,W)=>(W.name&&D.push(W.name),D),[]);V.value=V.value.concat(B)}}catch{}k.value||(O.value=x()),A.value=!1}),(w,B)=>{const D=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),Q=t.resolveComponent("KSkeleton"),re=t.resolveComponent("KEmptyState"),ne=t.resolveComponent("KTooltip"),te=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Gw,[t.createElementVNode("div",Lw,[t.createVNode(D,{modelValue:u.value,"onUpdate:modelValue":B[0]||(B[0]=q=>u.value=q),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),A.value?(t.openBlock(),t.createElementBlock("section",jw,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Q,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):k.value?(t.openBlock(),t.createBlock(re,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(T.value),1)]),_:1})):I.value&&u.value?(t.openBlock(),t.createBlock(re,{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:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",Yw,[Y.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(te,{key:0,modelValue:S.value,"onUpdate:modelValue":B[5]||(B[5]=q=>S.value=q),"data-testid":"plugins-tabs",tabs:Y.value,onChange:ae},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",Hw,[t.createElementVNode("p",Fw,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(Ni,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":b.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:B[1]||(B[1]=q=>w.$emit("plugin-clicked",q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",Kw,[t.createElementVNode("p",zw,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Vw,{"can-create-custom-plugin":z.value,"can-delete-custom-plugin":$.value,"can-edit-custom-plugin":G.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,"onDelete:success":B[2]||(B[2]=q=>w.$emit("delete-custom:success",q)),onPluginClicked:B[3]||(B[3]=q=>w.$emit("plugin-clicked",q)),onRevalidate:B[4]||(B[4]=()=>O.value=x())},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(ne,{"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(Ni,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":b.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:B[6]||(B[6]=q=>w.$emit("plugin-clicked",q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-429bc3e0"]]),Qw={class:"kong-ui-entity-plugin-config-card"},Jw={class:"name-cell-wrapper"},Xw={class:"info-name"},Zw={key:0},Ww={key:0},_w={key:0},$w={key:0},eC={key:0},Vi="config",tC=tt(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:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var V;const i=n,a=e,{i18n:{t:o}}=Oe.useI18n(),r=Oe.usePluginMetaData(),{setFieldType:s}=Oe.usePluginHelpers(),{getPropValue:l}=L.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).concat(a.expandPartial?"?expand_partials=true":"")}),p=t.computed(()=>{var E,b;const y={},m=((E=f.value)==null?void 0:E.fields)||[];for(let v=0;v<m.length;v++){const I=f.value.fields[v],Y=(b=Object.keys(I))==null?void 0:b[0];s(y,Y,I[Y])}return{...y,instance_name:{section:L.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:L.ConfigurationSchemaSection.Basic,order:6},route:{label:o("plugins.fields.route"),section:L.ConfigurationSchemaSection.Basic,order:6},service:{label:o("plugins.fields.service"),section:L.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:L.ConfigurationSchemaSection.Basic,order:6},protocols:{type:L.ConfigurationSchemaType.BadgeTag,section:L.ConfigurationSchemaSection.Basic,order:7}}}),g=t.computed(()=>{var m,E,b;if(!((m=f.value)!=null&&m.fields))return[];const y=(E=f.value.fields)==null?void 0:E.find(v=>{var Y;return((Y=Object.keys(v))==null?void 0:Y[0])===Vi});return((b=y==null?void 0:y[Vi])==null?void 0:b.fields)||[]}),u=t.computed(()=>{var m,E;const y={};if(!g.value)return y;for(let b=0;b<((m=g.value)==null?void 0:m.length);b++){const v=g.value[b],I=(E=Object.keys(v))==null?void 0:E[0],Y=v[I];Y.required&&(y[I]={order:1}),s(y,I,Y)}return y}),{getMessageFromError:A}=L.useErrors(),{axiosInstance:k}=L.useAxios((V=a.config)==null?void 0:V.axiosRequestConfig),T=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}),f=t.ref({});L.useSchemaProvider(f);const C=t.ref(!1),O=t.ref("");return t.onBeforeMount(async()=>{C.value=!0;try{const{data:y}=await k.get(T.value);f.value=y}catch(y){O.value=A(y),i("error:fetch-schema",y)}finally{C.value=!1}}),(y,m)=>{const E=t.resolveComponent("KSkeleton"),b=t.resolveComponent("KEmptyState"),v=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Qw,[C.value?(t.openBlock(),t.createBlock(E,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):O.value?(t.openBlock(),t.createBlock(b,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(O.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(L.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"entity-type":t.unref(L.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":Vi,"plugin-config-schema":u.value,"onFetch:error":m[0]||(m[0]=I=>y.$emit("fetch:error",I)),"onFetch:success":m[1]||(m[1]=I=>y.$emit("fetch:success",I)),onLoading:m[2]||(m[2]=I=>y.$emit("loading",I))},{name:t.withCtx(I=>[t.createElementVNode("div",Jw,[t.createVNode(qn,{class:"plugin-icon",name:t.unref(l)("rowValue",I),size:24},null,8,["name"]),t.createElementVNode("span",Xw,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",I))),1)])]),consumer:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",Zw,"–"))]),route:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",Ww,"–"))]),service:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",_w,"–"))]),consumer_group:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",$w,"–"))]),partials:t.withCtx(I=>{var Y,S,x,J,X,F,ae,z,G;return[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:(S=(Y=t.unref(l)("rowValue",I))==null?void 0:Y[0])==null?void 0:S.id,value:((J=(x=t.unref(l)("rowValue",I))==null?void 0:x[0])==null?void 0:J.id)+((F=(X=t.unref(l)("rowValue",I))==null?void 0:X[0])!=null&&F.name?"/"+((z=(ae=t.unref(l)("rowValue",I))==null?void 0:ae[0])==null?void 0:z.name):""),type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var $,j;return y.$emit("navigation-click",(j=($=t.unref(l)("rowValue",I))==null?void 0:$[0])==null?void 0:j.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"partial-copy-uuid",text:(G=t.unref(l)("rowValue",I))==null?void 0:G[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",eC,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-4bc6daa7"]]),{usePluginMetaData:nC}=Oe;_.EntityTypeIdField=Et,_.PLUGIN_GROUPS_COLLAPSE_STATUS=_i,_.PluginConfigCard=tC,_.PluginForm=rE,_.PluginGroup=M,_.PluginGroupArray=Wi,_.PluginIcon=qn,_.PluginList=Ew,_.PluginPartialType=kn,_.PluginScope=c,_.PluginSelect=qw,_.PluginSelectCard=Ti,_.PluginSelectGrid=Ni,_.VueFormGenerator=Te,_.getPluginIconURL=oa,_.pluginEndpoints=ve,_.usePluginMetaData=nC,Object.defineProperty(_,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(S=>`config-${S}`)]),o=S=>S===void 0?!1:a.has(S),{t:r}=De.createI18n("en-us",$e),s=e,l=t.computed(()=>{var S,x,J;const X=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(F=>F.type==="selectionGroup"&&F.model==="selectionGroup");return{fields:[(J=s.formSchema)==null?void 0:J.fields.find(F=>F.model==="enabled"),X].filter(Boolean)}}),d=t.computed(()=>{var S,x;const J=((x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.filter(G=>!o(G.model)))??[],X=[],F=[],ae=[];let z=!1;for(const G of J){const $=G.model;if($!==void 0){if($.startsWith("config-redis-")){(G.model==="config-redis-cluster_addresses"||G.model==="config-redis-sentinel_addresses")&&(G.inputAttributes.help=r("rla.redis.address_example")),F.push(G);continue}z?ae.push(G):X.push(G),G.model==="config-strategy"&&(z=!0)}}return{endsWithStrategy:{fields:X},redis:s.enableRedisPartial?{fields:[{fields:F,id:"_redis",model:"__redis_partial",redisType:s.formSchema._supported_redis_partial_type}]}:{fields:F},afterStrategy:{fields:ae}}}),p=t.computed(()=>{const S=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,S)?i[S]:[]}),g=t.computed(()=>{var S,x;return(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(J=>J.model==="config-identifier")}),u=t.computed(()=>{var S,x,J;return(((J=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(X=>X.model==="config-identifier"))==null?void 0:J.values)??[]).map(X=>({label:r(`rla.identifiers.options.${X}`),value:X}))}),A=t.ref(),k=t.ref(!0),T=t.computed(()=>{var S,x,J;return s.formModel["config-window_type"]??((J=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(X=>X.model==="config-window_type"))==null?void 0:J.default)}),f=t.computed(()=>{var S,x,J,X,F,ae;const z=(J=(x=(S=s.formSchema)==null?void 0:S.fields)==null?void 0:x.find(G=>G.model==="config-window_type"))==null?void 0:J.default;return(((ae=(F=(X=s.formSchema)==null?void 0:X.fields)==null?void 0:F.find(G=>G.model==="config-window_type"))==null?void 0:ae.values)??[]).sort((G,$)=>G===z?-1:$===z?1:0)}),C=t.computed(()=>{var S;const x=(S=s.formModel["config-limit"])==null?void 0:S.map((J,X)=>{var F,ae;return{limit:J,windowSize:(ae=(F=s.formModel)==null?void 0:F["config-window_size"])==null?void 0:ae[X]}});return!Array.isArray(x)||x.length===0?[{limit:void 0,windowSize:void 0}]:x}),O=t.computed(()=>{var S,x,J,X;return((S=s.formModel)==null?void 0:S["config-identifier"])??((X=(J=(x=s.formSchema)==null?void 0:x.fields)==null?void 0:J.find(F=>F.model==="config-identifier"))==null?void 0:X.default)}),V=t.computed(()=>{var S,x,J,X;return((S=s.formModel)==null?void 0:S["config-error_code"])??((X=(J=(x=s.formSchema)==null?void 0:x.fields)==null?void 0:J.find(F=>F.model==="config-error_code"))==null?void 0:X.default)}),y=t.computed(()=>{var S,x,J,X;return((S=s.formModel)==null?void 0:S["config-error_message"])??((X=(J=(x=s.formSchema)==null?void 0:x.fields)==null?void 0:J.find(F=>F.model==="config-error_message"))==null?void 0:X.default)}),m=(S,x)=>{if(x===A.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{A.value=void 0});return}s.onModelUpdated([S.config.limit],"config-limit"),s.onModelUpdated([S.config.window_size],"config-window_size"),t.nextTick(()=>{A.value=x})},E=S=>{A.value!==void 0&&(A.value=void 0),S!==null&&s.onModelUpdated(S.toString(),"config-window_type")},b=(S,x)=>{var J;A.value!==void 0&&(A.value=void 0);const X=rt(((J=s.formModel)==null?void 0:J["config-limit"])??[]);X[S]=x,s.onModelUpdated(X,"config-limit")},v=(S,x)=>{var J;A.value!==void 0&&(A.value=void 0);const X=rt(((J=s.formModel)==null?void 0:J["config-window_size"])??[]);X[S]=x,s.onModelUpdated(X,"config-window_size")},I=S=>{var x,J;A.value!==void 0&&(A.value=void 0);const X=rt(((x=s.formModel)==null?void 0:x["config-limit"])??[]),F=rt(((J=s.formModel)==null?void 0:J["config-window_size"])??[]);X.length===0&&X.push(void 0),F.length===0&&F.push(void 0),X.splice(S+1,0,void 0),F.splice(S+1,0,void 0),s.onModelUpdated(X,"config-limit"),s.onModelUpdated(F,"config-window_size")},Y=S=>{var x,J;if(C.value.length>1){A.value!==void 0&&(A.value=void 0);const X=rt(((x=s.formModel)==null?void 0:x["config-limit"])??[]),F=rt(((J=s.formModel)==null?void 0:J["config-window_size"])??[]);X.length===0&&X.push(void 0),F.length===0&&F.push(void 0),X.splice(S,1),F.splice(S,1),s.onModelUpdated(X,"config-limit"),s.onModelUpdated(F,"config-window_size")}};return t.watch(()=>s.formModel["config-strategy"],S=>{S!=="redis"&&s.formModel.partials&&s.onModelUpdated(void 0,"partials")}),(S,x)=>{const J=t.resolveComponent("KLabel"),X=t.resolveComponent("KRadio"),F=t.resolveComponent("KInput"),ae=t.resolveComponent("KButton"),z=t.resolveComponent("KBadge"),G=t.resolveComponent("KTooltip"),$=t.resolveComponent("KCard"),j=t.resolveComponent("KSelect"),w=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",yh,[t.createVNode(Te,{model:S.formModel,options:S.formOptions,schema:l.value,onModelUpdated:x[0]||(x[0]=(B,D)=>S.onModelUpdated(B,D))},null,8,["model","options","schema"]),t.createVNode($,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(J,{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",bh,t.toDisplayString(t.unref(r)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Eh,[t.createElementVNode("div",wh,[t.createVNode(J,{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,Ch)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",Bh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,B=>(t.openBlock(),t.createBlock(X,{key:`window-type-${B}`,"model-value":T.value,name:B,"selected-value":B,"onUpdate:modelValue":E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`rla.window_type.options.${B}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",kh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(C.value,(B,D)=>(t.openBlock(),t.createElementBlock("div",{key:D.toString()},[t.createVNode(J,{for:`rla-form-request-limits-item-${D}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.label_index",{index:D+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",Ih,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${D}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(F,{"model-value":B.limit&&B.limit.toString(),placeholder:t.unref(r)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":W=>b(D,Number.parseInt(W))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.interval_determiner")),1),t.createVNode(F,{"model-value":B.windowSize&&B.windowSize.toString(),placeholder:t.unref(r)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":W=>v(D,Number.parseInt(W))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.seconds")),1)],8,Oh),t.createElementVNode("div",vh,[t.createVNode(ae,{appearance:"tertiary",disabled:C.value.length<=1,onClick:()=>Y(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(ae,{appearance:"tertiary",onClick:()=>I(D)},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",Mh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Rh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(B,D)=>(t.openBlock(),t.createBlock(G,{key:`use-case-${D}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(B.description),1),x[10]||(x[10]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.label"))+": "+t.toDisplayString(B.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.time_interval"))+": "+t.toDisplayString(B.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(z,{appearance:A.value===`${T.value}-${D}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>m(B,`${T.value}-${D}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(B.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(j,{modelValue:O.value,"onUpdate:modelValue":x[1]||(x[1]=B=>O.value=B),class:"rla-form-identifiers",items:u.value,label:t.unref(r)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:x[2]||(x[2]=B=>s.onModelUpdated(B.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:g.value&&g.value.help},null,8,Th)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(J,{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",Sh,[t.createVNode(F,{class:"input-error-code","model-value":V.value&&V.value.toString(),placeholder:t.unref(r)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":x[3]||(x[3]=B=>S.onModelUpdated(Number.parseInt(B),"config-error_code"))},null,8,["model-value","placeholder"]),x[11]||(x[11]=t.createElementVNode("div",null,":",-1)),t.createVNode(F,{"model-value":y.value,placeholder:t.unref(r)("rla.error_message.message_placeholder"),"onUpdate:modelValue":x[4]||(x[4]=B=>S.onModelUpdated(B,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(w,{modelValue:k.value,"onUpdate:modelValue":x[9]||(x[9]=B=>k.value=B),"trigger-label":t.unref(r)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(Te,{model:S.formModel,options:S.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:x[5]||(x[5]=(B,D)=>S.onModelUpdated(B,D))},null,8,["model","options","schema"]),S.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(S.enableRedisPartial?"div":"KCard"),{key:0,class:"rla-form-redis-card",title:t.unref(r)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(Te,{"enable-redis-partial":S.enableRedisPartial,"is-editing":S.isEditing,model:S.formModel,options:S.formOptions,schema:d.value.redis,onModelUpdated:x[6]||(x[6]=(B,D)=>S.onModelUpdated(B,D)),onPartialToggled:S.onPartialToggled,onShowNewPartialModal:x[7]||(x[7]=()=>S.showNewPartialModal(S.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","model","options","schema","onPartialToggled"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(Te,{class:t.normalizeClass({"rla-last-vfg":S.formModel["config-strategy"]!=="redis"}),model:S.formModel,options:S.formOptions,schema:d.value.afterStrategy,onModelUpdated:x[8]||(x[8]=(B,D)=>S.onModelUpdated(B,D))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),Nh=me(xh,[["__scopeId","data-v-f6dcb65c"]]),Vh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:hh,ExitTransformer:sh,OIDCForm:ih,PostFunction:oh,RLAForm:Nh},Symbol.toStringTag,{value:"Module"})),bi=["array","metric","advanced","selectionGroup","object-advanced"],jo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Kt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Ph={"config-prompts-prepend":{...Kt,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":{...Kt,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"}]}}}},Dh={"config-templates":{...Kt,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"}]}}}},Uh={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)}},Gh={"config-llm_providers":{...Kt,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"}]}}}},Lh={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:Gt.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"}},Ee={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"},Gn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},jh={"config-metrics":{...Gn,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"}]}}}},Yh={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Hh={"config-injection_types":{type:"multiselect"},"config-locations":{type:"multiselect"}},Fh={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10,max:!1}},Kh={"config-api_spec":{label:"Config.API Spec",placeholder:"Enter an API spec",type:"textArea",rows:15,max:!1}},zh={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Yo=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Gt.fields.arrayItems({newElementButtonLabel:"Add"})}),zh),Ln={"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"}},qh={"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":{}},Qh=["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]:Gt.fields.arrayItems({newElementButtonLabel:"Add"})}),qh),Ho={"config-add-json":{...Ee,label:"Config.Add.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-append-json":{...Ee,label:"Config.Append.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-remove-json":{...Ee,label:"Config.Remove.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-rename-json":{...Ee,label:"Config.Rename.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-replace-json":{...Ee,label:"Config.Replace.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},Jh={...Ho,"config-allow-json":{...Ee,label:"Config.Allow.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-replace-body":{label:"Config.Replace.Body",type:"textArea",max:!1},"config-transform-functions":{...Ee,label:"Config.Transform.Functions",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}},"config-transform-json":{...Ee,label:"Config.Transform.Json",inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},Xh={"config-rules":{...Kt,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"}]}}}},Zh={"config-session_redis_cluster_nodes":{...Kt,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"}]}}}},Wh={"config-metrics":{...Gn,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"]}]}}}},_h={"config-metrics":{...Gn,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"]}]}}}},$h={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},ey={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},ty={"config-message_by_lua_functions":{...Ee,inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},ny={"config-message_by_lua_functions":{...Ee,inputAttributes:{...Ee.inputAttributes,type:"textarea",max:!1}}},iy={"config-static_tags":{...Gn,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"}]}}}},ay=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},Fo=(e,n)=>(e.order??0)-(n.order??0),Ko=(e,n)=>ay(e,n)||Fo(e,n)||e.model.localeCompare(n.model),Oe={useI18n:Bn,usePluginMetaData:ic,usePluginHelpers:Zi,useSchemas:e=>{const{capitalize:n}=L.useStringHelpers(),{convertToDotNotation:i}=Zi(),{i18n:{t:a}}=Bn(),o={"application-registration":{overwriteDefault:!0,formSchema:{...Lh}},datadog:{...jh},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...Wh},"statsd-advanced":{..._h},"route-by-header":{...Xh},"ai-prompt-decorator":{...Ph},"ai-prompt-template":{...Dh},"ai-proxy-advanced":{...Uh},"ai-rate-limiting-advanced":{...Gh},"vault-auth":{...ey},"oas-validation":{...Kh},mocking:{...Fh},"rate-limiting":{...Ln},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Ln["config-consumer_groups"]}:{...Ln},"graphql-rate-limiting-advanced":{...Yh},"injection-protection":{...Hh},"response-ratelimiting":{...Ln},"pre-function":{...Yo},"post-function":{...Yo},"request-transformer-advanced":{...Qh},"response-transformer":{...Ho},"response-transformer-advanced":{...Jh},zipkin:{...iy},"upstream-oauth":{...$h},saml:{...Zh},"kafka-upstream":{...ty},confluent:{...ny}},r=()=>["created_at","updated_at","id","_isCustomPlugin","_supported_redis_partial_type","_redis_partial_path"],s=(m,E,b)=>{let v={};(E||m)&&(v=E||(m.fields?m.fields:m));const I=r().concat(m.blacklist?m.blacklist:[]),Y=Object.keys(v).filter(G=>!I.includes(G)),S=Y.indexOf("comparator");S>-1&&Y.splice(S,1);let x={fields:[]};const J={};Y.forEach(G=>{d(v[G],G,v,J,x,b)});const X=J.name,F=_e[X],ae=[],z=G=>{const $=["cluster-cache"];for(const j of $)if(G.model.includes(j))return!1;return new RegExp("(?<=-redis-).*").test(G.model)};if(x._supported_redis_partial_type=m._supported_redis_partial_type,x._redis_partial_path=m._redis_partial_path,jo(X)||F!=null&&F.useLegacyForm||e!=null&&e.credential){if(F!=null&&F.useLegacyForm&&(e!=null&&e.enableRedisPartial)&&m._supported_redis_partial_type){for(const G of x.fields)if(z(G)){ae.push(G);continue}x.fields=x.fields.filter(G=>!z(G)),ae.length&&x.fields.push({id:"_redis",fields:ae,model:"__redis_partial",pluginType:m._isCustomPlugin?"custom":"bundled",redisType:m._supported_redis_partial_type,redisPath:m._redis_partial_path})}x.fields.sort((G,$)=>(G.order=G.order||0,$.order=$.order||0,G.order-$.order))}else{const G=[],$=[],j=[],w=[],B={};if(F!=null&&F.fieldRules){const Q=[...F.fieldRules.atLeastOneOf??[],...F.fieldRules.onlyOneOf??[],...F.fieldRules.mutuallyRequired??[]];if(F.fieldRules.onlyOneOfMutuallyRequired)for(const re of F.fieldRules.onlyOneOfMutuallyRequired)Q.push(...re);for(const re of Q)for(const ne of re)B[ne.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const Q of x.fields){if(e!=null&&e.enableRedisPartial&&m._supported_redis_partial_type&&z(Q)){w.push(Q);continue}if(Q.pinned){G.push(Q);continue}if(Q.required||B[Q.model]!==void 0){B[Q.model]===!1&&(B[Q.model]=!0),$.push(Q);continue}j.push(Q)}w.length&&j.push({id:"_redis",fields:w,model:"__redis_partial",pluginType:m._isCustomPlugin?"custom":"bundled",redisType:m._supported_redis_partial_type,redisPath:m._redis_partial_path,order:-1});const D=Object.entries(B).filter(([,Q])=>!Q).map(([Q])=>Q.replace(/-/g,".").replace(/_/g,"-"));D.length>0&&console.warn(`Unknown checked fields for plugin ${X}: ${D.join(", ")}`);const W=[];G.length>0&&W.push({fields:G.sort(Fo)}),($.length>0||j.length>0)&&W.push({fields:$.sort(Ko),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:j.sort(Ko),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"}}),x={groups:W}}return{schema:x,model:J,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,b,v,I,Y)=>{const S=l(m);return v[E]=S?m.default:null,m.id=E,m.model=E,m.fields&&m.type==="record"?g(m,E,b,v,I,Y):(b[E]=m,y(m,v),Y&&Y[E]&&p(b[E],Y[E]),I.fields.push(m)),b},p=(m,E)=>(E&&(Object.assign(m,E),E.label&&(m.label=E.label)),m),g=(m,E,b,v,I,Y)=>{m.fields.forEach(S=>{Object.keys(S).forEach(x=>{const J=S[x];b=d(J,E+"-"+x,b,v,I,Y)})})},u=(m,E)=>{m.type="input",m.inputType="hidden",m.styleClasses="kong-form-hidden-field-wrapper";const b=e==null?void 0:e.entityId;E[m.model]=b?{id:b}:null},A=m=>{m.type="input",m.inputType="number",m.between&&m.between.length===2&&(m.min=m.between[0],m.max=m.between[1])},k=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")},T=m=>{m.type="checkbox",m.default=!0,m.required=!1},f=m=>{if(m.type="object-advanced",m.values.type==="array"){const{type:E}=m.values.elements||{};m.schema={fields:[{schema:{fields:[{...Ee,model:m.model,valueArrayType:E==="integer"?"number":E||"string",inputAttributes:{...Ee.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 b=Object.keys(E)[0];return{model:b,type:"input",label:n(b),placeholder:b,inputType:E[b].type}})}}]})},C=m=>m.fields.reduce((E,b)=>(b.fields&&b.fields.forEach(v=>{E[v.model]=v}),b.model&&(E[b.model]=b),E),{}),O=(m,E)=>{if(!bi.includes(m.model))return;const b=C(m);bi.forEach(v=>{Object.keys(b).forEach(I=>{const Y=l(b[I]);E[I]=Y?b[I].default:null}),delete E[v]})},V=(m,E)=>m.inputType==="hidden"?"":i(n(m.label||E.replace(/_/g," "))),y=(m,E)=>{switch(O(m,E),m.type){case"foreign":u(m,E);break;case"number":A(m),m.attributes={step:"any"};break;case"integer":A(m);break;case"string":k(m);break;case"boolean":T(m);break;case"map":f(m);break}m.inputType==="foreign"&&u(m,E),m.label=V(m,m.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:o,typedefs:Gt}}},xe="/v2/control-planes/{controlPlaneId}/core-entities",Ne="/{workspace}",ve={list:{konnect:{all:`${xe}/plugins`,forEntity:`${xe}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ne}/plugins`,forEntity:`${Ne}/{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:`${Ne}/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:`${Ne}/plugins`,forEntity:`${Ne}/{entityType}/{entityId}/plugins`},edit:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ne}/schemas/plugins/{plugin}`,credential:{create:`${Ne}/{resourceEndpoint}`,edit:`${Ne}/{resourceEndpoint}/{id}`},credentialSchema:`${Ne}/schemas/{plugin}`,validate:`${Ne}/schemas/plugins/validate`,entityGetOne:`${Ne}/{entity}/{id}`,entityGetAll:`${Ne}/{entity}`}},item:{konnect:{all:`${xe}/plugins/{id}`,forEntity:`${xe}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`}}},oy={create:"New vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},ry={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},sy={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},ly={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"}}},cy={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"}},dy={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},py={vault_type:"Vault Type"},uy={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."},gy={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"}},Ay={actions:oy,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:ry,search:sy,vaults:ly,secrets:cy,copy:dy,labels:py,form:uy,vault_secret_picker:gy};function my(){const e=De.createI18n("en-us",Ay);return{i18n:e,i18nT:De.i18nTComponent(e)}}const zo={useI18n:my},Ei="/v2/control-planes/{controlPlaneId}/core-entities",qo="/v2/control-planes/{controlPlaneId}/config-stores",wi="/{workspace}",Qo={list:{konnect:{getAll:`${Ei}/vaults`,deleteConfigStore:`${qo}/{id}?force=true`},kongManager:{getAll:`${wi}/vaults`}},form:{konnect:{create:`${Ei}/vaults`,createConfigStore:qo,edit:`${Ei}/vaults/{id}`},kongManager:{create:`${wi}/vaults`,edit:`${wi}/vaults/{id}`}}},Jo=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},jn="/v2/control-planes/{controlPlaneId}",Xo={getVault:{konnect:`${jn}/core-entities/vaults/{id}`},list:{konnect:`${jn}/config-stores/{id}/secrets`},form:{konnect:{create:`${jn}/config-stores/{id}/secrets`,edit:`${jn}/config-stores/{id}/secrets/{secretId}`}}},fy={class:"vault-secret-picker-provider"},hy=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}=zo.useI18n();return(s,l)=>(t.openBlock(),t.createElementBlock("div",fy,[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})]))}}),Zo=Jo(hy,[["__scopeId","data-v-66a1e406"]]),yy=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("/")}},by=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}}`},Ey={key:1,class:"inputs-wrapper"},wy={"data-testid":"no-search-results"},Cy={class:"k-select-selected-item-label"},By={class:"vault-secret-picker-vault-dropdown-item"},ky={class:"select-item-label"},Iy={class:"select-item-description"},Oy={class:"select-item-description"},vy={"data-testid":"no-search-results"},My=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}}=zo.useI18n(),o=e,r=n,{axiosInstance:s}=L.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(""),g=t.ref(""),u=t.ref(),A=t.computed(()=>{var z,G;return o.config.app==="konnect"?Xo.list[o.config.app].replace(/{id}/gi,((G=(z=u.value)==null?void 0:z.config)==null?void 0:G.config_store_id)??""):"<not_applicable>"}),k=t.computed(()=>{if(C&&E)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(C)return a("vault_secret_picker.fetch_error.vaults");if(E)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:T,loading:f,error:C,loadItems:O,results:V}=L.useDebouncedFilter(o.config,Qo.list[o.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:y,loading:m,error:E,loadItems:b,results:v}=L.useDebouncedFilter(o.config,A,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),I=t.computed(()=>{var z;let G=!1;const $=((z=V.value)==null?void 0:z.map(j=>(j.prefix===d.value&&(G=!0),{label:j.prefix,value:j.prefix,vault:j})))??[];return!G&&u.value&&$.push({label:u.value.prefix,value:u.value.prefix,vault:u.value}),$}),Y=t.computed(()=>{var z;let G=!1;const $=((z=v.value)==null?void 0:z.map(j=>(j.key===p.value&&(G=!0),{label:j.key,value:j.key})))??[];return!G&&p.value&&$.push({label:p.value,value:p.value}),$}),S=t.computed(()=>{var z;return((z=u==null?void 0:u.value)==null?void 0:z.name)==="konnect"}),x=t.computed(()=>!!u.value&&!!p.value),J=z=>z.label?`${z.label} - (${z.vault.name} - ${z.vault.id})`:z.value,X=z=>{var G,$;let j=`${o.config.apiBaseUrl}${Qo.form[o.config.app].edit}`;return o.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,((G=o.config)==null?void 0:G.controlPlaneId)||""):o.config.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,($=o.config)!=null&&$.workspace?`/${o.config.workspace}`:"")),j.replace(/{id}/gi,z)},F=(z,G)=>{var $;return o.config.app!=="konnect"?"<not_applicable>":`${o.config.apiBaseUrl}${Xo.form[o.config.app].edit}`.replace(/{controlPlaneId}/gi,(($=o.config)==null?void 0:$.controlPlaneId)||"").replace(/{id}/gi,G).replace(/{secretId}/gi,z)},ae=()=>{r("proceed",by({vaultPrefix:d.value,secretId:p.value||void 0,optionalSecretKey:g.value||void 0}))};return t.watch(()=>o.setup,async z=>{if(z!==!1){if(l.value=!0,d.value="",u.value=void 0,p.value="",g.value="",typeof z=="string"&&z.trim().length>0)try{let G,$="",j="",w="";const B=yy(z),{data:D}=await s.get(X(B.vaultPrefix));if(D!=null&&D.name)if(G=D,$=B.vaultPrefix,G.name==="konnect"){if(B.secretId){const{data:W}=await s.get(F(B.secretId,D.config.config_store_id));W.key===B.secretId&&(j=B.secretId,w=B.optionalSecretKey??"")}}else j=B.secretId??"",w=B.optionalSecretKey??"";await t.nextTick(()=>{d.value=$,u.value=G,p.value=j,g.value=w})}catch(G){console.debug(G)}l.value=!1,await O()}},{immediate:!0}),t.watch(d,async(z,G)=>{var $;l.value||z===G||(u.value=($=I.value.find(j=>j.value===z))==null?void 0:$.vault,p.value="",g.value="")}),t.watch(A,async()=>{S.value&&await b()},{immediate:!0}),(z,G)=>{const $=t.resolveComponent("KEmptyState"),j=t.resolveComponent("KSelect"),w=t.resolveComponent("KInput"),B=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(B,{"action-button-disabled":!x.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:G[4]||(G[4]=()=>r("cancel")),onProceed:ae},{default:t.withCtx(()=>[t.unref(C)||t.unref(E)?(t.openBlock(),t.createBlock($,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:k.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",Ey,[t.createVNode(j,{modelValue:d.value,"onUpdate:modelValue":G[0]||(G[0]=D=>d.value=D),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:l.value,"enable-filtering":"","filter-function":()=>!0,items:I.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(f),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(T)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",wy,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:D})=>[t.createElementVNode("span",Cy,t.toDisplayString(J(D)),1)]),"item-template":t.withCtx(({item:D})=>[t.createElementVNode("div",By,[t.createElementVNode("span",ky,t.toDisplayString(D.label),1),t.createElementVNode("span",Iy,t.toDisplayString(D.vault.name),1),t.createElementVNode("span",Oy,t.toDisplayString(D.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),S.value?(t.openBlock(),t.createBlock(j,{key:0,modelValue:p.value,"onUpdate:modelValue":G[1]||(G[1]=D=>p.value=D),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:l.value||!u.value,"enable-filtering":"","filter-function":()=>!0,items:Y.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",vy,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(w,{key:1,modelValue:p.value,"onUpdate:modelValue":G[2]||(G[2]=D=>p.value=D),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:l.value||!u.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(w,{modelValue:g.value,"onUpdate:modelValue":G[3]||(G[3]=D=>g.value=D),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:l.value||!u.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"])}}}),Ry=Jo(My,[["__scopeId","data-v-df8552cc"]]),Ty={key:0},Sy=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=Oe.usePluginHelpers(),{i18n:{t:a}}=Oe.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,(g,u)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${u}`},t.toDisplayString(g),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Ty,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(g,u)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${u}`},[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(g,(A,k)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${u}-combination-${k}`},t.toDisplayString(o(A)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),tt=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},xy=tt(Sy,[["__scopeId","data-v-d8eb79cf"]]),Ny={class:"kong-ui-entities-plugin-form"},Vy={key:1,class:"entity-form"},Py={class:"plugin-config-empty-state"},Dy=t.defineComponent({components:{...Vh}}),Uy=t.defineComponent({...Dy,__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},enableRedisPartial:{type:Boolean,default:!1}},emits:["loading","model-updated","showNewPartialModal"],setup(e,{emit:n}){var G,$;const i=n,a=e,{axiosInstance:o}=L.useAxios((G=a.config)==null?void 0:G.axiosRequestConfig),{parseSchema:r}=Oe.useSchemas({entityId:(($=a.entityMap.focusedEntity)==null?void 0:$.id)||void 0,credential:a.credential,enableRedisPartial:a.enableRedisPartial}),{convertToDotNotation:s,unFlattenObject:l,dismissField:d,isObjectEmpty:p,unsetNullForeignKey:g}=Oe.usePluginHelpers(),{objectsAreEqual:u}=L.useHelpers(),{i18n:{t:A}}=Bn(),k=(j,w)=>{let B=`${a.config.apiBaseUrl}${ve.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?B=B.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(B=B.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),B=B.replace(/{entity}/gi,j),B=B.replace(/{id}/gi,w),B},T=j=>{let w=`${a.config.apiBaseUrl}${ve.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(w=w.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),w=w.replace(/{entity}/gi,j),w},f=(j,w)=>{const B=k(j,w);return o.get(B)},C=(j,w)=>{const B=T(j);return a.config.app==="konnect"?o.get(B).then(D=>{const{data:{data:W}}=D;if(delete w.size,delete w.offset,W.length&&Object.keys(w).length===1){const Q=Object.keys(w)[0],re=W.filter(ne=>ne[Q]?!!ne[Q].toLowerCase().includes(w[Q].toLowerCase()):!1);D.data.data=re}return D}):o.get(B,{params:w})};t.provide(gt,{getOne:f,getAll:C}),t.provide(va,a.config);const O=t.ref(""),V=t.ref(null),y=t.ref({}),m=t.reactive({}),E=t.reactive({}),b=t.computed(()=>{var j;return(j=V.value)==null?void 0:j.options}),v=t.ref(!1),I=t.ref(),Y=(j,w)=>{v.value=j??"",I.value=w},S=j=>{var w;(w=I.value)==null||w.call(I,j),v.value=!1},x=()=>{var Q,re;const j={...a.schema},w=E,B=m,D=Object.keys(w),W={};if(!p(y.value))for(let ne=0;ne<((re=(Q=y.value)==null?void 0:Q.fields)==null?void 0:re.length);ne++)j[y.value.fields[ne].model]=y.value.fields[ne];return bi.forEach(ne=>{j[ne]&&(j[ne].fields.forEach(te=>{te.fields&&te.fields.forEach(q=>{j[q.model]=q}),te.model&&(j[te.model]=te)}),delete j[ne])}),D.forEach(ne=>{var Dt;if(!j[ne]){ne==="partials"&&(W[ne]=w[ne]);return}const te=j[ne];let q=w[ne];const Ze=B[ne],He=Array.isArray(q)?"array":typeof q,We=te?te.valueType:null,Vt=te?te.valueArrayType:null,Pt=te?te.transform:null;if(q==null&&Ze==null&&!te.submitWhenNull)return;if(te){if(We&&He!==We)switch(We){case"array":He==="string"&&q.length&&(q=q.split(",").map(le=>{if(le=le.trim(),Vt==="string")return String(le);if(Vt==="number")return Number(le);if(Vt==="boolean"){if(typeof le=="string")return le.toLowerCase()==="true"||le==="1";if(typeof le=="number")return le===1}return le})),(!q||!q.length)&&(q=te.submitWhenNull?null:[]);break;case"number":q=Number(q);break;case"boolean":He==="string"&&(q=q.toLowerCase()==="true"||q==="1"),He==="number"&&(q=q===1);break;case"string":q=q==null?"":String(q);break}else We==="array"&&(!q||!q.length?q=te.submitWhenNull?null:[]:((Dt=te.inputAttributes)==null?void 0:Dt.type)==="number"&&(q=q.map(le=>Number(le))));if(te.type==="array"&&te.nestedFields){const le=U=>{Object.keys(U).forEach(Z=>{U[Z]&&typeof U[Z]=="object"&&!Array.isArray(U[Z])&&U[Z]!==null?le(U[Z]):(U[Z]===void 0||U[Z]===null||typeof U[Z]=="number"&&isNaN(U[Z])||typeof U[Z]=="string"&&U[Z].trim().length===0)&&delete U[Z]})};q&&typeof q=="object"&&le(q)}te.type==="object-advanced"&&te.fields&&q!==null&&(Object.entries(q).length===0?q=null:Object.keys(q).forEach(le=>{Array.isArray(q[le])||(q[le]=q[le].split(","))}))}let Ie=s(ne);if(te.fieldNameHasDashes){const[le,...U]=Ie.split(".").reverse();Ie=[le.replace(/_/g,"-"),...U].reverse().join(".")}if(We==="object-expand"){let le;[Ie,le]=Ie.split(".");let U={};W[Ie]&&(U=W[Ie]),U[le]=q,q=U}Ze!==void 0&&q===""&&q!==Ze?W[Ie]=We==="object"?{}:null:te.type==="checklist"&&q===""?W[Ie]=[]:q!==""&&(W[Ie]=q),W[Ie]=Pt?Pt(q):W[Ie],g(Ie,W)}),l(W)},J=(j,w={})=>{d(E,w,j,a.editing),i("model-updated",{model:E,originalModel:m,data:x()})},X=(j,w)=>{var W;const B={[w]:j};typeof((W=a.schema[w])==null?void 0:W.modelTransformer)=="function"&&(B[w]=a.schema[w].modelTransformer(j));const D=Object.assign({},E,B);Object.assign(E,D),i("model-updated",{model:E,originalModel:m,data:x()})},F=(j,w)=>{Object.keys(j).forEach(B=>{var ne,te;let D=w?`${w}-${B}`:B,W=a.schema[D];if(!W){const q=w?`${w}-${B.replace(/-/g,"_")}`:B.replace(/-/g,"_");(ne=a.schema[q])!=null&&ne.fieldNameHasDashes&&(D=q,W=a.schema[D]),w&&((te=a.schema[w])==null?void 0:te.keyFromObject)===B&&(D=w,W=a.schema[D])}const Q=j[B],re=typeof Q;if(W&&W.type==="object-advanced"&&!Q){E[D]={},m[D]={};return}if(Array.isArray(Q)){E[D]=JSON.parse(JSON.stringify(Q)),m[D]=JSON.parse(JSON.stringify(Q));return}if(re==="object"&&Q&&!Q.length)return F(Q,D);if(re==="object"&&Q&&Q.length&&W.type==="input"){E[D]=Q.join(", "),m[D]=Q.join(", ");return}E[D]=Q,m[D]=Q}),i("model-updated",{model:E,originalModel:m,data:x()})},ae=t.ref(!0),z=()=>{var j;if(a.record&&a.schema&&(F({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)&&F({consumer_id:a.record.consumer_id||a.record.consumer}),F(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)&&F({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}),a.record.partials&&J("redis",{partials:a.record.partials}),F(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const w={};for(const B in a.entityMap){const D=a.entityMap[B].id,W=a.entityMap[B].idField,Q=W==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(W).replace("_","-"));Object.prototype.hasOwnProperty.call(E,Q)&&(w[Q]=D)}F(w)}if((j=a.entityMap.consumer)!=null&&j.id&&a.schema&&a.credential){const w={};Object.prototype.hasOwnProperty.call(E,"consumer")&&(w.consumer=a.entityMap.consumer.id),F(w)}ae.value=!1};return t.watch(ae,j=>{i("loading",j)}),t.watch(()=>a.schema,(j,w)=>{var D,W;if(u(j||{},w||{}))return;const B=r(j);Object.assign(E,B.model),y.value={fields:(W=(D=y.value)==null?void 0:D.fields)==null?void 0:W.map(Q=>({...Q,disabled:Q.disabled||!1}))},Object.assign(m,JSON.parse(JSON.stringify(B.model))),O.value=jo(B.model.name),z()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var j,w;V.value=r(a.schema),Object.assign(E,((j=V.value)==null?void 0:j.model)||{}),y.value=((w=V.value)==null?void 0:w.schema)||{},z()}),(j,w)=>{var W;const B=t.resolveComponent("KSkeleton"),D=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Ny,[ae.value?(t.openBlock(),t.createBlock(B,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Vy,[O.value&&(E.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(O.value),{key:0,"enable-redis-partial":e.enableRedisPartial,"form-model":E,"form-options":b.value,"form-schema":y.value,"is-editing":e.editing,"on-model-updated":X,"on-partial-toggled":J,"show-new-partial-modal":Q=>j.$emit("showNewPartialModal",Q)},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(At),fn:t.withCtx(Q=>[Q.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Zo),t.mergeProps({key:0},Q,{onOpen:w[0]||(w[0]=(re,ne)=>Y(re,ne))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["enable-redis-partial","form-model","form-options","form-schema","is-editing","show-new-partial-modal"])):t.createCommentVNode("",!0),!O.value&&(E.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(D,{key:1,"enable-redis-partial":e.enableRedisPartial,"is-editing":e.editing,model:E,options:b.value,schema:y.value,onModelUpdated:X,onPartialToggled:J,onRefreshModel:x,onShowNewPartialModal:w[2]||(w[2]=Q=>j.$emit("showNewPartialModal",Q))},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Py,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(W=t.unref(_e)[E.name])!=null&&W.fieldRules&&(a.config.isNewOtelSchema||E.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(xy,{rules:t.unref(_e)[E.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(At),fn:t.withCtx(Q=>[Q.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(Zo),t.mergeProps({key:0},Q,{onOpen:w[1]||(w[1]=(re,ne)=>Y(re,ne))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["enable-redis-partial","is-editing","model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(t.unref(Ry),{config:a.config,setup:v.value,onCancel:w[3]||(w[3]=()=>v.value=!1),onProceed:S},null,8,["config","setup"])],64)}}}),Gy=tt(Uy,[["__scopeId","data-v-3b6b3a68"]]),Ly={key:1},jy=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",Ly,[t.renderSlot(n.$slots,"default")]))}});var Yn=Array.isArray,Wo=typeof global=="object"&&global&&global.Object===Object&&global,Yy=typeof self=="object"&&self&&self.Object===Object&&self,ht=Wo||Yy||Function("return this")(),zt=ht.Symbol,_o=Object.prototype,Hy=_o.hasOwnProperty,Fy=_o.toString,pn=zt?zt.toStringTag:void 0;function Ky(e){var n=Hy.call(e,pn),i=e[pn];try{e[pn]=void 0;var a=!0}catch{}var o=Fy.call(e);return a&&(n?e[pn]=i:delete e[pn]),o}var zy=Object.prototype,qy=zy.toString;function Qy(e){return qy.call(e)}var Jy="[object Null]",Xy="[object Undefined]",$o=zt?zt.toStringTag:void 0;function qt(e){return e==null?e===void 0?Xy:Jy:$o&&$o in Object(e)?Ky(e):Qy(e)}function Hn(e){return e!=null&&typeof e=="object"}var Zy="[object Symbol]";function Ci(e){return typeof e=="symbol"||Hn(e)&&qt(e)==Zy}var Wy=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,_y=/^\w*$/;function $y(e,n){if(Yn(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||Ci(e)?!0:_y.test(e)||!Wy.test(e)||n!=null&&e in Object(n)}function er(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var eb="[object AsyncFunction]",tb="[object Function]",nb="[object GeneratorFunction]",ib="[object Proxy]";function tr(e){if(!er(e))return!1;var n=qt(e);return n==tb||n==nb||n==eb||n==ib}var Bi=ht["__core-js_shared__"],nr=function(){var e=/[^.]+$/.exec(Bi&&Bi.keys&&Bi.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ab(e){return!!nr&&nr in e}var ob=Function.prototype,rb=ob.toString;function Tt(e){if(e!=null){try{return rb.call(e)}catch{}try{return e+""}catch{}}return""}var sb=/[\\^$.*+?()[\]{}|]/g,lb=/^\[object .+?Constructor\]$/,cb=Function.prototype,db=Object.prototype,pb=cb.toString,ub=db.hasOwnProperty,gb=RegExp("^"+pb.call(ub).replace(sb,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ab(e){if(!er(e)||ab(e))return!1;var n=tr(e)?gb:lb;return n.test(Tt(e))}function mb(e,n){return e==null?void 0:e[n]}function Qt(e,n){var i=mb(e,n);return Ab(i)?i:void 0}var un=Qt(Object,"create");function fb(){this.__data__=un?un(null):{},this.size=0}function hb(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var yb="__lodash_hash_undefined__",bb=Object.prototype,Eb=bb.hasOwnProperty;function wb(e){var n=this.__data__;if(un){var i=n[e];return i===yb?void 0:i}return Eb.call(n,e)?n[e]:void 0}var Cb=Object.prototype,Bb=Cb.hasOwnProperty;function kb(e){var n=this.__data__;return un?n[e]!==void 0:Bb.call(n,e)}var Ib="__lodash_hash_undefined__";function Ob(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=un&&n===void 0?Ib:n,this}function St(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])}}St.prototype.clear=fb,St.prototype.delete=hb,St.prototype.get=wb,St.prototype.has=kb,St.prototype.set=Ob;function vb(){this.__data__=[],this.size=0}function Mb(e,n){return e===n||e!==e&&n!==n}function Fn(e,n){for(var i=e.length;i--;)if(Mb(e[i][0],n))return i;return-1}var Rb=Array.prototype,Tb=Rb.splice;function Sb(e){var n=this.__data__,i=Fn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():Tb.call(n,i,1),--this.size,!0}function xb(e){var n=this.__data__,i=Fn(n,e);return i<0?void 0:n[i][1]}function Nb(e){return Fn(this.__data__,e)>-1}function Vb(e,n){var i=this.__data__,a=Fn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function Jt(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])}}Jt.prototype.clear=vb,Jt.prototype.delete=Sb,Jt.prototype.get=xb,Jt.prototype.has=Nb,Jt.prototype.set=Vb;var Kn=Qt(ht,"Map");function Pb(){this.size=0,this.__data__={hash:new St,map:new(Kn||Jt),string:new St}}function Db(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function zn(e,n){var i=e.__data__;return Db(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Ub(e){var n=zn(this,e).delete(e);return this.size-=n?1:0,n}function Gb(e){return zn(this,e).get(e)}function Lb(e){return zn(this,e).has(e)}function jb(e,n){var i=zn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function xt(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])}}xt.prototype.clear=Pb,xt.prototype.delete=Ub,xt.prototype.get=Gb,xt.prototype.has=Lb,xt.prototype.set=jb;var Yb="Expected a function";function ki(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Yb);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(ki.Cache||xt),i}ki.Cache=xt;var Hb=500;function Fb(e){var n=ki(e,function(a){return i.size===Hb&&i.clear(),a}),i=n.cache;return n}var Kb=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,zb=/\\(\\)?/g,qb=Fb(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Kb,function(i,a,o,r){n.push(o?r.replace(zb,"$1"):a||i)}),n});function Qb(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 Jb=1/0,ir=zt?zt.prototype:void 0,ar=ir?ir.toString:void 0;function or(e){if(typeof e=="string")return e;if(Yn(e))return Qb(e,or)+"";if(Ci(e))return ar?ar.call(e):"";var n=e+"";return n=="0"&&1/e==-Jb?"-0":n}function Xb(e){return e==null?"":or(e)}function rr(e,n){return Yn(e)?e:$y(e,n)?[e]:qb(Xb(e))}function Zb(e){var n=e==null?0:e.length;return n?e[n-1]:void 0}var Wb=1/0;function sr(e){if(typeof e=="string"||Ci(e))return e;var n=e+"";return n=="0"&&1/e==-Wb?"-0":n}function _b(e,n){n=rr(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[sr(n[i++])];return i&&i==a?e:void 0}function $b(e,n,i){var a=-1,o=e.length;n<0&&(n=-n>o?0:o+n),i=i>o?o:i,i<0&&(i+=o),o=n>i?0:i-n>>>0,n>>>=0;for(var r=Array(o);++a<o;)r[a]=e[a+n];return r}function eE(e,n){return n.length<2?e:_b(e,$b(n,0,-1))}function tE(e,n){return n=rr(n,e),e=eE(e,n),e==null||delete e[sr(Zb(n))]}function nE(e,n){return e==null?!0:tE(e,n)}const iE={class:"kong-ui-entities-plugin-form-container"},aE={key:0},oE={class:"plugin-form-actions"},rE=tt(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},enableRedisPartial:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated","showNewPartialModal"],setup(e,{emit:n}){var le;const i=n,a=e,o=Zt.useRouter(),{i18n:{t:r}}=Oe.useI18n(),{customSchemas:s,typedefs:l}=Oe.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=Oe.usePluginHelpers(),{getMessageFromError:p}=L.useErrors(),{capitalize:g}=L.useStringHelpers(),{objectsAreEqual:u}=L.useHelpers(),{axiosInstance:A}=L.useAxios((le=a.config)==null?void 0:le.axiosRequestConfig),k=t.ref(!1),T=t.computed(()=>!!a.pluginId),f=t.computed(()=>a.pluginId?L.EntityBaseFormType.Edit:L.EntityBaseFormType.Create),C=t.ref(null),O=t.computed(()=>!!(a.credential&&a.config.entityId)),V=t.ref(null),y=t.ref({}),m=t.ref(),E=t.ref(),b=t.ref(!1),v=t.reactive({enabled:!0,protocols:[],tags:[]}),I=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),Y=t.ref([{title:r("view_configuration.json"),hash:"#json"},{title:r("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&Y.value.splice(1,0,{title:r("view_configuration.terraform"),hash:"#terraform"});const S=t.ref(""),x=t.computed(()=>{if(O.value){let U=ve.form[a.config.app].credential[f.value];return U=U.replace(/{resourceEndpoint}/gi,ae.value),U}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}),J=()=>{k.value=!k.value},X=t.computed(()=>{var ee,ue,ie,ge,de,R,N,Ce;const U=a.config.entityType==="consumers"&&a.config.entityId||((ue=(ee=V.value)==null?void 0:ee.consumer)==null?void 0:ue.id),Z=a.config.entityType==="consumer_groups"&&a.config.entityId||((ge=(ie=V.value)==null?void 0:ie.consumer_group)==null?void 0:ge.id),h=a.config.entityType==="services"&&a.config.entityId||((R=(de=V.value)==null?void 0:de.service)==null?void 0:R.id),K=a.config.entityType==="routes"&&a.config.entityId||((Ce=(N=V.value)==null?void 0:N.route)==null?void 0:Ce.id);if(!(U||Z||h||K))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const H={};return h&&(H.service={entity:c.SERVICE,entityEndpoint:"services",id:h,idField:Et.SERVICE}),K&&(H.route={entity:c.ROUTE,entityEndpoint:"routes",id:K,idField:Et.ROUTE}),U&&(H.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:U,idField:Et.CONSUMER}),Z&&(H.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:Z,idField:Et.CONSUMER_GROUP}),a.config.entityType&&(H.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()]}),H}),F=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||f.value===L.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}),ae=t.computed(()=>{var h;const U=a.developer?"developers":"consumers",Z=((h=Lt[a.pluginType])==null?void 0:h.endpoint)||"/plugins";return`${U}/${a.config.entityId}${a.developer?"/credentials":""}${Z}`}),z=U=>{const Z=Array.from(new Set(U.map(h=>typeof h)));return Z.length>1?"string":Z[0]},G=(U,Z,h,K)=>{var ie,ge;let H=Z&&Z.fields||[];const ee=s[a.pluginType],ue=(ge=(ie=Lt[a.pluginType])==null?void 0:ie.schema)==null?void 0:ge.fields;return Array.isArray(H)&&(H=H.reduce((de,R)=>{const N=Object.keys(R)[0];return N.match(/-/g)?de[N.replace(/-/g,"_")]={...R[N],fieldNameHasDashes:!0}:de[N]=R[N],de},{})),Object.keys(H).sort().forEach(de=>{var Fe,Xt,An,mn,fn,hn;const R=H[de];R.type==="set"&&(R.type="array");const N=U?`${U}-${de}`:`${de}`;if(Object.prototype.hasOwnProperty.call(R,"overwrite")||R.hidden)return;if(R.type==="table")return G(N,R.schema,h);if(R.fields)return K&&R.type==="record"?(h[N]={type:"object",model:de,schema:{fields:Object.values(G(N,R,{},!0))}},h):G(N,R,h);if(h[N]={id:N,model:de},h[N].type=R.type==="boolean"?"checkbox":"input",h[N].required=R.required,h[N].referenceable=R.referenceable,N.startsWith("config-"))if(!K&&R.type==="array"&&(S.value=N),K&&S.value&&N.startsWith(S.value)){const oe=N.slice(S.value.length+1);h[N].label=oe.split("-").map(d).join(".")}else h[N].label=d(N);if((U==="config"||U.startsWith("config-"))&&(Fe=H[de])!=null&&Fe.description&&(h[N].help=se.parse(H[de].description,{mangle:!1,headerIds:!1})),R.type==="map"){if(h[N].type="object-advanced",h[N].values=R.values,R.values.type==="array"){const{type:oe}=R.values.elements||{};h[N].schema={fields:[{schema:{fields:[{...Ee,model:N,valueArrayType:oe==="integer"?"number":oe||"string",inputAttributes:{...Ee.inputAttributes,type:oe==="integer"?"number":"text",inputMode:oe==="integer"?"numeric":"text"}}]}}]}}else R.values.fields&&(h[N].schema={fields:[{type:"object",model:"object",schema:{fields:R.values.fields.map(oe=>{const Le=Object.keys(oe)[0];return{model:Le,type:"input",label:g(Le),placeholder:Le,inputType:oe[Le].type}})}}]});return h}if(R.enum&&R.type==="array"&&(h[N].type="checklist",h[N].values=R.enum,h[N].multi=!0,h[N].multiSelect=!0),R.one_of&&R.type!=="array"&&(h[N].type="select",h[N].values=R.one_of,h[N].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),R.elements&&R.type==="array"){const oe=R.elements;if(h[N].referenceable=oe.referenceable,h[N].elements=oe,["string","integer","number"].includes(oe.type)&&!oe.one_of){const{id:Le,help:Be,label:Ae,hint:Ve,values:lt,referenceable:Ke,model:Ut}=h[N],{inputAttributes:Qn,...iC}=JSON.parse(JSON.stringify(Ee));Qn.type=oe.type==="string"?"text":"number",h[N]={id:Le,help:Be,label:Ae,hint:Ve,values:lt,referenceable:Ke,model:Ut,inputAttributes:Qn,...iC}}}if(R.hint&&(h[N].hint=R.hint),ee&&!ee.overwriteDefault&&Object.keys(ee).forEach(oe=>{if(oe===N){const{help:Le,label:Be,hint:Ae,values:Ve,referenceable:lt,elements:Ke}=h[N],{help:Ut,...Qn}=ee[oe];h[N]={help:Le,label:Be,hint:Ae,values:Ve,referenceable:lt,elements:Ke,...Qn},typeof Ut=="string"&&(h[N].help=se.parse(Ut,{mangle:!1,headerIds:!1}))}}),R.type==="array"&&((Xt=R.elements)==null?void 0:Xt.type)==="record"&&Array.isArray(R.elements.fields)){let oe={};for(const Be of R.elements.fields)oe={...oe,...Be};const Le=(fn=(mn=(An=h[N])==null?void 0:An.items)==null?void 0:mn.schema)==null?void 0:fn.fields;if(Array.isArray(Le))for(const Be of h[N].items.schema.fields){const Ae=(hn=oe[Be.model])==null?void 0:hn.description;Be.help===void 0&&typeof Ae=="string"&&(Be.help=se.parse(Ae,{mangle:!1,headerIds:!1}))}if(Le||(h[N].type="array",h[N].newElementButtonLabelClasses="kong-form-new-element-button-label",h[N].fieldClasses="array-card-container-wrapper",h[N].itemContainerComponent="FieldArrayCardContainer",h[N].items={type:"object",schema:{fields:Object.values(G(N,R.elements,{},!0))}},h[N].items.schema.fields.forEach(Be=>{var Ae,Ve;for(const lt of R.elements.fields){const Ke=Object.keys(lt)[0],Ut=((Ve=(Ae=Be.id)==null?void 0:Ae.split)==null?void 0:Ve.call(Ae,"-"))??[];if(Ut[Ut.length-1]===Ke){Be.model=Ke,Be.label=d(Ke);break}}}),R.elements.type==="record"&&(h[N].nestedFields=!0)),!h[N].nestedFields)h[N].items.default=()=>R.elements.fields.reduce((Be,Ae)=>{const Ve=Object.keys(Ae)[0];return Be[Ve]=Ae[Ve].default,Be},{});else{const Be=(Ae,Ve)=>{if(Ae.type==="object"){Ae.model&&(Ve[Ae.model]={});for(const lt of Ae.schema.fields)Be(lt,Ae.model?Ve[Ae.model]:Ve)}else Ae.model&&(Ve[Ae.model]=Ae.default)};h[N].items.default=()=>{const Ae={};return Be(h[N].items,Ae),Ae}}}if(O.value&&ue){for(let oe=0;oe<ue.length;oe++)if(ue[oe][N]){h[N]={...h[N],...ue[oe][N]};break}}if(R.required&&R.type!=="boolean"&&(h[N].required=!0,h[N].selectOptions={hideNoneSelectedText:!0}),R.required&&R.type==="boolean"&&(h[N].default=R.default??!1),R.default!=null&&typeof R.default!="object"&&R.default!=="function"&&(h[N].default=R.default),h[N].type==="input"){["string","number"].includes(typeof h[N].default)&&a.config.app==="konnect"&&(h[N].placeholder=`Default: ${h[N].default===""?"<empty string>":h[N].default}`);const{type:oe}=R.elements||{};oe&&(h[N].valueArrayType=oe==="integer"?"number":oe),h[N].inputType=R.type==="array"||R.type==="string"?R.encrypted?"password":"text":R.type}let Ce="string";R.enum?Ce=z(R.enum):R.type==="boolean"?Ce="boolean":R.type==="number"||R.type==="integer"?(Ce="number",h[N].inputType="number"):R.type==="array"?(Ce="array",h[N].default=R.default,R.len_min>0&&(h[N].submitWhenNull=!0)):R.type==="foreign"?Ce="object":R.default&&Array.isArray(R.default)?(Ce="array",h[N].valueArrayType=z(R.default)):R.default&&(Ce=typeof R.default),h[N].valueType=Ce,R.fieldNameHasDashes&&(h[N].fieldNameHasDashes=!0)}),h},$=()=>{var de,R,N,Ce,Fe,Xt,An,mn,fn,hn,oe,Le;const U=((de=_e[a.pluginType])==null?void 0:de.scope.includes(c.SERVICE))??!0,Z=((R=_e[a.pluginType])==null?void 0:R.scope.includes(c.ROUTE))??!0,h=((N=_e[a.pluginType])==null?void 0:N.scope.includes(c.CONSUMER))??!0,K=a.config.disableConsumerGroupScope?!1:((Ce=_e[a.pluginType])==null?void 0:Ce.scope.includes(c.CONSUMER_GROUP))??!0,H=a.config.entityType==="consumers"&&!!a.config.entityId||!!((Xt=(Fe=V.value)==null?void 0:Fe.consumer)!=null&&Xt.id),ee=a.config.entityType==="consumer_groups"&&!!a.config.entityId||!!((mn=(An=V.value)==null?void 0:An.consumer_group)!=null&&mn.id),ue=a.config.entityType==="services"&&!!a.config.entityId||!!((hn=(fn=V.value)==null?void 0:fn.service)!=null&&hn.id),ie=a.config.entityType==="routes"&&!!a.config.entityId||!!((Le=(oe=V.value)==null?void 0:oe.route)!=null&&Le.id),ge=[];if(U&&ge.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:ue&&a.disableScopeSelection}),Z&&ge.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:ie&&a.disableScopeSelection}),h&&ge.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:H&&a.disableScopeSelection}),K&&ge.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:ee&&a.disableScopeSelection}),ge.length){const Be=[...U?["service"]:[],...Z?["route"]:[],...h?["consumer"]:[],...K?["consumer_group"]:[]],Ve=Be.splice(Be.length-2,2).map(Ke=>r(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(`${Be.length>0?",":""} and/or `),lt=["Specific",[...Be.length>0?[Be.map(Ke=>r(Ke==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${Ke}.plural`)).join(", ")]:[],Ve].join(", ")].join(" ");F.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:lt,fields:[]}),F.selectionGroup.fields[1].fields=ge}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(F,s[a.pluginType].formSchema)},j=t.computed(()=>!u(I.fields,v,!0)),w=t.computed(()=>!Ie.value&&!b.value&&(f.value===L.EntityBaseFormType.Create||j.value)),B=t.ref(!1),D=t.ref(),W=U=>{a.credential&&U.password&&(U.password=""),I.fields.id=(U==null?void 0:U.id)||void 0,D.value=U==null?void 0:U.ordering,Object.assign(v,I.fields),V.value=U,B.value=!0},Q=t.ref({}),re=U=>{var Z;I.fields=U.model,I.fields.id=((Z=V.value)==null?void 0:Z.id)||void 0,Object.assign(v,U.originalModel),Q.value=U.data,a.isWizardStep&&i("model-updated",{model:I.fields,data:U.data,resourceEndpoint:ae.value})};t.watch([X,B],(U,Z)=>{const h=U[0]!==Z[0],K=U[1],H=Z[1];if(!O.value&&f.value===L.EntityBaseFormType.Edit&&(h||K&&K!==H)){Ie.value=!0;const ee=G("config",y.value,F);Ze.value&&(ee._isCustomPlugin=!0),m.value&&(ee._supported_redis_partial_type=m.value),C.value=ee,Ie.value=!1}},{deep:!0});const ne=()=>{a.config.cancelRoute?o.push(a.config.cancelRoute):i("cancel")},te=t.computed(()=>{let U=`${a.config.apiBaseUrl}${ve.form[a.config.app].validate}`;return a.config.app==="konnect"?U=U.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(U=U.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),U=U.replace(/{id}/gi,a.pluginId),U}),q=t.computed(()=>{const U=a.config.entityType&&a.config.entityId&&!a.developer,Z=O.value?ve.form[a.config.app].credential[f.value]:ve.form[a.config.app][f.value][U?"forEntity":"all"];let h=`${a.config.apiBaseUrl}${Z}`;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(/{resourceEndpoint}/gi,ae.value),h=h.replace(/{id}/gi,a.pluginId),h=h.replace(/{entityType}/gi,a.config.entityType||""),h=h.replace(/{entityId}/gi,a.config.entityId||""),h}),Ze=t.computed(()=>!Object.keys(_e).includes(a.pluginType)),He=t.computed(()=>{const U=Q.value;if(O.value){for(const Z in c){const h=c[Z];U[h]&&!U[h].id&&(U[h]={id:a.config.entityId})}delete U.created_at}return Q.value.partials&&E.value&&nE(U,E.value),U}),We=async()=>{if(!a.isWizardStep)try{I.isReadonly=!0;let U;const Z=JSON.parse(JSON.stringify(He.value)),h=s[a.pluginType];typeof(h==null?void 0:h.shamefullyTransformPayload)=="function"&&h.shamefullyTransformPayload({originalModel:v,model:I.fields,payload:Z,schema:C.value}),!O.value&&!Ze.value&&await A.post(te.value,Z),f.value==="create"?U=await A.post(q.value,Z):f.value==="edit"&&(U=a.config.app==="konnect"||m.value?await A.put(q.value,Object.assign({ordering:D.value},Z)):await A.patch(q.value,Z)),Object.assign(v,I.fields),i("update",U==null?void 0:U.data)}catch(U){I.errorMessage=p(U),i("error",U)}finally{I.isReadonly=!1}},Vt=t.computed(()=>{var K;const U=O.value?(K=Lt[a.pluginType])==null?void 0:K.schemaEndpoint:a.pluginType,Z=O.value?ve.form[a.config.app].credentialSchema:ve.form[a.config.app].pluginSchema;let h=`${a.config.apiBaseUrl}${Z}`;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(/{plugin}/gi,U),h}),Pt=t.ref(""),Ie=t.ref(!1),Dt=t.ref("");return t.onBeforeMount(async()=>{var U,Z,h,K;Ie.value=!0;try{if(O.value&&a.config.app==="konnect"){const H=(U=Lt[a.pluginType])==null?void 0:U.schemaEndpoint,ee=nc[H];Pt.value=H,C.value=G("",ee,{}),Ie.value=!1}else{const H=a.schema??(await A.get(Vt.value)).data;if(H)if(O.value)C.value=G("",H,{}),Ie.value=!1;else{const ee=H.fields.find(ie=>ie.config);y.value=ee?ee.config:H,H.supported_partials&&(m.value=Object.keys(H.supported_partials).find(ie=>[kn.REDIS_CE,kn.REDIS_EE].includes(ie)),E.value=(Z=H.supported_partials[m.value])==null?void 0:Z[0]),$();const ue=(h=H.fields.find(ie=>ie.protocols))==null?void 0:h.protocols;if(ue){const{default:ie=[],elements:ge={}}=ue;F.protocols.default=ie,F.protocols.placeholder=a.config.app==="konnect"?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ie.join(", ")}):r("plugins.form.fields.protocols.placeholder"),(K=ge.one_of)!=null&&K.length&&(F.protocols.values=ge.one_of.map(de=>({label:de,value:de})))}if(B.value||f.value===L.EntityBaseFormType.Create){const ie=G("config",y.value,F);m.value&&(ie._supported_redis_partial_type=m.value),Ze.value&&(ie._isCustomPlugin=!0),C.value=ie}}}}catch(H){Dt.value=p(H),i("error:fetch-schema",H)}finally{Ie.value=!1}}),(U,Z)=>{const h=t.resolveComponent("KSkeleton"),K=t.resolveComponent("KEmptyState"),H=t.resolveComponent("KButton"),ee=t.resolveComponent("KTabs"),ue=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",iE,[Ie.value?(t.openBlock(),t.createBlock(h,{key:0,type:"form"})):Dt.value?(t.openBlock(),t.createBlock(K,{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(L.EntityBaseForm),{key:2,"can-submit":w.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(L.SupportedEntityType).Plugin,"error-message":I.errorMessage,"fetch-url":x.value,"form-fields":He.value,"is-readonly":I.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ne,"onFetch:error":Z[3]||(Z[3]=ie=>U.$emit("error",ie)),"onFetch:success":W,onLoading:Z[4]||(Z[4]=ie=>U.$emit("loading",ie))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",aE)):(t.openBlock(),t.createBlock(jy,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",oE,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(H,{key:0,appearance:"tertiary","data-testid":`plugin-${T.value?"edit":"create"}-form-view-configuration`,onClick:Z[2]||(Z[2]=ie=>J())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(H,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${T.value?"edit":"create"}-form-cancel`,disabled:I.isReadonly,onClick:ne},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(H,{appearance:"primary","data-testid":`plugin-${T.value?"edit":"create"}-form-submit`,disabled:!w.value||I.isReadonly,type:"submit",onClick:We},{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:We},null,32),t.createVNode(Gy,{config:e.config,credential:O.value,editing:f.value===t.unref(L.EntityBaseFormType).Edit,"enable-redis-partial":e.enableRedisPartial,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":X.value,record:V.value||void 0,schema:C.value||{},onLoading:Z[0]||(Z[0]=ie=>b.value=ie),onModelUpdated:re,onShowNewPartialModal:Z[1]||(Z[1]=ie=>U.$emit("showNewPartialModal",ie))},null,8,["config","credential","editing","enable-redis-partial","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(ue,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:k.value,onClose:J},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(ee,{"data-testid":"form-view-configuration-slideout-tabs",tabs:Y.value},{json:t.withCtx(()=>[t.createVNode(t.unref(L.JsonCodeBlock),{config:e.config,"entity-record":He.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(L.YamlCodeBlock),{"entity-record":He.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(L.TerraformCodeBlock),{"credential-type":Pt.value,"entity-record":He.value,"entity-type":t.unref(L.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-e5c4b68f"]]),sE=["alt","height","src","width"],qn=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(()=>oa(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:nt&&nt.tagName.toUpperCase()==="SCRIPT"&&nt.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,sE))}});var lE=Object.prototype;function lr(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||lE;return e===i}function cE(e,n){return function(i){return e(n(i))}}var dE=cE(Object.keys,Object),pE=Object.prototype,uE=pE.hasOwnProperty;function gE(e){if(!lr(e))return dE(e);var n=[];for(var i in Object(e))uE.call(e,i)&&i!="constructor"&&n.push(i);return n}var Ii=Qt(ht,"DataView"),Oi=Qt(ht,"Promise"),vi=Qt(ht,"Set"),Mi=Qt(ht,"WeakMap"),cr="[object Map]",AE="[object Object]",dr="[object Promise]",pr="[object Set]",ur="[object WeakMap]",gr="[object DataView]",mE=Tt(Ii),fE=Tt(Kn),hE=Tt(Oi),yE=Tt(vi),bE=Tt(Mi),Nt=qt;(Ii&&Nt(new Ii(new ArrayBuffer(1)))!=gr||Kn&&Nt(new Kn)!=cr||Oi&&Nt(Oi.resolve())!=dr||vi&&Nt(new vi)!=pr||Mi&&Nt(new Mi)!=ur)&&(Nt=function(e){var n=qt(e),i=n==AE?e.constructor:void 0,a=i?Tt(i):"";if(a)switch(a){case mE:return gr;case fE:return cr;case hE:return dr;case yE:return pr;case bE:return ur}return n});var EE="[object Arguments]";function Ar(e){return Hn(e)&&qt(e)==EE}var mr=Object.prototype,wE=mr.hasOwnProperty,CE=mr.propertyIsEnumerable,BE=Ar(function(){return arguments}())?Ar:function(e){return Hn(e)&&wE.call(e,"callee")&&!CE.call(e,"callee")},kE=9007199254740991;function fr(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kE}function IE(e){return e!=null&&fr(e.length)&&!tr(e)}function OE(){return!1}var hr=typeof _=="object"&&_&&!_.nodeType&&_,yr=hr&&typeof module=="object"&&module&&!module.nodeType&&module,vE=yr&&yr.exports===hr,br=vE?ht.Buffer:void 0,ME=br?br.isBuffer:void 0,RE=ME||OE,TE="[object Arguments]",SE="[object Array]",xE="[object Boolean]",NE="[object Date]",VE="[object Error]",PE="[object Function]",DE="[object Map]",UE="[object Number]",GE="[object Object]",LE="[object RegExp]",jE="[object Set]",YE="[object String]",HE="[object WeakMap]",FE="[object ArrayBuffer]",KE="[object DataView]",zE="[object Float32Array]",qE="[object Float64Array]",QE="[object Int8Array]",JE="[object Int16Array]",XE="[object Int32Array]",ZE="[object Uint8Array]",WE="[object Uint8ClampedArray]",_E="[object Uint16Array]",$E="[object Uint32Array]",we={};we[zE]=we[qE]=we[QE]=we[JE]=we[XE]=we[ZE]=we[WE]=we[_E]=we[$E]=!0,we[TE]=we[SE]=we[FE]=we[xE]=we[KE]=we[NE]=we[VE]=we[PE]=we[DE]=we[UE]=we[GE]=we[LE]=we[jE]=we[YE]=we[HE]=!1;function ew(e){return Hn(e)&&fr(e.length)&&!!we[qt(e)]}function tw(e){return function(n){return e(n)}}var Er=typeof _=="object"&&_&&!_.nodeType&&_,gn=Er&&typeof module=="object"&&module&&!module.nodeType&&module,nw=gn&&gn.exports===Er,Ri=nw&&Wo.process,wr=function(){try{var e=gn&&gn.require&&gn.require("util").types;return e||Ri&&Ri.binding&&Ri.binding("util")}catch{}}(),Cr=wr&&wr.isTypedArray,iw=Cr?tw(Cr):ew,aw="[object Map]",ow="[object Set]",rw=Object.prototype,sw=rw.hasOwnProperty;function Br(e){if(e==null)return!0;if(IE(e)&&(Yn(e)||typeof e=="string"||typeof e.splice=="function"||RE(e)||iw(e)||BE(e)))return!e.length;var n=Nt(e);if(n==aw||n==ow)return!e.size;if(lr(e))return!gE(e).length;for(var i in e)if(sw.call(e,i))return!1;return!0}const lw="#00abd2",cw="16px",dw="24px",pw={class:"kong-ui-entities-plugins-list"},uw={class:"button-row"},gw={class:"empty-state-icon-gateway"},Aw={class:"name-cell-wrapper"},mw={class:"info-wrapper"},fw={key:0,class:"info-name"},hw={key:1,class:"info-name"},yw={key:2,class:"info-type"},bw={key:1},Ew=tt(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 U,Z;const i=Oe.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=Oe.useI18n(),s=Zt.useRouter(),{axiosInstance:l}=L.useAxios((U=o.config)==null?void 0:U.axiosRequestConfig),{hasRecords:d,handleStateChange:p}=L.useTableState(()=>m.value),g=t.computed(()=>d.value&&o.config.app==="konnect"),u=t.computed(()=>!o.enableV2EmptyStates&&o.config.app==="konnect"),A=t.computed(()=>!!o.config.entityId),k=t.computed(()=>{var h;return((h=o.config)==null?void 0:h.entityType)==="consumers"}),T=t.computed(()=>{var h;return((h=o.config)==null?void 0:h.entityType)==="consumer_groups"}),f=o.config.app==="konnect"||L.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),C=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),O={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(Z=o.config)!=null&&Z.entityId||(O.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),O.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},f&&(O.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),O.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const V=O,y=t.computed(()=>{var K,H,ee,ue;let h=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"?h=h.replace(/{controlPlaneId}/gi,((K=o.config)==null?void 0:K.controlPlaneId)||""):o.config.app==="kongManager"&&(h=h.replace(/\/{workspace}/gi,(H=o.config)!=null&&H.workspace?`/${o.config.workspace}`:"")),h.replace(/{entityType}/gi,((ee=o.config)==null?void 0:ee.entityType)||"").replace(/{entityId}/gi,((ue=o.config)==null?void 0:ue.entityId)||"")}),m=t.ref(""),E=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:O.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:{...O.enabled,label:r("search.filter.field.enabled")},name:O.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),{fetcher:b,fetcherState:v,fetcherCacheKey:I}=L.useFetcher({...o.config,cacheIdentifier:o.cacheIdentifier},y.value),Y=()=>{m.value=""},S=()=>{I.value++},x=t.ref(null),J=h=>{var H,ee,ue,ie;const K=[];return((H=h.route)!=null&&H.id||h.route_id)&&K.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),((ee=h.service)!=null&&ee.id||h.service_id)&&K.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),((ue=h.consumer)!=null&&ue.id||h.consumer_id)&&K.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),((ie=h.consumer_group)!=null&&ie.id||h.consumer_group_id)&&K.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),K.length?K:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},X=async(h,K)=>{var H;return h===null?!1:await((H=o.canRetrieveScopedEntity)==null?void 0:H.call(o,h,K.id))},F=(h,K)=>{var ee,ue,ie,ge,de;let H=null;switch(h){case"route":H=(ee=K.route)==null?void 0:ee.id;break;case"service":H=(ue=K.service)==null?void 0:ue.id;break;case"consumer":H=(ie=K.consumer)==null?void 0:ie.id;break;case"consumer_group":H=(ge=K.consumer_group)==null?void 0:ge.id;break}H&&((de=o.config)!=null&&de.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(h,H))},ae=t.ref(!1),z=t.ref(null),G=t.computed(()=>{const h={action:"disable",id:"",name:""};if(z.value){const{enabled:K,id:H,name:ee}=z.value;h.action=K?"disable":"enable",h.id=H,h.name=i.getDisplayName(ee)||H}return h}),$=h=>{ae.value=!0,z.value=h},j=()=>{ae.value=!1,z.value=null},w=async()=>{var ee,ue,ie,ge,de,R,N,Ce;if(!await((ee=o.canEdit)==null?void 0:ee.call(o,z.value))||!z.value)return;let K=`${o.config.apiBaseUrl}${(de=ve.item[o.config.app])==null?void 0:de[(ue=o.config)!=null&&ue.entityType?"forEntity":"all"].replace(/{entityType}/gi,((ie=o.config)==null?void 0:ie.entityType)||"").replace(/{entityId}/gi,((ge=o.config)==null?void 0:ge.entityId)||"")}`.replace(/{id}/gi,z.value.id||"");o.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,((R=o.config)==null?void 0:R.controlPlaneId)||""):o.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:""));const H=!z.value.enabled;try{const{data:Fe}=((Ce=o.config)==null?void 0:Ce.app)==="konnect"?await l.put(K,{...z.value,enabled:H},{timeout:12e4}):await l.patch(K,{...z.value,enabled:H},{timeout:12e4});a("toggle-enabled",H,Fe),z.value.enabled=H}catch(Fe){a("error",Fe)}},B=(h,K)=>{const H=h.id;if(!K(H)){a("copy:error",{entity:h,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:h,field:"id",message:r("copy.success",{val:H})})},D=(h,K)=>{const H=JSON.stringify(h);if(!K(H)){a("copy:error",{entity:h,message:r("errors.copy")});return}a("copy:success",{entity:h,message:r("copy.success_brief")})},W=async h=>{var H;await((H=o.canRetrieve)==null?void 0:H.call(o,h))&&s.push(o.config.getViewRoute(h))},Q=h=>({label:r("actions.view"),to:o.config.getViewRoute(h)}),re=h=>({label:r("actions.edit"),to:o.config.getEditRoute(h)}),ne=h=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(h)}),te=t.ref(void 0),q=t.ref(!1),Ze=t.ref(!1),He=t.ref(""),We=L.useDeleteUrlBuilder(o.config,y.value),Vt=h=>{te.value=h,q.value=!0},Pt=()=>{q.value=!1},Ie=async()=>{var h,K,H;if((h=te.value)!=null&&h.id){Ze.value=!0;try{await l.delete(We(te.value.id)),Ze.value=!1,q.value=!1,I.value++,a("delete:success",te.value)}catch(ee){He.value=((H=(K=ee.response)==null?void 0:K.data)==null?void 0:H.message)||ee.message||r("errors.delete"),a("error",ee)}finally{Ze.value=!1}}},Dt=()=>{s.push(o.config.createRoute)};t.watch(v,h=>{var K,H,ee;if(h.status===L.FetcherStatus.Error){x.value={title:r("errors.general")},(ee=(H=(K=h.error)==null?void 0:K.response)==null?void 0:H.data)!=null&&ee.message&&(x.value.message=h.error.response.data.message),a("error",h.error);return}x.value=null});const le=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()&&(le.value.title=r("plugins.list.empty_state.title"),le.value.ctaText=r("actions.create"))}),(h,K)=>{const H=t.resolveComponent("KButton"),ee=t.resolveComponent("KBadge"),ue=t.resolveComponent("KTruncate"),ie=t.resolveComponent("KInputSwitch"),ge=t.resolveComponent("KDropdownItem"),de=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",pw,[t.createVNode(t.unref(L.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":C.value,"empty-state-options":le.value,"enable-entity-actions":"","error-message":x.value,fetcher:t.unref(b),"fetcher-cache-key":t.unref(I),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:m.value,"table-headers":t.unref(V),title:e.title,"title-tag":e.titleTag,onClearSearchInput:Y,"onClick:row":K[5]||(K[5]=R=>W(R)),onSort:S,onState:t.unref(p)},t.createSlots({"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(L.EntityFilter),{modelValue:m.value,"onUpdate:modelValue":K[0]||(K[0]=R=>m.value=R),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",uw,[!A.value&&g.value?(t.openBlock(),t.createBlock(H,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:K[1]||(K[1]=R=>h.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.BookIcon),{decorative:""})]),_:1})):t.createCommentVNode("",!0),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(H,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.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:R})=>[t.createElementVNode("div",Aw,[t.createVNode(qn,{class:"plugin-icon",name:R.name,size:24},null,8,["name"]),t.createElementVNode("div",mw,[R.instance_name?(t.openBlock(),t.createElementBlock("span",fw,t.toDisplayString(R.instance_name),1)):(t.openBlock(),t.createElementBlock("span",hw,t.toDisplayString(t.unref(i).getDisplayName(R.name)),1)),R.instance_name?(t.openBlock(),t.createElementBlock("span",yw,t.toDisplayString(t.unref(i).getDisplayName(R.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:R})=>[J(R).length>0?(t.openBlock(),t.createBlock(ue,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(J(R),N=>(t.openBlock(),t.createBlock(t.unref(L.PermissionsWrapper),{key:N.badgeText,"auth-function":()=>X(N.type,R),"force-show":""},{default:t.withCtx(({isAllowed:Ce})=>[t.createVNode(ee,{class:t.normalizeClass(Ce||"disabled"),onClick:t.withModifiers(Fe=>Ce&&N.type&&F(N.type,R),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",bw,"-"))]),enabled:t.withCtx(({row:R})=>[t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(R)&&await e.canToggle(R)),"force-show":""},{default:t.withCtx(({isAllowed:N})=>{var Ce,Fe;return[t.createElementVNode("div",{onClick:K[4]||(K[4]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ie,{disabled:!N,"disabled-tooltip-text":!N&&((Fe=(Ce=e.config).getToggleDisabledTooltip)==null?void 0:Fe.call(Ce,R))||void 0,"model-value":R.enabled,onClick:t.withModifiers(Xt=>N&&$(R),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:R})=>[t.createVNode(ee,{appearance:t.unref(Br)(R)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(Br)(R)?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:R})=>[t.createVNode(t.unref(L.TableTags),{tags:R},null,8,["tags"])]),actions:t.withCtx(({row:R})=>[t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-id",onClick:Ce=>B(R,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ge,{"data-testid":"action-entity-copy-json",onClick:Ce=>D(R,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(R)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-view","has-divider":"",item:Q(R)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canEdit(R)},{default:t.withCtx(()=>[t.createVNode(ge,{"data-testid":"action-entity-edit",item:re(R)},null,8,["item"])]),_:2},1032,["auth-function"]),!k.value&&!T.value&&t.unref(f)?(t.openBlock(),t.createBlock(t.unref(L.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(R)},{default:t.withCtx(()=>[ne(R)?(t.openBlock(),t.createBlock(ge,{key:0,"data-testid":"action-entity-config-dyn-order",item:ne(R)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(L.PermissionsWrapper),{"auth-function":()=>e.canDelete(R)},{default:t.withCtx(()=>[t.createVNode(ge,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:N=>Vt(R)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!t.unref(d)&&u.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(H,{appearance:"secondary",class:"open-learning-hub","data-testid":"plugins-learn-more-button",icon:"",onClick:K[2]||(K[2]=R=>h.$emit("click:learn-more"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Ue.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(L.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":Dt,"onClick:learnMore":K[3]||(K[3]=R=>h.$emit("click:learn-more"))},{image:t.withCtx(()=>[t.createElementVNode("div",gw,[t.createVNode(t.unref(Ue.PlugIcon),{color:t.unref(lw),size:t.unref(dw)},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(L.EntityToggleModal),{action:G.value.action,"entity-id":G.value.id,"entity-name":G.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":w,visible:ae.value,onCancel:j,onProceed:j},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(L.EntityDeleteModal),{"action-pending":Ze.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(L.EntityTypes).Plugin,error:He.value,title:t.unref(r)("delete.title"),visible:q.value,onCancel:Pt,onProceed:Ie},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-2a23bbaf"]]),ww={class:"plugin-select-card-wrapper"},Cw=["data-testid"],Bw={class:"plugin-card-header"},kw={class:"plugin-card-title"},Iw={key:0,class:"plugin-card-actions"},Ow=["data-testid","title"],vw={key:0,class:"plugin-card-text"},Mw={key:0},Rw=["title"],Ti=tt(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=Zt.useRouter(),{i18n:{t:r}}=Oe.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(k.value&&!A.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},g=()=>{a.navigateOnClick?p():u()},u=()=>{i("plugin-clicked",a.plugin)},A=t.computed(()=>a.plugin.id==="custom-plugin-create"),k=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===M.CUSTOM_PLUGINS),T=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},f=(O,V)=>{const y=a.config;a.config.app==="konnect"&&typeof y.getCustomEditRoute=="function"&&y.getCustomEditRoute&&o.push(y.getCustomEditRoute(O,V))},C=()=>{if(!l.value&&a.config.app==="konnect"){const O=a.config;A.value&&O.createCustomRoute?o.push(O.createCustomRoute):k.value&&p()}};return(O,V)=>{const y=t.resolveComponent("KButton"),m=t.resolveComponent("KDropdownItem"),E=t.resolveComponent("KDropdownMenu"),b=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",ww,[t.createVNode(b,{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:V[1]||(V[1]=v=>l.value||k.value?void 0:g())},[t.createElementVNode("div",Bw,[t.createElementVNode("div",kw,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!k.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Iw,[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(Ue.MoreIcon),{size:t.unref(cw)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:0,"data-testid":"edit-plugin-schema",onClick:V[0]||(V[0]=t.withModifiers(v=>f(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(T,["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":k.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:C},[t.createVNode(qn,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||k.value&&!A.value?(t.openBlock(),t.createElementBlock("div",vw,[k.value&&!A.value?(t.openBlock(),t.createElementBlock("p",Mw,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,Rw)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Ow),t.createElementVNode("div",{class:"plugin-card-footer",onClick:C},t.toDisplayString(A.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,Cw)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-b6a2ebc6"]]),Tw=tt(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 T;const i=e,a=n,{i18nT:o,i18n:{t:r}}=Oe.useI18n(),{getMessageFromError:s}=L.useErrors(),{axiosInstance:l}=L.useAxios((T=i.config)==null?void 0:T.axiosRequestConfig),d=t.computed(()=>{var f;return u.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((f=i.plugin)==null?void 0:f.name)||r("delete.custom_plugin")})}),p=t.ref(!1),g=t.ref(""),u=t.ref(!1),A=t.computed(()=>{if(i.config.app==="konnect"){const f=i.plugin.customPluginType==="streaming"?ve.select[i.config.app].streamingCustomPluginItem:ve.select[i.config.app].schemaCustomPluginItem;let C=`${i.config.apiBaseUrl}${f}`;return C=C.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),C=C.replace(/{pluginId}/gi,i.plugin.id),C}return null}),k=async()=>{var f,C,O,V;if(p.value=!0,g.value="",!(!((f=i.plugin)!=null&&f.name)||((C=i.config)==null?void 0:C.app)!=="konnect"))try{A.value&&await l.delete(A.value),a("proceed")}catch(y){const{response:m}=y;(m==null?void 0:m.status)===400&&((V=(O=m.data)==null?void 0:O.message)!=null&&V.includes("plugin schema is currently in use"))?u.value=!0:g.value=s(y)}finally{p.value=!1}};return(f,C)=>{const O=t.resolveComponent("KButton"),V=t.resolveComponent("KModal");return!u.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(L.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(L.EntityTypes).Plugin,error:g.value,"need-confirm":"",title:d.value,visible:"",onCancel:C[0]||(C[0]=y=>f.$emit("closed")),onProceed:k},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(V,{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:C[2]||(C[2]=y=>f.$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(O,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:C[1]||(C[1]=y=>f.$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"]]),Sw={class:"custom-plugins-grid"},xw={class:"empty-state-title"},Nw={class:"empty-state-description"},Si=310,Vw=tt(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}}=Oe.useI18n(),{getTallestPluginCardHeight:r,getToggleVisibility:s}=Oe.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))[M.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:M.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(E):E}),g=t.ref(!1),u=t.ref(null),A=E=>{g.value=!0,u.value={id:E.id,name:E.name,customPluginType:E.customPluginType}},k=E=>{var b;E&&(a("revalidate"),a("delete:success",((b=u.value)==null?void 0:b.name)||"")),g.value=!1,u.value=null},T=t.ref(Si),f=t.ref(null),C=t.ref(null),O=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${T.value}px`}:{}),V=t.ref(!1),y=()=>{T.value=Math.max(r(C.value),Si),m()},m=()=>{var E,b;(E=C.value)!=null&&E.length&&(V.value=s(f.value,(b=C.value)==null?void 0:b.length))};return t.onMounted(async()=>{await t.nextTick(),T.value=Math.max(r(C.value),Si),m(),window==null||window.addEventListener("resize",y)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",y)}),(E,b)=>{const v=t.resolveComponent("KEmptyState"),I=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Sw,[p.value.length?(t.openBlock(),t.createBlock(I,{key:1,modelValue:l.value,"onUpdate:modelValue":b[0]||(b[0]=Y=>l.value=Y),class:"custom-plugins-collapse","data-testid":`${t.unref(M).CUSTOM_PLUGINS}-collapse`,title:t.unref(M).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:f,class:"plugin-card-container",style:t.normalizeStyle(O.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(Y,S)=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${S}`,ref_for:!0,ref_key:"pluginCardRef",ref:C,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:Y,onCustomPluginDelete:x=>A(Y),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[V.value?void 0:{name:"trigger",fn:t.withCtx(()=>[b[2]||(b[2]=t.createTextVNode("   "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(v,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",xw,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Nw,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),g.value&&u.value?(t.openBlock(),t.createBlock(Tw,{key:2,config:e.config,plugin:u.value,onClosed:k,onProceed:b[1]||(b[1]=Y=>k(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9703ee67"]]),xi=310,kr=tt(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}}=Oe.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=Oe.usePluginHelpers(),d=t.ref(xi),p=t.ref(null),g=t.ref(null),u=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),A=t.ref(!1),k=()=>{d.value=Math.max(s(g.value),xi),T()},T=()=>{var f,C;(f=g.value)!=null&&f.length&&(A.value=l(p.value,(C=g.value)==null?void 0:C.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=Math.max(s(g.value),xi),T(),window==null||window.addEventListener("resize",k)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",k)}),(f,C)=>{const O=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(O,{modelValue:i.value,"onUpdate:modelValue":C[0]||(C[0]=V=>i.value=V),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(u.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,V=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${V.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:g,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:V,onPluginClicked:y=>o("plugin-clicked",V)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[A.value?void 0:{name:"trigger",fn:t.withCtx(()=>[C[1]||(C[1]=t.createTextVNode("   "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),Pw={class:"plugin-select-grid"},Dw={class:"empty-state-title"},Uw={class:"empty-state-description"},Ni=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}}=Oe.useI18n(),r=t.ref(!1),s=t.ref(_i),l=p=>{a("plugin-clicked",p)},d=t.computed(()=>{const p=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete p[M.CUSTOM_PLUGINS],p});return(p,g)=>{const u=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",Pw,[Object.keys(d.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(u,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Dw,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Uw,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(kr,{key:1,modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=A=>r.value=A),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:g[1]||(g[1]=A=>l(A))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Wi),A=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[A]?(t.openBlock(),t.createElementBlock("div",{key:A},[t.createVNode(kr,{modelValue:s.value[A],"onUpdate:modelValue":k=>s.value[A]=k,config:e.config,name:A,"navigate-on-click":e.navigateOnClick,plugins:d.value[A]||[],onPluginClicked:g[2]||(g[2]=k=>l(k))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Gw={class:"kong-ui-entities-plugin-select-form"},Lw={class:"plugins-filter-input-container"},jw={key:0},Yw={key:3,"aria-live":"polite",class:"plugins-results-container"},Hw={"data-testid":"kong-tab"},Fw={class:"tab-description"},Kw={"data-testid":"custom-tab"},zw={class:"tab-description"},qw=tt(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 j;const i=e,a=n,o=Zt.useRoute(),r=Zt.useRouter(),{i18n:{t:s}}=Oe.useI18n(),{pluginMetaData:l}=Oe.usePluginMetaData(),{getMessageFromError:d}=L.useErrors(),{sortAlpha:p,objectsAreEqual:g}=L.useHelpers(),u=t.ref(""),A=t.ref(!0),k=t.ref(!1),T=t.ref(""),f=t.ref([]),C=t.ref([]),O=t.ref({}),V=t.ref([]),{axiosInstance:y}=L.useAxios((j=i.config)==null?void 0:j.axiosRequestConfig),m=t.computed(()=>O.value?Object.entries(O.value).filter(([w])=>w!==M.CUSTOM_PLUGINS).reduce((w,[,B])=>{for(const D of B)w[D.id]=D;return w},{}):{}),E=t.computed(()=>{var D;if(!O.value)return{};const w=u.value.toLowerCase(),B=JSON.parse(JSON.stringify(O.value));for(const W in O.value){const Q=((D=O.value[W])==null?void 0:D.filter(re=>re.name.toLowerCase().includes(w)||re.id.toLowerCase().includes(w)||re.group.toLowerCase().includes(w)))||[];Q.length?B[W]=Q:delete B[W]}return B}),b=t.computed(()=>i.highlightedPluginIds.reduce((w,B)=>{const D=m.value[B];return D&&w.push(D),w},[])),v=t.computed(()=>Object.keys(E.value).length>0),I=t.computed(()=>Object.keys(O.value).length>0&&!v.value),Y=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)}]:[]),S=t.computed(()=>{var B;let w=Y.value.length&&((o==null?void 0:o.hash)||((B=Y.value[0])==null?void 0:B.hash))||"";return w==="#custom"&&["none","disabled"].includes(i.customPluginSupport)&&(w="#kong"),w}),x=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...f.value])].filter(w=>!i.ignoredPlugins.includes(w)).filter(w=>i.config.entityType&&(i.config.entityType==="services"&&l[w]&&!l[w].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[w]&&!l[w].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[w]&&!l[w].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[w]&&!l[w].scope.includes(c.CONSUMER))?!1:w).reduce((w,B)=>{var ne;const D=l[B]&&l[B].name||B,W={...l[B],id:B,name:D,available:f.value.includes(B),disabledMessage:"",group:((ne=l[B])==null?void 0:ne.group)||M.CUSTOM_PLUGINS};W.group===M.CUSTOM_PLUGINS&&(W.customPluginType=C.value.find(te=>te.name===B)?"streaming":"schema"),i.disabledPlugins&&(W.disabledMessage=i.disabledPlugins[B]);const Q=W.group||s("plugins.select.misc_plugins");let re=w[Q];return re||(re=[]),re.push(W),re.sort(p("name")),w[Q]=re,w},{}),J=t.computed(()=>{var B;let w=`${i.config.apiBaseUrl}${ve.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(w=((B=i.config.gatewayInfo)==null?void 0:B.edition)==="community"?`${i.config.apiBaseUrl}${ve.select[i.config.app].availablePluginsForOss}`:w.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),w}),X=t.computed(()=>{if(i.config.app==="konnect"&&i.customPluginSupport==="streaming"){let w=`${i.config.apiBaseUrl}${ve.select[i.config.app].streamingCustomPlugins}`;return w=w.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""),w}return null}),F=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let w=`${i.config.apiBaseUrl}${ve.list[i.config.app].forEntity}`;return i.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(w=w.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),w.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),ae=w=>{r.replace({hash:w,query:o.query})};t.watch(()=>i.disabledPlugins,(w,B)=>{!g(w,B)&&!A.value&&(O.value=x())}),t.watch(()=>i.ignoredPlugins,(w,B)=>{!g(w,B)&&!A.value&&(O.value=x())}),t.watch(A,w=>{a("loading",w)});const z=t.ref(!1),G=t.ref(!1),$=t.ref(!1);return t.onBeforeMount(async()=>{z.value=await i.canCreateCustomPlugin(),G.value=await i.canEditCustomPlugin(),$.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:w}=await y.get(J.value);if(i.config.app==="konnect"){const{names:B}=w;if(f.value=B||[],X.value){const{data:D}=await y.get(X.value);C.value=D.data||[]}}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:B}}=w;f.value=B?Object.keys(B):[]}}catch(w){k.value=!0,T.value=d(w)}if(F.value)try{const{data:{data:w}}=await y.get(F.value);if(w!=null&&w.length){const B=w.reduce((D,W)=>(W.name&&D.push(W.name),D),[]);V.value=V.value.concat(B)}}catch{}k.value||(O.value=x()),A.value=!1}),(w,B)=>{const D=t.resolveComponent("KInput"),W=t.resolveComponent("KSkeletonBox"),Q=t.resolveComponent("KSkeleton"),re=t.resolveComponent("KEmptyState"),ne=t.resolveComponent("KTooltip"),te=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Gw,[t.createElementVNode("div",Lw,[t.createVNode(D,{modelValue:u.value,"onUpdate:modelValue":B[0]||(B[0]=q=>u.value=q),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),A.value?(t.openBlock(),t.createElementBlock("section",jw,[t.createVNode(W,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(Q,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):k.value?(t.openBlock(),t.createBlock(re,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(T.value),1)]),_:1})):I.value&&u.value?(t.openBlock(),t.createBlock(re,{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:u.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",Yw,[Y.value.length&&e.customPluginSupport!=="none"?(t.openBlock(),t.createBlock(te,{key:0,modelValue:S.value,"onUpdate:modelValue":B[5]||(B[5]=q=>S.value=q),"data-testid":"plugins-tabs",tabs:Y.value,onChange:ae},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",Hw,[t.createElementVNode("p",Fw,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(Ni,{config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":b.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:B[1]||(B[1]=q=>w.$emit("plugin-clicked",q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",Kw,[t.createElementVNode("p",zw,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Vw,{"can-create-custom-plugin":z.value,"can-delete-custom-plugin":$.value,"can-edit-custom-plugin":G.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,"onDelete:success":B[2]||(B[2]=q=>w.$emit("delete-custom:success",q)),onPluginClicked:B[3]||(B[3]=q=>w.$emit("plugin-clicked",q)),onRevalidate:B[4]||(B[4]=()=>O.value=x())},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(ne,{"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(Ni,{key:1,config:e.config,"hide-highlighted-plugins":u.value.length>0,"highlighted-plugins":b.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":E.value,onPluginClicked:B[6]||(B[6]=q=>w.$emit("plugin-clicked",q))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-429bc3e0"]]),Qw={class:"kong-ui-entity-plugin-config-card"},Jw={class:"name-cell-wrapper"},Xw={class:"info-name"},Zw={key:0},Ww={key:0},_w={key:0},$w={key:0},eC={key:0},Vi="config",tC=tt(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:""},expandPartial:{type:Boolean,default:!0}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var V;const i=n,a=e,{i18n:{t:o}}=Oe.useI18n(),r=Oe.usePluginMetaData(),{setFieldType:s}=Oe.usePluginHelpers(),{getPropValue:l}=L.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).concat(a.expandPartial?"?expand_partials=true":"")}),p=t.computed(()=>{var E,b;const y={},m=((E=f.value)==null?void 0:E.fields)||[];for(let v=0;v<m.length;v++){const I=f.value.fields[v],Y=(b=Object.keys(I))==null?void 0:b[0];s(y,Y,I[Y])}return{...y,instance_name:{section:L.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:L.ConfigurationSchemaSection.Basic,order:6},route:{label:o("plugins.fields.route"),section:L.ConfigurationSchemaSection.Basic,order:6},service:{label:o("plugins.fields.service"),section:L.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:L.ConfigurationSchemaSection.Basic,order:6},protocols:{type:L.ConfigurationSchemaType.BadgeTag,section:L.ConfigurationSchemaSection.Basic,order:7}}}),g=t.computed(()=>{var m,E,b;if(!((m=f.value)!=null&&m.fields))return[];const y=(E=f.value.fields)==null?void 0:E.find(v=>{var Y;return((Y=Object.keys(v))==null?void 0:Y[0])===Vi});return((b=y==null?void 0:y[Vi])==null?void 0:b.fields)||[]}),u=t.computed(()=>{var m,E;const y={};if(!g.value)return y;for(let b=0;b<((m=g.value)==null?void 0:m.length);b++){const v=g.value[b],I=(E=Object.keys(v))==null?void 0:E[0],Y=v[I];Y.required&&(y[I]={order:1}),s(y,I,Y)}return y}),{getMessageFromError:A}=L.useErrors(),{axiosInstance:k}=L.useAxios((V=a.config)==null?void 0:V.axiosRequestConfig),T=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}),f=t.ref({});L.useSchemaProvider(f);const C=t.ref(!1),O=t.ref("");return t.onBeforeMount(async()=>{C.value=!0;try{const{data:y}=await k.get(T.value);f.value=y}catch(y){O.value=A(y),i("error:fetch-schema",y)}finally{C.value=!1}}),(y,m)=>{const E=t.resolveComponent("KSkeleton"),b=t.resolveComponent("KEmptyState"),v=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Qw,[C.value?(t.openBlock(),t.createBlock(E,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):O.value?(t.openBlock(),t.createBlock(b,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(O.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(L.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"entity-type":t.unref(L.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":Vi,"plugin-config-schema":u.value,"onFetch:error":m[0]||(m[0]=I=>y.$emit("fetch:error",I)),"onFetch:success":m[1]||(m[1]=I=>y.$emit("fetch:success",I)),onLoading:m[2]||(m[2]=I=>y.$emit("loading",I))},{name:t.withCtx(I=>[t.createElementVNode("div",Jw,[t.createVNode(qn,{class:"plugin-icon",name:t.unref(l)("rowValue",I),size:24},null,8,["name"]),t.createElementVNode("span",Xw,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",I))),1)])]),consumer:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",Zw,"–"))]),route:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",Ww,"–"))]),service:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",_w,"–"))]),consumer_group:t.withCtx(I=>[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",I).id,value:t.unref(l)("rowValue",I).id,type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>y.$emit("navigation-click",t.unref(l)("rowValue",I).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",I).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",$w,"–"))]),partials:t.withCtx(I=>{var Y,S,x,J,X,F,ae,z,G;return[t.unref(l)("rowValue",I)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(L.InternalLinkItem),{key:1,item:{key:(S=(Y=t.unref(l)("rowValue",I))==null?void 0:Y[0])==null?void 0:S.id,value:((J=(x=t.unref(l)("rowValue",I))==null?void 0:x[0])==null?void 0:J.id)+((F=(X=t.unref(l)("rowValue",I))==null?void 0:X[0])!=null&&F.name?"/"+((z=(ae=t.unref(l)("rowValue",I))==null?void 0:ae[0])==null?void 0:z.name):""),type:t.unref(L.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>{var $,j;return y.$emit("navigation-click",(j=($=t.unref(l)("rowValue",I))==null?void 0:$[0])==null?void 0:j.id,"partial")}},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(v,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",I).label}),"data-testid":"partial-copy-uuid",text:(G=t.unref(l)("rowValue",I))==null?void 0:G[0].id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",eC,"–"))]}),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-4bc6daa7"]]),{usePluginMetaData:nC}=Oe;_.EntityTypeIdField=Et,_.PLUGIN_GROUPS_COLLAPSE_STATUS=_i,_.PluginConfigCard=tC,_.PluginForm=rE,_.PluginGroup=M,_.PluginGroupArray=Wi,_.PluginIcon=qn,_.PluginList=Ew,_.PluginPartialType=kn,_.PluginScope=c,_.PluginSelect=qw,_.PluginSelectCard=Ti,_.PluginSelectGrid=Ni,_.VueFormGenerator=Te,_.getPluginIconURL=oa,_.pluginEndpoints=ve,_.usePluginMetaData=nC,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})});