@kong-ui-public/entities-plugins 8.12.8 → 8.12.10
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.
|
@@ -10161,7 +10161,7 @@ will extend the wait time by about 12 minutes, continuously adjusting as new req
|
|
|
10161
10161
|
list: {
|
|
10162
10162
|
konnect: {
|
|
10163
10163
|
getAll: `${fi}/vaults`,
|
|
10164
|
-
deleteConfigStore: `${ss}/{id}`
|
|
10164
|
+
deleteConfigStore: `${ss}/{id}?force=true`
|
|
10165
10165
|
},
|
|
10166
10166
|
kongManager: {
|
|
10167
10167
|
getAll: `${hi}/vaults`
|
|
@@ -65,4 +65,4 @@ Please report this to https://github.com/markedjs/marked.`,n){const r="<p>An err
|
|
|
65
65
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})}]},ul={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"]}}]},Vi={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:"text",encrypted:!0}}]},pl={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."}}]},Qe={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},jwt:{descriptionKey:"plugins.meta.jwt.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.jwt.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",group:R.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},cors:{descriptionKey:"plugins.meta.cors.description",group:R.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.cors.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",group:R.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]}},opa:{descriptionKey:"plugins.meta.opa.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.opa.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",group:R.DEPLOYMENT,isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",scope:[c.GLOBAL]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]}},acl:{descriptionKey:"plugins.meta.acl.description",group:R.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.acl.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],fieldRules:{onlyOneOf:[["config.allow","config.deny"]]}},canary:{descriptionKey:"plugins.meta.canary.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.canary.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]}},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]}},"proxy-cache":{descriptionKey:"plugins.meta.proxy-cache.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],imageName:"proxy-cache"},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],imageName:"graphql"},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",group:R.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.second","config.minute","config.hour","config.day","config.month","config.year"]]}},"graphql-rate-limiting-advanced":{descriptionKey:"plugins.meta.graphql-rate-limiting-advanced.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},mocking:{descriptionKey:"plugins.meta.mocking.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.mocking.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]}},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",group:R.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",group:R.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",group:R.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],useLegacyForm:!0},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],useLegacyForm:!0},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",group:R.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",group:R.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",group:R.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",group:R.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],imageName:"kong-function"},"post-function":{descriptionKey:"plugins.meta.post-function.description",group:R.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.post-function.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],imageName:"kong-function"},datadog:{descriptionKey:"plugins.meta.datadog.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.datadog.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},prometheus:{descriptionKey:"plugins.meta.prometheus.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},zipkin:{descriptionKey:"plugins.meta.zipkin.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},collector:{descriptionKey:"plugins.meta.collector.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.collector.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",group:R.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",group:R.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",group:R.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",group:R.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]}},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},jq:{descriptionKey:"plugins.meta.jq.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.jq.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]}},"file-log":{descriptionKey:"plugins.meta.file-log.description",group:R.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.file-log.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"http-log":{descriptionKey:"plugins.meta.http-log.description",group:R.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.http-log.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},loggly:{descriptionKey:"plugins.meta.loggly.description",group:R.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.loggly.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},statsd:{descriptionKey:"plugins.meta.statsd.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.statsd.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},syslog:{descriptionKey:"plugins.meta.syslog.description",group:R.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.syslog.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",group:R.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",group:R.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",group:R.LOGGING,isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},session:{descriptionKey:"plugins.meta.session.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.session.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",scope:[c.SERVICE]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",group:R.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",scope:[c.GLOBAL,c.SERVICE],imageName:"application-registration"},acme:{descriptionKey:"plugins.meta.acme.description",group:R.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.acme.name",scope:[c.GLOBAL]},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",group:R.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",group:R.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{atLeastOneOf:[["config.traces_endpoint","config.logs_endpoint"]]}},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]}},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},saml:{descriptionKey:"plugins.meta.saml.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.saml.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",group:R.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]},"json-threat-protection":{descriptionKey:"plugins.meta.json-threat-protection.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.json-threat-protection.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"standard-webhooks":{descriptionKey:"plugins.meta.standard-webhooks.description",group:R.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.standard-webhooks.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]},"ai-proxy-advanced":{descriptionKey:"plugins.meta.ai-proxy-advanced.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-proxy-advanced.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"ai-semantic-cache":{descriptionKey:"plugins.meta.ai-semantic-cache.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-cache.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER],useLegacyForm:!0},"ai-semantic-prompt-guard":{descriptionKey:"plugins.meta.ai-semantic-prompt-guard.description",group:R.AI,isEnterprise:!0,nameKey:"plugins.meta.ai-semantic-prompt-guard.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],useLegacyForm:!0},"header-cert-auth":{descriptionKey:"plugins.meta.header-cert-auth.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.header-cert-auth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE],imageName:"tls-metadata-headers",fieldRules:{onlyOneOfMutuallyRequired:[[["config.http_proxy_host","config.http_proxy_port"],["config.https_proxy_host","config.https_proxy_port"]]]}},"upstream-oauth":{descriptionKey:"plugins.meta.upstream-oauth.description",group:R.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.upstream-oauth.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER,c.CONSUMER_GROUP],imageName:"oauth2"},confluent:{descriptionKey:"plugins.meta.confluent.description",group:R.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.confluent.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE,c.CONSUMER]}},Rt={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:vi,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:ft(vi),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Ri,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:ft(Ri)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Si,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:ft(Si)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Vi,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:ft(Vi)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:xi,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:ft(xi)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Ti,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:ft(Ti)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:cl,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Al={acls:al,basicauth_credentials:ol,keyauth_credentials:rl,keyauth_enc_credentials:pl,oauth2_credentials:ul,hmacauth_credentials:sl,jwt_secrets:dl},Ni=e=>{var a;const n=((a=Qe[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":hr,"../assets/images/plugin-icons/acme.png":yr,"../assets/images/plugin-icons/ai-azure-content-safety.png":br,"../assets/images/plugin-icons/ai-data-sanitization.png":Er,"../assets/images/plugin-icons/ai-prompt-decorator.png":wr,"../assets/images/plugin-icons/ai-prompt-guard.png":Cr,"../assets/images/plugin-icons/ai-prompt-template.png":Br,"../assets/images/plugin-icons/ai-proxy-advanced.png":kr,"../assets/images/plugin-icons/ai-proxy.png":Ir,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":Or,"../assets/images/plugin-icons/ai-request-transformer.png":Mr,"../assets/images/plugin-icons/ai-response-transformer.png":vr,"../assets/images/plugin-icons/ai-semantic-cache.png":Rr,"../assets/images/plugin-icons/ai-semantic-prompt-guard.png":Sr,"../assets/images/plugin-icons/app-dynamics.png":Tr,"../assets/images/plugin-icons/application-registration.png":xr,"../assets/images/plugin-icons/aws-lambda.png":Vr,"../assets/images/plugin-icons/azure-functions.png":Nr,"../assets/images/plugin-icons/basic-auth.png":Dr,"../assets/images/plugin-icons/bot-detection.png":Lr,"../assets/images/plugin-icons/canary.png":Gr,"../assets/images/plugin-icons/collector.png":Ur,"../assets/images/plugin-icons/confluent.png":Pr,"../assets/images/plugin-icons/correlation-id.png":Yr,"../assets/images/plugin-icons/cors.png":jr,"../assets/images/plugin-icons/datadog.png":Hr,"../assets/images/plugin-icons/degraphql.png":Fr,"../assets/images/plugin-icons/dynamic-ssl.png":zr,"../assets/images/plugin-icons/exit-transformer.png":Kr,"../assets/images/plugin-icons/file-log.png":Xr,"../assets/images/plugin-icons/forward-proxy.png":qr,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":Qr,"../assets/images/plugin-icons/graphql.png":Jr,"../assets/images/plugin-icons/grpc-gateway.png":Zr,"../assets/images/plugin-icons/grpc-web.png":Wr,"../assets/images/plugin-icons/hmac-auth.png":_r,"../assets/images/plugin-icons/http-log.png":$r,"../assets/images/plugin-icons/ip-restriction.png":es,"../assets/images/plugin-icons/jq.png":ts,"../assets/images/plugin-icons/json-threat-protection.png":ns,"../assets/images/plugin-icons/jwe-decrypt.png":is,"../assets/images/plugin-icons/jwt-signer.png":as,"../assets/images/plugin-icons/jwt.png":os,"../assets/images/plugin-icons/kafka-log.png":rs,"../assets/images/plugin-icons/kafka-upstream.png":ss,"../assets/images/plugin-icons/key-auth-enc.png":ls,"../assets/images/plugin-icons/key-auth.png":cs,"../assets/images/plugin-icons/kong-function.png":ds,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":us,"../assets/images/plugin-icons/ldap-auth-advanced.png":ps,"../assets/images/plugin-icons/ldap-auth.png":As,"../assets/images/plugin-icons/loggly.png":gs,"../assets/images/plugin-icons/missing.png":ms,"../assets/images/plugin-icons/mocking.png":fs,"../assets/images/plugin-icons/mtls-auth.png":hs,"../assets/images/plugin-icons/new.png":ys,"../assets/images/plugin-icons/oas-validation.png":bs,"../assets/images/plugin-icons/oauth2-introspection.png":Es,"../assets/images/plugin-icons/oauth2.png":ws,"../assets/images/plugin-icons/opa.png":Cs,"../assets/images/plugin-icons/openid-connect.png":Bs,"../assets/images/plugin-icons/opentelemetry.png":ks,"../assets/images/plugin-icons/openwhisk.png":Is,"../assets/images/plugin-icons/prometheus.png":Os,"../assets/images/plugin-icons/proxy-cache.png":Ms,"../assets/images/plugin-icons/rate-limiting-advanced.png":vs,"../assets/images/plugin-icons/rate-limiting.png":Rs,"../assets/images/plugin-icons/request-size-limiting.png":Ss,"../assets/images/plugin-icons/request-termination.png":Ts,"../assets/images/plugin-icons/request-transformer-advanced.png":xs,"../assets/images/plugin-icons/request-transformer.png":Vs,"../assets/images/plugin-icons/request-validator.png":Ns,"../assets/images/plugin-icons/response-ratelimiting.png":Ds,"../assets/images/plugin-icons/response-transformer-advanced.png":Ls,"../assets/images/plugin-icons/response-transformer.png":Gs,"../assets/images/plugin-icons/route-by-header.png":Us,"../assets/images/plugin-icons/route-transformer-advanced.png":Ps,"../assets/images/plugin-icons/runscope.png":Ys,"../assets/images/plugin-icons/saml.png":js,"../assets/images/plugin-icons/session.png":Hs,"../assets/images/plugin-icons/standard-webhooks.png":Fs,"../assets/images/plugin-icons/statsd-advanced.png":zs,"../assets/images/plugin-icons/statsd.png":Ks,"../assets/images/plugin-icons/syslog.png":Xs,"../assets/images/plugin-icons/tcp-log.png":qs,"../assets/images/plugin-icons/tls-handshake-modifier.png":Qs,"../assets/images/plugin-icons/tls-metadata-headers.png":Js,"../assets/images/plugin-icons/udp-log.png":Zs,"../assets/images/plugin-icons/upstream-timeout.png":Ws,"../assets/images/plugin-icons/upstream-tls.png":_s,"../assets/images/plugin-icons/vault-auth.png":$s,"../assets/images/plugin-icons/websocket-size-limit.png":el,"../assets/images/plugin-icons/websocket-validator.png":tl,"../assets/images/plugin-icons/xml-threat-protection.png":nl,"../assets/images/plugin-icons/zipkin.png":il})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:vt&&vt.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:vt&&vt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},gl=()=>{const{i18n:{t:e}}=ln(),n={},i={};for(const[r,o]of Object.entries(Qe))n[r]={...o,name:e(o.nameKey),description:e(o.descriptionKey)};for(const[r,o]of Object.entries(Rt))i[r]={...o,name:e(o.nameKey),title:e(o.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:Rt,getDisplayName:r=>{var o;return((o=n[r])==null?void 0:o.name)||r}}};function Di(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function ml(e){return function(n,i,a){for(var r=-1,o=Object(n),s=a(n),l=s.length;l--;){var d=s[++r];if(i(o[d],d,o)===!1)break}return n}}var fl=ml();function hl(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var Li=typeof global=="object"&&global&&global.Object===Object&&global,yl=typeof self=="object"&&self&&self.Object===Object&&self,Pe=Li||yl||Function("return this")(),Je=Pe.Symbol,Gi=Object.prototype,bl=Gi.hasOwnProperty,El=Gi.toString,zt=Je?Je.toStringTag:void 0;function wl(e){var n=bl.call(e,zt),i=e[zt];try{e[zt]=void 0;var a=!0}catch{}var r=El.call(e);return a&&(n?e[zt]=i:delete e[zt]),r}var Cl=Object.prototype,Bl=Cl.toString;function kl(e){return Bl.call(e)}var Il="[object Null]",Ol="[object Undefined]",Ui=Je?Je.toStringTag:void 0;function nt(e){return e==null?e===void 0?Ol:Il:Ui&&Ui in Object(e)?wl(e):kl(e)}function Ze(e){return e!=null&&typeof e=="object"}var Ml="[object Arguments]";function Pi(e){return Ze(e)&&nt(e)==Ml}var Yi=Object.prototype,vl=Yi.hasOwnProperty,Rl=Yi.propertyIsEnumerable,ji=Pi(function(){return arguments}())?Pi:function(e){return Ze(e)&&vl.call(e,"callee")&&!Rl.call(e,"callee")},Ye=Array.isArray;function Sl(){return!1}var Hi=typeof ee=="object"&&ee&&!ee.nodeType&&ee,Fi=Hi&&typeof module=="object"&&module&&!module.nodeType&&module,Tl=Fi&&Fi.exports===Hi,zi=Tl?Pe.Buffer:void 0,xl=zi?zi.isBuffer:void 0,cn=xl||Sl,Vl=9007199254740991,Nl=/^(?:0|[1-9]\d*)$/;function Nn(e,n){var i=typeof e;return n=n??Vl,!!n&&(i=="number"||i!="symbol"&&Nl.test(e))&&e>-1&&e%1==0&&e<n}var Dl=9007199254740991;function Dn(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Dl}var Ll="[object Arguments]",Gl="[object Array]",Ul="[object Boolean]",Pl="[object Date]",Yl="[object Error]",jl="[object Function]",Hl="[object Map]",Fl="[object Number]",zl="[object Object]",Kl="[object RegExp]",Xl="[object Set]",ql="[object String]",Ql="[object WeakMap]",Jl="[object ArrayBuffer]",Zl="[object DataView]",Wl="[object Float32Array]",_l="[object Float64Array]",$l="[object Int8Array]",ec="[object Int16Array]",tc="[object Int32Array]",nc="[object Uint8Array]",ic="[object Uint8ClampedArray]",ac="[object Uint16Array]",oc="[object Uint32Array]",me={};me[Wl]=me[_l]=me[$l]=me[ec]=me[tc]=me[nc]=me[ic]=me[ac]=me[oc]=!0,me[Ll]=me[Gl]=me[Jl]=me[Ul]=me[Zl]=me[Pl]=me[Yl]=me[jl]=me[Hl]=me[Fl]=me[zl]=me[Kl]=me[Xl]=me[ql]=me[Ql]=!1;function rc(e){return Ze(e)&&Dn(e.length)&&!!me[nt(e)]}function Ln(e){return function(n){return e(n)}}var Ki=typeof ee=="object"&&ee&&!ee.nodeType&&ee,Kt=Ki&&typeof module=="object"&&module&&!module.nodeType&&module,sc=Kt&&Kt.exports===Ki,Gn=sc&&Li.process,St=function(){try{var e=Kt&&Kt.require&&Kt.require("util").types;return e||Gn&&Gn.binding&&Gn.binding("util")}catch{}}(),Xi=St&&St.isTypedArray,qi=Xi?Ln(Xi):rc,lc=Object.prototype,cc=lc.hasOwnProperty;function Qi(e,n){var i=Ye(e),a=!i&&ji(e),r=!i&&!a&&cn(e),o=!i&&!a&&!r&&qi(e),s=i||a||r||o,l=s?hl(e.length,String):[],d=l.length;for(var p in e)(n||cc.call(e,p))&&!(s&&(p=="length"||r&&(p=="offset"||p=="parent")||o&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||Nn(p,d)))&&l.push(p);return l}var dc=Object.prototype;function Un(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||dc;return e===i}function Ji(e,n){return function(i){return e(n(i))}}var uc=Ji(Object.keys,Object),pc=Object.prototype,Ac=pc.hasOwnProperty;function gc(e){if(!Un(e))return uc(e);var n=[];for(var i in Object(e))Ac.call(e,i)&&i!="constructor"&&n.push(i);return n}function Re(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var mc="[object AsyncFunction]",fc="[object Function]",hc="[object GeneratorFunction]",yc="[object Proxy]";function fe(e){if(!Re(e))return!1;var n=nt(e);return n==fc||n==hc||n==mc||n==yc}function Xt(e){return e!=null&&Dn(e.length)&&!fe(e)}function Tt(e){return Xt(e)?Qi(e):gc(e)}function bc(e,n){return e&&fl(e,n,Tt)}function Ec(e,n){return function(i,a){if(i==null)return i;if(!Xt(i))return e(i,a);for(var r=i.length,o=-1,s=Object(i);++o<r&&a(s[o],o,s)!==!1;);return i}}var wc=Ec(bc);function dn(e){return e}function Cc(e){return typeof e=="function"?e:dn}function Se(e,n){var i=Ye(e)?Di:wc;return i(e,Cc(n))}var Bc="[object Symbol]";function un(e){return typeof e=="symbol"||Ze(e)&&nt(e)==Bc}var kc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ic=/^\w*$/;function Pn(e,n){if(Ye(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||un(e)?!0:Ic.test(e)||!kc.test(e)||n!=null&&e in Object(n)}var Yn=Pe["__core-js_shared__"],Zi=function(){var e=/[^.]+$/.exec(Yn&&Yn.keys&&Yn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Oc(e){return!!Zi&&Zi in e}var Mc=Function.prototype,vc=Mc.toString;function ht(e){if(e!=null){try{return vc.call(e)}catch{}try{return e+""}catch{}}return""}var Rc=/[\\^$.*+?()[\]{}|]/g,Sc=/^\[object .+?Constructor\]$/,Tc=Function.prototype,xc=Object.prototype,Vc=Tc.toString,Nc=xc.hasOwnProperty,Dc=RegExp("^"+Vc.call(Nc).replace(Rc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Lc(e){if(!Re(e)||Oc(e))return!1;var n=fe(e)?Dc:Sc;return n.test(ht(e))}function Gc(e,n){return e==null?void 0:e[n]}function yt(e,n){var i=Gc(e,n);return Lc(i)?i:void 0}var qt=yt(Object,"create");function Uc(){this.__data__=qt?qt(null):{},this.size=0}function Pc(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var Yc="__lodash_hash_undefined__",jc=Object.prototype,Hc=jc.hasOwnProperty;function Fc(e){var n=this.__data__;if(qt){var i=n[e];return i===Yc?void 0:i}return Hc.call(n,e)?n[e]:void 0}var zc=Object.prototype,Kc=zc.hasOwnProperty;function Xc(e){var n=this.__data__;return qt?n[e]!==void 0:Kc.call(n,e)}var qc="__lodash_hash_undefined__";function Qc(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=qt&&n===void 0?qc:n,this}function bt(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])}}bt.prototype.clear=Uc,bt.prototype.delete=Pc,bt.prototype.get=Fc,bt.prototype.has=Xc,bt.prototype.set=Qc;function Jc(){this.__data__=[],this.size=0}function Qt(e,n){return e===n||e!==e&&n!==n}function pn(e,n){for(var i=e.length;i--;)if(Qt(e[i][0],n))return i;return-1}var Zc=Array.prototype,Wc=Zc.splice;function _c(e){var n=this.__data__,i=pn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():Wc.call(n,i,1),--this.size,!0}function $c(e){var n=this.__data__,i=pn(n,e);return i<0?void 0:n[i][1]}function ed(e){return pn(this.__data__,e)>-1}function td(e,n){var i=this.__data__,a=pn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function _e(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])}}_e.prototype.clear=Jc,_e.prototype.delete=_c,_e.prototype.get=$c,_e.prototype.has=ed,_e.prototype.set=td;var Jt=yt(Pe,"Map");function nd(){this.size=0,this.__data__={hash:new bt,map:new(Jt||_e),string:new bt}}function id(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function An(e,n){var i=e.__data__;return id(n)?i[typeof n=="string"?"string":"hash"]:i.map}function ad(e){var n=An(this,e).delete(e);return this.size-=n?1:0,n}function od(e){return An(this,e).get(e)}function rd(e){return An(this,e).has(e)}function sd(e,n){var i=An(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function $e(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])}}$e.prototype.clear=nd,$e.prototype.delete=ad,$e.prototype.get=od,$e.prototype.has=rd,$e.prototype.set=sd;var ld="Expected a function";function jn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(ld);var i=function(){var a=arguments,r=n?n.apply(this,a):a[0],o=i.cache;if(o.has(r))return o.get(r);var s=e.apply(this,a);return i.cache=o.set(r,s)||o,s};return i.cache=new(jn.Cache||$e),i}jn.Cache=$e;var cd=500;function dd(e){var n=jn(e,function(a){return i.size===cd&&i.clear(),a}),i=n.cache;return n}var ud=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,pd=/\\(\\)?/g,Ad=dd(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(ud,function(i,a,r,o){n.push(r?o.replace(pd,"$1"):a||i)}),n});function gd(e,n){for(var i=-1,a=e==null?0:e.length,r=Array(a);++i<a;)r[i]=n(e[i],i,e);return r}var md=1/0,Wi=Je?Je.prototype:void 0,_i=Wi?Wi.toString:void 0;function $i(e){if(typeof e=="string")return e;if(Ye(e))return gd(e,$i)+"";if(un(e))return _i?_i.call(e):"";var n=e+"";return n=="0"&&1/e==-md?"-0":n}function ea(e){return e==null?"":$i(e)}function ta(e,n){return Ye(e)?e:Pn(e,n)?[e]:Ad(ea(e))}var fd=1/0;function gn(e){if(typeof e=="string"||un(e))return e;var n=e+"";return n=="0"&&1/e==-fd?"-0":n}function na(e,n){n=ta(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[gn(n[i++])];return i&&i==a?e:void 0}function ce(e,n,i){var a=e==null?void 0:na(e,n);return a===void 0?i:a}function we(e){return e==null}const it="kong-ui-forms-api",at="autofill",je="autofillSlot";function hd(){this.__data__=new _e,this.size=0}function yd(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function bd(e){return this.__data__.get(e)}function Ed(e){return this.__data__.has(e)}var wd=200;function Cd(e,n){var i=this.__data__;if(i instanceof _e){var a=i.__data__;if(!Jt||a.length<wd-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new $e(a)}return i.set(e,n),this.size=i.size,this}function We(e){var n=this.__data__=new _e(e);this.size=n.size}We.prototype.clear=hd,We.prototype.delete=yd,We.prototype.get=bd,We.prototype.has=Ed,We.prototype.set=Cd;var mn=function(){try{var e=yt(Object,"defineProperty");return e({},"",{}),e}catch{}}();function ia(e,n,i){n=="__proto__"&&mn?mn(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var Bd=Object.prototype,kd=Bd.hasOwnProperty;function aa(e,n,i){var a=e[n];(!(kd.call(e,n)&&Qt(a,i))||i===void 0&&!(n in e))&&ia(e,n,i)}function fn(e,n,i,a){var r=!i;i||(i={});for(var o=-1,s=n.length;++o<s;){var l=n[o],d=void 0;d===void 0&&(d=e[l]),r?ia(i,l,d):aa(i,l,d)}return i}function Id(e,n){return e&&fn(n,Tt(n),e)}function Od(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var Md=Object.prototype,vd=Md.hasOwnProperty;function Rd(e){if(!Re(e))return Od(e);var n=Un(e),i=[];for(var a in e)a=="constructor"&&(n||!vd.call(e,a))||i.push(a);return i}function hn(e){return Xt(e)?Qi(e,!0):Rd(e)}function Sd(e,n){return e&&fn(n,hn(n),e)}var oa=typeof ee=="object"&&ee&&!ee.nodeType&&ee,ra=oa&&typeof module=="object"&&module&&!module.nodeType&&module,Td=ra&&ra.exports===oa,sa=Td?Pe.Buffer:void 0,la=sa?sa.allocUnsafe:void 0;function xd(e,n){if(n)return e.slice();var i=e.length,a=la?la(i):new e.constructor(i);return e.copy(a),a}function Vd(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function Nd(e,n){for(var i=-1,a=e==null?0:e.length,r=0,o=[];++i<a;){var s=e[i];n(s,i,e)&&(o[r++]=s)}return o}function ca(){return[]}var Dd=Object.prototype,Ld=Dd.propertyIsEnumerable,da=Object.getOwnPropertySymbols,Hn=da?function(e){return e==null?[]:(e=Object(e),Nd(da(e),function(n){return Ld.call(e,n)}))}:ca;function Gd(e,n){return fn(e,Hn(e),n)}function ua(e,n){for(var i=-1,a=n.length,r=e.length;++i<a;)e[r+i]=n[i];return e}var pa=Ji(Object.getPrototypeOf,Object),Ud=Object.getOwnPropertySymbols,Aa=Ud?function(e){for(var n=[];e;)ua(n,Hn(e)),e=pa(e);return n}:ca;function Pd(e,n){return fn(e,Aa(e),n)}function ga(e,n,i){var a=n(e);return Ye(e)?a:ua(a,i(e))}function Fn(e){return ga(e,Tt,Hn)}function Yd(e){return ga(e,hn,Aa)}var zn=yt(Pe,"DataView"),Kn=yt(Pe,"Promise"),xt=yt(Pe,"Set"),Xn=yt(Pe,"WeakMap"),ma="[object Map]",jd="[object Object]",fa="[object Promise]",ha="[object Set]",ya="[object WeakMap]",ba="[object DataView]",Hd=ht(zn),Fd=ht(Jt),zd=ht(Kn),Kd=ht(xt),Xd=ht(Xn),ze=nt;(zn&&ze(new zn(new ArrayBuffer(1)))!=ba||Jt&&ze(new Jt)!=ma||Kn&&ze(Kn.resolve())!=fa||xt&&ze(new xt)!=ha||Xn&&ze(new Xn)!=ya)&&(ze=function(e){var n=nt(e),i=n==jd?e.constructor:void 0,a=i?ht(i):"";if(a)switch(a){case Hd:return ba;case Fd:return ma;case zd:return fa;case Kd:return ha;case Xd:return ya}return n});var qd=Object.prototype,Qd=qd.hasOwnProperty;function Jd(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&Qd.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var yn=Pe.Uint8Array;function qn(e){var n=new e.constructor(e.byteLength);return new yn(n).set(new yn(e)),n}function Zd(e,n){var i=n?qn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var Wd=/\w*$/;function _d(e){var n=new e.constructor(e.source,Wd.exec(e));return n.lastIndex=e.lastIndex,n}var Ea=Je?Je.prototype:void 0,wa=Ea?Ea.valueOf:void 0;function $d(e){return wa?Object(wa.call(e)):{}}function eu(e,n){var i=n?qn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var tu="[object Boolean]",nu="[object Date]",iu="[object Map]",au="[object Number]",ou="[object RegExp]",ru="[object Set]",su="[object String]",lu="[object Symbol]",cu="[object ArrayBuffer]",du="[object DataView]",uu="[object Float32Array]",pu="[object Float64Array]",Au="[object Int8Array]",gu="[object Int16Array]",mu="[object Int32Array]",fu="[object Uint8Array]",hu="[object Uint8ClampedArray]",yu="[object Uint16Array]",bu="[object Uint32Array]";function Eu(e,n,i){var a=e.constructor;switch(n){case cu:return qn(e);case tu:case nu:return new a(+e);case du:return Zd(e,i);case uu:case pu:case Au:case gu:case mu:case fu:case hu:case yu:case bu:return eu(e,i);case iu:return new a;case au:case su:return new a(e);case ou:return _d(e);case ru:return new a;case lu:return $d(e)}}var Ca=Object.create,wu=function(){function e(){}return function(n){if(!Re(n))return{};if(Ca)return Ca(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function Cu(e){return typeof e.constructor=="function"&&!Un(e)?wu(pa(e)):{}}var Bu="[object Map]";function ku(e){return Ze(e)&&ze(e)==Bu}var Ba=St&&St.isMap,Iu=Ba?Ln(Ba):ku,Ou="[object Set]";function Mu(e){return Ze(e)&&ze(e)==Ou}var ka=St&&St.isSet,vu=ka?Ln(ka):Mu,Ru=1,Su=2,Tu=4,Ia="[object Arguments]",xu="[object Array]",Vu="[object Boolean]",Nu="[object Date]",Du="[object Error]",Oa="[object Function]",Lu="[object GeneratorFunction]",Gu="[object Map]",Uu="[object Number]",Ma="[object Object]",Pu="[object RegExp]",Yu="[object Set]",ju="[object String]",Hu="[object Symbol]",Fu="[object WeakMap]",zu="[object ArrayBuffer]",Ku="[object DataView]",Xu="[object Float32Array]",qu="[object Float64Array]",Qu="[object Int8Array]",Ju="[object Int16Array]",Zu="[object Int32Array]",Wu="[object Uint8Array]",_u="[object Uint8ClampedArray]",$u="[object Uint16Array]",ep="[object Uint32Array]",Ae={};Ae[Ia]=Ae[xu]=Ae[zu]=Ae[Ku]=Ae[Vu]=Ae[Nu]=Ae[Xu]=Ae[qu]=Ae[Qu]=Ae[Ju]=Ae[Zu]=Ae[Gu]=Ae[Uu]=Ae[Ma]=Ae[Pu]=Ae[Yu]=Ae[ju]=Ae[Hu]=Ae[Wu]=Ae[_u]=Ae[$u]=Ae[ep]=!0,Ae[Du]=Ae[Oa]=Ae[Fu]=!1;function Zt(e,n,i,a,r,o){var s,l=n&Ru,d=n&Su,p=n&Tu;if(s!==void 0)return s;if(!Re(e))return e;var u=Ye(e);if(u){if(s=Jd(e),!l)return Vd(e,s)}else{var A=ze(e),g=A==Oa||A==Lu;if(cn(e))return xd(e,l);if(A==Ma||A==Ia||g&&!r){if(s=d||g?{}:Cu(e),!l)return d?Pd(e,Sd(s,e)):Gd(e,Id(s,e))}else{if(!Ae[A])return r?e:{};s=Eu(e,A,l)}}o||(o=new We);var C=o.get(e);if(C)return C;o.set(e,s),vu(e)?e.forEach(function(M){s.add(Zt(M,n,i,M,e,o))}):Iu(e)&&e.forEach(function(M,S){s.set(S,Zt(M,n,i,S,e,o))});var k=p?d?Yd:Fn:d?hn:Tt,h=u?void 0:k(e);return Di(h||e,function(M,S){h&&(S=M,M=e[S]),aa(s,S,Zt(M,n,i,S,e,o))}),s}var tp=1,np=4;function et(e){return Zt(e,tp|np)}const Qn=(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,""),va=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var ip="[object String]";function Et(e){return typeof e=="string"||!Ye(e)&&Ze(e)&&nt(e)==ip}const Ra={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)?Se(e.styleClasses,a=>i[a]=!0):Et(e.styleClasses)&&(i[e.styleClasses]=!0),we(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 fe(e.disabled)?e.disabled.call(this,this.model,e,this):we(e.disabled)?!1:e.disabled},fieldReadonly(e){return fe(e.readonly)?e.readonly.call(this,this.model,e,this):we(e.readonly)?!1:e.readonly},fieldFeatured(e){return fe(e.featured)?e.featured.call(this,this.model,e,this):we(e.featured)?!1:e.featured},fieldRequired(e){return fe(e.required)?e.required.call(this,this.model,e,this):we(e.required)?!1:e.required}}};var Jn=function(){return Pe.Date.now()},ap=/\s/;function op(e){for(var n=e.length;n--&&ap.test(e.charAt(n)););return n}var rp=/^\s+/;function sp(e){return e&&e.slice(0,op(e)+1).replace(rp,"")}var Sa=NaN,lp=/^[-+]0x[0-9a-f]+$/i,cp=/^0b[01]+$/i,dp=/^0o[0-7]+$/i,up=parseInt;function Zn(e){if(typeof e=="number")return e;if(un(e))return Sa;if(Re(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Re(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=sp(e);var i=cp.test(e);return i||dp.test(e)?up(e.slice(2),i?2:8):lp.test(e)?Sa:+e}var pp="Expected a function",Ap=Math.max,gp=Math.min;function Wt(e,n,i){var a,r,o,s,l,d,p=0,u=!1,A=!1,g=!0;if(typeof e!="function")throw new TypeError(pp);n=Zn(n)||0,Re(i)&&(u=!!i.leading,A="maxWait"in i,o=A?Ap(Zn(i.maxWait)||0,n):o,g="trailing"in i?!!i.trailing:g);function C(m){var b=a,B=r;return a=r=void 0,p=m,s=e.apply(B,b),s}function k(m){return p=m,l=setTimeout(S,n),u?C(m):s}function h(m){var b=m-d,B=m-p,Y=n-b;return A?gp(Y,o-B):Y}function M(m){var b=m-d,B=m-p;return d===void 0||b>=n||b<0||A&&B>=o}function S(){var m=Jn();if(M(m))return G(m);l=setTimeout(S,h(m))}function G(m){return l=void 0,g&&a?C(m):(a=r=void 0,s)}function E(){l!==void 0&&clearTimeout(l),p=0,a=d=r=l=void 0}function O(){return l===void 0?s:G(Jn())}function f(){var m=Jn(),b=M(m);if(a=arguments,r=this,d=m,b){if(l===void 0)return k(d);if(A)return clearTimeout(l),l=setTimeout(S,n),C(d)}return l===void 0&&(l=setTimeout(S,n)),s}return f.cancel=E,f.flush=O,f}var mp="__lodash_hash_undefined__";function fp(e){return this.__data__.set(e,mp),this}function hp(e){return this.__data__.has(e)}function _t(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new $e;++n<i;)this.add(e[n])}_t.prototype.add=_t.prototype.push=fp,_t.prototype.has=hp;function Ta(e,n,i,a){for(var r=e.length,o=i+-1;++o<r;)if(n(e[o],o,e))return o;return-1}function yp(e){return e!==e}function bp(e,n,i){for(var a=i-1,r=e.length;++a<r;)if(e[a]===n)return a;return-1}function Ep(e,n,i){return n===n?bp(e,n,i):Ta(e,yp,i)}function wp(e,n){var i=e==null?0:e.length;return!!i&&Ep(e,n,0)>-1}function xa(e,n){return e.has(n)}function Cp(){}function Wn(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var Bp=1/0,kp=xt&&1/Wn(new xt([,-0]))[1]==Bp?function(e){return new xt(e)}:Cp,Ip=200;function Op(e,n,i){var a=-1,r=wp,o=e.length,s=!0,l=[],d=l;if(o>=Ip){var p=kp(e);if(p)return Wn(p);s=!1,r=xa,d=new _t}else d=l;e:for(;++a<o;){var u=e[a],A=u;if(u=u!==0?u:0,s&&A===A){for(var g=d.length;g--;)if(d[g]===A)continue e;l.push(u)}else r(d,A,i)||(d!==l&&d.push(A),l.push(u))}return l}function Va(e){return e&&e.length?Op(e):[]}var Mp=0;function Na(e){var n=++Mp;return ea(e)+n}function vp(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 Da=Math.max;function Rp(e,n,i){return n=Da(n===void 0?e.length-1:n,0),function(){for(var a=arguments,r=-1,o=Da(a.length-n,0),s=Array(o);++r<o;)s[r]=a[n+r];r=-1;for(var l=Array(n+1);++r<n;)l[r]=a[r];return l[n]=i(s),vp(e,this,l)}}function Sp(e){return function(){return e}}var Tp=mn?function(e,n){return mn(e,"toString",{configurable:!0,enumerable:!1,value:Sp(n),writable:!0})}:dn,xp=800,Vp=16,Np=Date.now;function Dp(e){var n=0,i=0;return function(){var a=Np(),r=Vp-(a-i);if(i=a,r>0){if(++n>=xp)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Lp=Dp(Tp);function Gp(e,n){return Lp(Rp(e,n,dn),e+"")}function Up(e,n,i){if(!Re(i))return!1;var a=typeof n;return(a=="number"?Xt(i)&&Nn(n,i.length):a=="string"&&n in i)?Qt(i[n],e):!1}var La=Object.prototype,Pp=La.hasOwnProperty,Yp=Gp(function(e,n){e=Object(e);var i=-1,a=n.length,r=a>2?n[2]:void 0;for(r&&Up(n[0],n[1],r)&&(a=1);++i<a;)for(var o=n[i],s=hn(o),l=-1,d=s.length;++l<d;){var p=s[l],u=e[p];(u===void 0||Qt(u,La[p])&&!Pp.call(e,p))&&(e[p]=o[p])}return e}),jp=Pe.isFinite;function Hp(e){return typeof e=="number"&&jp(e)}var Ga=1/0,Fp=17976931348623157e292;function zp(e){if(!e)return e===0?e:0;if(e=Zn(e),e===Ga||e===-Ga){var n=e<0?-1:1;return n*Fp}return e===e?e:0}function Ua(e){var n=zp(e),i=n%1;return n===n?i?n-i:n:0}function Kp(e){return typeof e=="number"&&e==Ua(e)}var Xp="[object Number]";function _n(e){return typeof e=="number"||Ze(e)&&nt(e)==Xp}var Pa=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,ot="\\d\\d?",rt="\\d\\d",qp="\\d{3}",Qp="\\d{4}",$t="[^\\s]+",Ya=/\[([^]*?)\]/gm;function ja(e,n){for(var i=[],a=0,r=e.length;a<r;a++)i.push(e[a].substr(0,n));return i}var Ha=function(e){return function(n,i){var a=i[e].map(function(o){return o.toLowerCase()}),r=a.indexOf(n.toLowerCase());return r>-1?r:null}};function wt(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var a=0,r=n;a<r.length;a++){var o=r[a];for(var s in o)e[s]=o[s]}return e}var Fa=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],za=["January","February","March","April","May","June","July","August","September","October","November","December"],Jp=ja(za,3),Zp=ja(Fa,3),Ka={dayNamesShort:Zp,dayNames:Fa,monthNamesShort:Jp,monthNames:za,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},bn=wt({},Ka),Wp=function(e){return bn=wt(bn,e)},Xa=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Te=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},_p={D:function(e){return String(e.getDate())},DD:function(e){return Te(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Te(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 Te(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 Te(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Te(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Te(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Te(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Te(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Te(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Te(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Te(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?"-":"+")+Te(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Te(Math.floor(Math.abs(n)/60),2)+":"+Te(Math.abs(n)%60,2)}},qa=function(e){return+e-1},Qa=[null,ot],Ja=[null,$t],Za=["isPm",$t,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],Wa=["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}],$p={D:["day",ot],DD:["day",rt],Do:["day",ot+$t,function(e){return parseInt(e,10)}],M:["month",ot,qa],MM:["month",rt,qa],YY:["year",rt,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",ot,void 0,"isPm"],hh:["hour",rt,void 0,"isPm"],H:["hour",ot],HH:["hour",rt],m:["minute",ot],mm:["minute",rt],s:["second",ot],ss:["second",rt],YYYY:["year",Qp],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",rt,function(e){return+e*10}],SSS:["millisecond",qp],d:Qa,dd:Qa,ddd:Ja,dddd:Ja,MMM:["month",$t,Ha("monthNamesShort")],MMMM:["month",$t,Ha("monthNames")],a:Za,A:Za,ZZ:Wa,Z:Wa},En={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"},eA=function(e){return wt(En,e)},tA=function(e,n,i){if(n===void 0&&(n=En.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=En[n]||n;var a=[];n=n.replace(Ya,function(o,s){return a.push(s),"@@@"});var r=wt(wt({},bn),i);return n=n.replace(Pa,function(o){return _p[o](e,r)}),n.replace(/@@@/g,function(){return a.shift()})};function nA(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=En[n]||n,e.length>1e3)return null;var a=new Date,r={year:a.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},o=[],s=[],l=n.replace(Ya,function(O,f){return s.push(Xa(f)),"@@@"}),d={},p={};l=Xa(l).replace(Pa,function(O){var f=$p[O],m=f[0],b=f[1],B=f[3];if(d[m])throw new Error("Invalid format. "+m+" specified twice in format");return d[m]=!0,B&&(p[B]=!0),o.push(f),"("+b+")"}),Object.keys(p).forEach(function(O){if(!d[O])throw new Error("Invalid format. "+O+" is required in specified format")}),l=l.replace(/@@@/g,function(){return s.shift()});var u=e.match(new RegExp(l,"i"));if(!u)return null;for(var A=wt(wt({},bn),i),g=1;g<u.length;g++){var C=o[g-1],k=C[0],h=C[2],M=h?h(u[g],A):+u[g];if(M==null)return null;r[k]=M}r.isPm===1&&r.hour!=null&&+r.hour!=12?r.hour=+r.hour+12:r.isPm===0&&+r.hour==12&&(r.hour=0);var S;if(r.timezoneOffset==null){S=new Date(r.year,r.month,r.day,r.hour,r.minute,r.second,r.millisecond);for(var G=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,E=G.length;g<E;g++)if(d[G[g][0]]&&r[G[g][0]]!==S[G[g][1]]())return null}else if(S=new Date(Date.UTC(r.year,r.month,r.day,r.hour,r.minute-r.timezoneOffset,r.second,r.millisecond)),r.month>11||r.month<0||r.day>31||r.day<1||r.hour>23||r.hour<0||r.minute>59||r.minute<0||r.second>59||r.second<0)return null;return S}var Vt={format:tA,parse:nA,defaultI18n:Ka,setGlobalDateI18n:Wp,setGlobalDateMasks:eA};const Me={fieldIsRequired:"This field is required!",invalidFormat:"Invalid format!",numberTooSmall:"The number is too small! Minimum: {0}",numberTooBig:"The number is too big! Maximum: {0}",invalidNumber:"Invalid number",invalidInteger:"The value is not an integer",textTooSmall:"The length of text is too small! Current: {0}, Minimum: {1}",textTooBig:"The length of text is too big! Current: {0}, Maximum: {1}",thisNotText:"This is not a text!",thisNotArray:"This is not an array!",selectMinItems:"Select minimum {0} items!",selectMaxItems:"Select maximum {0} items!",invalidDate:"Invalid date!",dateIsEarly:"The date is too early! Current: {0}, Minimum: {1}",dateIsLate:"The date is too late! Current: {0}, Maximum: {1}",invalidEmail:"Invalid e-mail address!",invalidURL:"Invalid URL!",invalidCard:"Invalid card format!",invalidCardNumber:"Invalid card number!",invalidTextContainNumber:"Invalid text! Cannot contains numbers or special characters",invalidTextContainSpec:"Invalid text! Cannot contains special characters"};function He(e,n,i=Me){return we(e)||e===""?n?[be(i.fieldIsRequired)]:[]:null}function be(e,...n){if(e!=null&&n.length>0)for(let i=0;i<n.length;i++)e=e.replace("{"+(i-1)+"}",n[i]);return e}const Ct={resources:Me,required(e,n,i,a=Me){return He(e,n.required,a)},number(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;const o=[];return Hp(e)?(!we(n.min)&&e<n.min&&o.push(be(a.numberTooSmall,n.min)),!we(n.max)&&e>n.max&&o.push(be(a.numberTooBig,n.max))):o.push(be(a.invalidNumber)),o},integer(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;const o=Ct.number(e,n,i,a);return Kp(e)||o.push(be(a.invalidInteger)),o},double(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;if(!_n(e)||isNaN(e))return[be(a.invalidNumber)]},string(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;const o=[];return Et(e)?(!we(n.min)&&e.length<n.min&&o.push(be(a.textTooSmall,e.length,n.min)),!we(n.max)&&e.length>n.max&&o.push(be(a.textTooBig,e.length,n.max))):o.push(be(a.thisNotText)),o},array(e,n,i,a=Me){if(n.required){if(!Array.isArray(e))return[be(a.thisNotArray)];if(e.length===0)return[be(a.fieldIsRequired)]}if(!we(e)){if(!we(n.min)&&e.length<n.min)return[be(a.selectMinItems,n.min)];if(!we(n.max)&&e.length>n.max)return[be(a.selectMaxItems,n.max)]}},date(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;const o=new Date(e);if(isNaN(o.getDate()))return[be(a.invalidDate)];const s=[];if(!we(n.min)){const l=new Date(n.min);o.valueOf()<l.valueOf()&&s.push(be(a.dateIsEarly,Vt.format(o),Vt.format(l)))}if(!we(n.max)){const l=new Date(n.max);o.valueOf()>l.valueOf()&&s.push(be(a.dateIsLate,Vt.format(o),Vt.format(l)))}return s},regexp(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;if(!we(n.pattern)&&!new RegExp(n.pattern).test(e))return[be(a.invalidFormat)]},email(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;if(!/^(([^<>()\[\]\\.,;:\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))return[be(a.invalidEmail)]},url(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;if(!/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e))return[be(a.invalidURL)]},creditCard(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;const o=/^(?: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(!o.test(s))return[be(a.invalidCard)];let l=0,d,p,u;for(let A=s.length-1;A>=0;A--)d=s.substring(A,A+1),p=parseInt(d,10),u?(p*=2,p>=10?l+=p%10+1:l+=p):l+=p,u=!u;if(!(l%10===0&&s))return[be(a.invalidCardNumber)]},alpha(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;if(!/^[a-zA-Z]*$/.test(e))return[be(a.invalidTextContainNumber)]},alphaNumeric(e,n,i,a=Me){const r=He(e,n.required,a);if(r!=null)return r;if(!/^[a-zA-Z0-9]*$/.test(e))return[be(a.invalidTextContainSpec)]}};Object.keys(Ct).forEach(e=>{const n=Ct[e];fe(n)&&(n.locale=i=>(a,r,o)=>n(a,r,o,Yp(i,Me)))});function _a(e){return Et(e)?Ct[e]!=null?Ct[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function $n(e,n,i){let a=ce(i.context,"schema.attributes",{});const r=n.value||"input";Et(r)&&(a=ce(a,r)||a),Se(a,(o,s)=>{e.setAttribute(s,o)})}const Ke={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:$n,updated:$n,componentUpdated:$n}},computed:{value:{cache:!1,get(){let e;return fe(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),fe(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 r=[];Array.isArray(this.schema.validator)?Se(this.schema.validator,o=>{r.push(_a(o).bind(this))}):r.push(_a(this.schema.validator).bind(this)),Se(r,o=>{if(n)i.push(o(this.value,this.schema,this.model));else{const s=o(this.value,this.schema,this.model);s&&fe(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=r=>{let o=[];Se(Va(r),l=>{Array.isArray(l)&&l.length>0?o=o.concat(l):Et(l)&&o.push(l)}),fe(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,o,this.schema);const s=o.length===0;return e||this.$emit("validated",s,o,this),this.errors=o,o};return n?Promise.all(i).then(a):a(i)},debouncedValidate(){fe(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Wt(this.validate.bind(this),ce(this.schema,"validateDebounceTime",ce(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;fe(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),fe(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 r=i.split(".");let o=0;const s=r.length;for(;o<s;){const l=r[o];if(o<s-1)a[l]!==void 0||(a[l]={}),a=a[l];else{a[l]=n;return}++o}},getFieldID(e,n=!1){const i=ce(this.formOptions,"fieldIdPrefix","");return Qn(e,i)+(n?"-"+Na():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return ce(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},ge=(e,n)=>{const i=e.__vccOpts||e;for(const[a,r]of n)i[a]=r;return i},iA={mixins:[Ke],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)}}},aA={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},oA={class:"material-icons"};function rA(e,n,i,a,r,o){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",aA,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>o.handleOpen&&o.handleOpen(...l))},[t.createElementVNode("i",oA,t.toDisplayString(r.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(o.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",o.openClass])},[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:o.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const sA=ge(iA,[["render",rA],["__scopeId","data-v-6f4089bd"]]),lA={class:"array-card-container"},cA=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null}},emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KCard"),r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",lA,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(r,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.TrashIcon))]),_:1})])}}}),$a=ge(cA,[["__scopeId","data-v-7fbbde2b"]]),dA={class:"array-item-wrapper"},uA={class:"array-item"},pA={class:"array-item-after"},AA=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",dA,[t.createElementVNode("div",uA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.TrashIcon))]),_:1})]),t.createElementVNode("div",pA,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),eo=ge(AA,[["__scopeId","data-v-eb9975cc"]]),gA=e=>(t.pushScopeId("data-v-37458a0a"),e=e(),t.popScopeId(),e),mA={class:"multi-item-wrapper"},fA=gA(()=>t.createElementVNode("hr",null,null,-1)),hA=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",mA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createTextVNode(" - Remove Field ")]),_:1}),fA])}}}),to=ge(hA,[["__scopeId","data-v-37458a0a"]]),yA="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function bA(e){return e?e.length===36&&new RegExp(`^${yA}$`).test(e):!1}const ei=50,Bt={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 EA(e,n,i){return i?Bt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Bt.UPDATE_ENTITY:e&&n?Bt.CREATE_FROM_ENTITY:Bt.CREATE_NOT_FROM_ENTITY}const wA={mixins:[Ke],inject:[it],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return EA(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},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Bt.UPDATE_ENTITY:if(!this[it]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[it].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 Bt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Bt.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=Wt(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],a=this.getInputFields(),r=new Set;bA(e)&&a.includes("id")?i.push((async()=>{const o=await this.fetchExact(e);n.push({...o,label:this.getSuggestionLabel(o),value:o.id})})()):i.push(...a.filter(o=>o!=="id").map(async o=>{(await this.fetchSuggestions(e,o)).forEach(s=>{r.has(s.id)||(r.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[it])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<ei;){const a=await this[it].getAll(this.entity,{size:ei,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,ei)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[it]?(await this[it].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}}},CA={class:"field-wrap autosuggest"},BA=["data-testid","data-testlabel"],kA=["data-testid"],IA={class:"autosuggest__results_message"};function OA(e,n,i,a,r,o){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",CA,[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:r.idValue,"onUpdate:modelValue":n[0]||(n[0]=l=>r.idValue=l),clearable:"","enable-filtering":"","filter-function":()=>!0,items:r.items,loading:r.loading,placeholder:e.schema.placeholder,width:"100%",onChange:o.onSelected,onQueryChange:o.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(o.getSuggestionLabel(l).split(" - ")[0]),9,BA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.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,kA))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",IA,[t.createElementVNode("span",null,t.toDisplayString(r.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const no=ge(wA,[["render",OA],["__scopeId","data-v-dd2fda9e"]]);function MA(e){const n=t.ref([]),i=t.ref(null),a=h=>Et(h)?Ct[h]!=null?Ct[h]:(console.warn(`'${h}' is not a validator function!`),null):h,r=t.computed({get(){var h,M;let S;return fe(ce(e.schema,"get"))?S=e.schema.get((h=e.model)==null?void 0:h.value):S=ce((M=e.model)==null?void 0:M.value,e.schema.model),C(S)},set(h){const M=r;h=k(h),fe(h)?h(h,M):l(h,M)}}),o=h=>{var M;d();const S=(M=e.schema)==null?void 0:M.validator,G=ce(e.formOptions,"validateAsync",!1);let E=[];if(S&&e.schema.readonly!==!0&&e.disabled!==!0){const f=[];Array.isArray(S)?Se(S,m=>{f.push(a(m))}):f.push(a(S)),Se(f,m=>{var b,B;if(G)E.push(m(r.value,e.schema,(b=e.model)==null?void 0:b.value));else{const Y=m(r.value,e.schema,(B=e.model)==null?void 0:B.value);Y&&fe(Y.then)?Y.then(T=>{T&&(n.value=n.value.concat(T));const N=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:N,errors:n.value,field:e.schema})}):Y&&(E=E.concat(Y))}})}const O=f=>{var m,b;let B=[];if(Se(Va(f),Y=>{Array.isArray(Y)&&Y.length>0?B=B.concat(Y):Et(Y)&&B.push(Y)}),fe((m=e.schema)==null?void 0:m.onValidated)&&e.schema.onValidated((b=e.model)==null?void 0:b.value,B,e.schema),!h){const Y=B.length===0;e.emitValidated&&e.emitValidated({isValid:Y,errors:B,field:e.schema})}return f=B,B};return G?Promise.all(E).then(O):O(E)},s=()=>{fe(i.value)?i.value():i.value=Wt(o,ce(e.schema,"validateDebounceTime",ce(e.formOptions,"validateDebounceTime",500)))},l=(h,M)=>{var S,G,E;let O=!1;fe(e.schema.set)?(e.schema.set((S=e.model)==null?void 0:S.value,h),O=!0):e.schema.model&&(p(e.schema.model,h),O=!0),O&&(e.emitModelUpdated&&(G=e.model)!=null&&G.value&&e.emitModelUpdated({value:h,model:e.schema.model}),fe(e.schema.onChanged)&&e.schema.onChanged((E=e.model)==null?void 0:E.value,h,M,e.schema),ce(e.formOptions,"validateAfterChanged",!1)===!0&&(ce(e.schema,"validateDebounceTime",ce(e.formOptions,"validateDebounceTime",0))>0?s():o()))},d=()=>{n.value.splice(0)},p=(h,M)=>{var S;let G=h.replace(/\[(\w+)\]/g,".$1");G=G.replace(/^\./,"");let E=((S=e.model)==null?void 0:S.value)||{},O=0;const f=G.split("."),m=f.length;for(;O<m;){const b=f[O];if(O<m-1)E[b]!==void 0||(E[b]={}),E=E[b];else{E[b]=M;return}++O}},u=(h,M=!1)=>{const S=ce(e.formOptions,"fieldIdPrefix","");return Qn(h,S)+(M?"-"+Na():"")},A=h=>`${u(h)}-label`,g=()=>ce(e.schema,"fieldClasses",[]),C=h=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(h):h,k=h=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(h):h;return{value:r,clearValidationErrors:d,getFieldID:u,getLabelId:A,getFieldClasses:g,updateModelValue:l}}const Nt={useAbstractFields:MA},vA={class:"form-field-wrapper"},RA=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,r=i,o=t.toRefs(a),s=t.inject(je,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=Nt.useAbstractFields({model:o.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:E=>{r("modelUpdated",E.value,E.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{var E;const O=(E=a.schema)==null?void 0:E.inputType.toLowerCase();return O==="string"?"text":O==="datetime"?"datetime-local":O||"text"}),g={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},C=(E,O)=>{var f,m;let b=E;const B=g[A.value]||"",Y=Vt.parse(E,B);Y&&((f=a.schema)!=null&&f.format?b=Vt.format(Y,(m=a.schema)==null?void 0:m.format):b=Y.valueOf()),l(b,O)},k=(E,O)=>{_n(E)||(E=NaN),l(E,O)},h=E=>{let O=E;switch(A.value){case"number":case"range":_n(parseFloat(E))&&(O=parseFloat(E));break}u.value=O,l(O,E)},M=E=>{u.value=E,l(E,E)},S=t.ref(null),G=()=>{var E;fe(S.value)&&((E=S.value)==null||E.flush())};return t.onMounted(()=>{switch(A.value){case"number":case"range":S.value=Wt((E,O)=>{k(E,O)},parseInt(ce(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":S.value=Wt((E,O)=>{C(E,O)},parseInt(ce(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{A.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):A.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):A.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(E,O)=>{const f=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",vA,[t.createVNode(f,t.mergeProps(E.$attrs,{id:t.unref(d)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:A.value==="color"||A.value==="range"?t.unref(u):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(u),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,type:A.value,width:e.schema.width,onBlur:G,"onUpdate:modelValue":h}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:M,value:t.unref(u)},null,8,["schema","value"]))])}}}),io=ge(RA,[["__scopeId","data-v-a621f2a9"]]),SA={name:"FieldMetric",components:{AddIcon:qe.AddIcon,TrashIcon:qe.TrashIcon},mixins:[Ke],emits:["remove-item"],data(){return{contentVisible:!1}}},TA={key:0,class:"content"};function xA(e,n,i,a,r,o){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:r.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=p=>r.contentVisible=!r.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(()=>[r.contentVisible?(t.openBlock(),t.createElementBlock("div",TA,[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 ao=ge(SA,[["render",xA]]),VA={mixins:[Ke],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=""}}},ti=e=>(t.pushScopeId("data-v-dfa59f5c"),e=e(),t.popScopeId(),e),NA={class:"field-object-container"},DA={key:1},LA=["id"],GA={key:0},UA=["onUpdate:modelValue"],PA={key:1},YA=["onUpdate:modelValue"],jA={key:2},HA=["onUpdate:modelValue"],FA=["onClick"],zA=ti(()=>t.createElementVNode("option",{value:"string"}," String ",-1)),KA=ti(()=>t.createElementVNode("option",{value:"number"}," Number ",-1)),XA=ti(()=>t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)),qA=[zA,KA,XA];function QA(e,n,i,a,r,o){const s=t.resolveComponent("vue-form-generator"),l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",NA,[e.schema.schema?(t.openBlock(),t.createBlock(s,{key:0,model:e.value,options:e.formOptions,schema:e.schema.schema},null,8,["model","options","schema"])):(t.openBlock(),t.createElementBlock("div",DA,[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),r.keyTypes[p]==="string"?(t.openBlock(),t.createElementBlock("td",GA,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"text"},null,8,UA),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),r.keyTypes[p]==="boolean"?(t.openBlock(),t.createElementBlock("td",PA,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"checkbox"},null,8,YA),[[t.vModelCheckbox,e.value[p]]])])):t.createCommentVNode("",!0),r.keyTypes[p]==="number"?(t.openBlock(),t.createElementBlock("td",jA,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"number"},null,8,HA),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>o.removeElement(p)},null,8,FA)])]))),128))],10,LA),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=d=>r.newKeyType=d)},qA,512),[[t.vModelSelect,r.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=d=>r.newKeyName=d),type:"text"},null,512),[[t.vModelText,r.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...d)=>o.addKey&&o.addKey(...d))})]))])),[[l,r.attributes]])}const oo=ge(VA,[["render",QA],["__scopeId","data-v-dfa59f5c"]]),JA={components:{TrashIcon:qe.TrashIcon},mixins:[Ke],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]}},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){const a={};return Object.keys(e).map(r=>{const o=r.indexOf(i+"-");if(o>-1&&Array.isArray(n))if(n.length>0){const s=r.split("-").filter(d=>n.find(p=>p.model===d)),l=r.split(`-${s}`)[0].split(`${i}-`)[1];s.length?a[l]={...a[l],[s]:e[r]}:a[r.substring(o+`${i}-`.length)]=e[r]}else a[r.substring(`${i}-`.length)]=e[r];else{const s=r.split("-").filter(d=>d===this.schema.model),l=r.split(`-${s}`)[0].split(`${i}-`)[1];l&&(a[l]=e[r])}return r}),a},addKey(){const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=this.subSchema?e?[""]:{}:"";this.value[this.newKeyName]=n,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},ro=e=>(t.pushScopeId("data-v-3a00058c"),e=e(),t.popScopeId(),e),ZA=["id"],WA=["data-testid"],_A={class:"item-wrapper"},$A={class:"index-wrapper"},eg=ro(()=>t.createElementVNode("hr",{class:"divider"},null,-1)),tg={key:0},ng={key:1},ig=["onUpdate:modelValue","placeholder","onInput"],ag={key:0,class:"hint"},og=ro(()=>t.createElementVNode("hr",{class:"wide-divider"},null,-1)),rg={class:"input-item"},sg=["placeholder"],lg={key:0,class:"hint"};function cg(e,n,i,a,r,o){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton"),d=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",_A,[t.createElementVNode("div",$A,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:A=>o.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["onClick"])])]),eg,o.subSchema?(t.openBlock(),t.createElementBlock("div",tg,[t.createVNode(d,{model:o.transformedModel[u],options:{helpAsHtml:!0},schema:o.subSchema,onModelUpdated:o.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",ng,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":A=>e.value[u]=A,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:"text",onInput:A=>o.updateModel(e.value[u],e.model[e.schema.model])},null,40,ig),[[t.vModelText,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",ag,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.autofillSlot),{schema:e.schema.fields&&e.schema.fields[0].schema||e.schema.values,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))])),og])])],8,WA))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:o.hasObjectKeys}])},[t.createElementVNode("div",rg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>r.newKeyName=p),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,sg),[[t.vModelText,r.newKeyName]]),t.createVNode(l,{appearance:"tertiary","data-testid":"add-key",disabled:!r.newKeyName,onClick:o.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",lg,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,ZA)}const so=ge(JA,[["render",cg],["__scopeId","data-v-3a00058c"]]),dg={class:"radio-selection-group"},ug=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,r=i,o=t.toRefs(a),{updateModelValue:s,value:l,clearValidationErrors:d}=Nt.useAbstractFields({model:o.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:u=>{r("modelUpdated",u.value,u.model)}});n({clearValidationErrors:d});const p=u=>{let A=u;typeof u=="string"&&(A=u.split(","),a.schema.array||(A=A.toString())),s(A,u)};return(u,A)=>{const g=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",dg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(C,k)=>(t.openBlock(),t.createBlock(g,{id:e.schema.name+"-"+k,key:C.value,modelValue:t.unref(l),"onUpdate:modelValue":A[0]||(A[0]=h=>t.isRef(l)?l.value=h:null),label:C.name,name:e.schema.name,"selected-value":C.value,onChange:p},null,8,["id","modelValue","label","name","selected-value"]))),128))])}}}),lo=ge(ug,[["__scopeId","data-v-6340d2ee"]]);function pg(e,n){for(var i=-1,a=e==null?0:e.length;++i<a;)if(n(e[i],i,e))return!0;return!1}var Ag=1,gg=2;function co(e,n,i,a,r,o){var s=i&Ag,l=e.length,d=n.length;if(l!=d&&!(s&&d>l))return!1;var p=o.get(e),u=o.get(n);if(p&&u)return p==n&&u==e;var A=-1,g=!0,C=i&gg?new _t:void 0;for(o.set(e,n),o.set(n,e);++A<l;){var k=e[A],h=n[A];if(a)var M=s?a(h,k,A,n,e,o):a(k,h,A,e,n,o);if(M!==void 0){if(M)continue;g=!1;break}if(C){if(!pg(n,function(S,G){if(!xa(C,G)&&(k===S||r(k,S,i,a,o)))return C.push(G)})){g=!1;break}}else if(!(k===h||r(k,h,i,a,o))){g=!1;break}}return o.delete(e),o.delete(n),g}function mg(e){var n=-1,i=Array(e.size);return e.forEach(function(a,r){i[++n]=[r,a]}),i}var fg=1,hg=2,yg="[object Boolean]",bg="[object Date]",Eg="[object Error]",wg="[object Map]",Cg="[object Number]",Bg="[object RegExp]",kg="[object Set]",Ig="[object String]",Og="[object Symbol]",Mg="[object ArrayBuffer]",vg="[object DataView]",uo=Je?Je.prototype:void 0,ni=uo?uo.valueOf:void 0;function Rg(e,n,i,a,r,o,s){switch(i){case vg:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case Mg:return!(e.byteLength!=n.byteLength||!o(new yn(e),new yn(n)));case yg:case bg:case Cg:return Qt(+e,+n);case Eg:return e.name==n.name&&e.message==n.message;case Bg:case Ig:return e==n+"";case wg:var l=mg;case kg:var d=a&fg;if(l||(l=Wn),e.size!=n.size&&!d)return!1;var p=s.get(e);if(p)return p==n;a|=hg,s.set(e,n);var u=co(l(e),l(n),a,r,o,s);return s.delete(e),u;case Og:if(ni)return ni.call(e)==ni.call(n)}return!1}var Sg=1,Tg=Object.prototype,xg=Tg.hasOwnProperty;function Vg(e,n,i,a,r,o){var s=i&Sg,l=Fn(e),d=l.length,p=Fn(n),u=p.length;if(d!=u&&!s)return!1;for(var A=d;A--;){var g=l[A];if(!(s?g in n:xg.call(n,g)))return!1}var C=o.get(e),k=o.get(n);if(C&&k)return C==n&&k==e;var h=!0;o.set(e,n),o.set(n,e);for(var M=s;++A<d;){g=l[A];var S=e[g],G=n[g];if(a)var E=s?a(G,S,g,n,e,o):a(S,G,g,e,n,o);if(!(E===void 0?S===G||r(S,G,i,a,o):E)){h=!1;break}M||(M=g=="constructor")}if(h&&!M){var O=e.constructor,f=n.constructor;O!=f&&"constructor"in e&&"constructor"in n&&!(typeof O=="function"&&O instanceof O&&typeof f=="function"&&f instanceof f)&&(h=!1)}return o.delete(e),o.delete(n),h}var Ng=1,po="[object Arguments]",Ao="[object Array]",wn="[object Object]",Dg=Object.prototype,go=Dg.hasOwnProperty;function Lg(e,n,i,a,r,o){var s=Ye(e),l=Ye(n),d=s?Ao:ze(e),p=l?Ao:ze(n);d=d==po?wn:d,p=p==po?wn:p;var u=d==wn,A=p==wn,g=d==p;if(g&&cn(e)){if(!cn(n))return!1;s=!0,u=!1}if(g&&!u)return o||(o=new We),s||qi(e)?co(e,n,i,a,r,o):Rg(e,n,d,i,a,r,o);if(!(i&Ng)){var C=u&&go.call(e,"__wrapped__"),k=A&&go.call(n,"__wrapped__");if(C||k){var h=C?e.value():e,M=k?n.value():n;return o||(o=new We),r(h,M,i,a,o)}}return g?(o||(o=new We),Vg(e,n,i,a,r,o)):!1}function ii(e,n,i,a,r){return e===n?!0:e==null||n==null||!Ze(e)&&!Ze(n)?e!==e&&n!==n:Lg(e,n,i,a,ii,r)}var Gg=1,Ug=2;function Pg(e,n,i,a){var r=i.length,o=r;if(e==null)return!o;for(e=Object(e);r--;){var s=i[r];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++r<o;){s=i[r];var l=s[0],d=e[l],p=s[1];if(s[2]){if(d===void 0&&!(l in e))return!1}else{var u=new We,A;if(!(A===void 0?ii(p,d,Gg|Ug,a,u):A))return!1}}return!0}function mo(e){return e===e&&!Re(e)}function Yg(e){for(var n=Tt(e),i=n.length;i--;){var a=n[i],r=e[a];n[i]=[a,r,mo(r)]}return n}function fo(e,n){return function(i){return i==null?!1:i[e]===n&&(n!==void 0||e in Object(i))}}function jg(e){var n=Yg(e);return n.length==1&&n[0][2]?fo(n[0][0],n[0][1]):function(i){return i===e||Pg(i,e,n)}}function Hg(e,n){return e!=null&&n in Object(e)}function Fg(e,n,i){n=ta(n,e);for(var a=-1,r=n.length,o=!1;++a<r;){var s=gn(n[a]);if(!(o=e!=null&&i(e,s)))break;e=e[s]}return o||++a!=r?o:(r=e==null?0:e.length,!!r&&Dn(r)&&Nn(s,r)&&(Ye(e)||ji(e)))}function zg(e,n){return e!=null&&Fg(e,n,Hg)}var Kg=1,Xg=2;function qg(e,n){return Pn(e)&&mo(n)?fo(gn(e),n):function(i){var a=ce(i,e);return a===void 0&&a===n?zg(i,e):ii(n,a,Kg|Xg)}}function Qg(e){return function(n){return n==null?void 0:n[e]}}function Jg(e){return function(n){return na(n,e)}}function Zg(e){return Pn(e)?Qg(gn(e)):Jg(e)}function ho(e){return typeof e=="function"?e:e==null?dn:typeof e=="object"?Ye(e)?qg(e[0],e[1]):jg(e):Zg(e)}function Wg(e){return function(n,i,a){var r=Object(n);if(!Xt(n)){var o=ho(i);n=Tt(n),i=function(l){return o(r[l],l,r)}}var s=e(n,i,a);return s>-1?r[o?n[s]:s]:void 0}}var _g=Math.max;function $g(e,n,i){var a=e==null?0:e.length;if(!a)return-1;var r=i==null?0:Ua(i);return r<0&&(r=_g(a+r,0)),Ta(e,ho(n),r)}var em=Wg($g);const tm=["disabled","name","id"],nm=["disabled"],im=["label"],am=["value"],om=["value"];function rm(e,n,i,a,r,o){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},[o.selectOptions.hideNoneSelectedText?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null},t.toDisplayString(o.selectOptions.noneSelectedText||"<Nothing selected>"),9,nm)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.items,l=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[l.group?(t.openBlock(),t.createElementBlock("optgroup",{key:0,label:o.getGroupName(l)},[l.ops?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.ops,d=>(t.openBlock(),t.createElementBlock("option",{value:o.getItemValue(d)},t.toDisplayString(o.getItemName(d)),9,am))),256)):t.createCommentVNode("",!0)],8,im)):t.createCommentVNode("",!0),l.group?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:1,value:o.getItemValue(l)},t.toDisplayString(o.getItemName(l)),9,om))],64))),256))],10,tm)),[[t.vModelSelect,e.value],[s,"input"]])}const sm={mixins:[Ke],computed:{selectOptions(){return this.schema.selectOptions||{}},items(){const e=this.schema.values;return typeof e=="function"?this.groupValues(e.apply(this,[this.model,this.schema])):this.groupValues(e)}},methods:{formatValueToField(e){return we(e)?null:e},groupValues(e){const n=[];let i={};return e.forEach(a=>{i=null,a.group&&Re(a)?(i=em(n,r=>r.group===a.group),i?i.ops.push({id:a.id,name:a.name}):(i={group:"",ops:[]},i.group=a.group,i.ops.push({id:a.id,name:a.name}),n.push(i))):n.push(a)}),n},getGroupName(e){if(e&&e.group)return e.group;throw new Error("Group name is missing! https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")},getItemValue(e){if(Re(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.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 e},getItemName(e){if(Re(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.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 `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},yo=ge(sm,[["render",rm]]),lm={name:"FieldArray",components:{FieldArrayItem:eo,FieldArrayMultiItem:to,FieldSelect:yo,FieldMetric:ao,FieldObject:oo,FieldObjectAdvanced:so,FieldAutoSuggest:no,FieldRadio:lo,FieldArrayCardContainer:$a,FieldInput:io},mixins:[Ke],inject:{autofillSlot:{from:je,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},methods:{generateSchema(e,n,i){var a,r,o;let s;return n&&(s=JSON.parse(JSON.stringify(n)),(o=(r=(a=s.schema)==null?void 0:a.fields)==null?void 0:r.map)==null||o.call(r,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(){},handleInput(e,n){this.value=this.value.map((i,a)=>a===n?e:i)}}},cm=["id"],dm={key:1},um=["onUpdate:modelValue","aria-labelledby","type"],pm=["onUpdate:modelValue","aria-labelledby"];function Am(e,n,i,a,r,o){const s=t.resolveComponent("KTextArea"),l=t.resolveComponent("KInput"),d=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,model:p,schema:o.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>o.removeElement(u)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:o.generateSchema(e.value,e.schema.items,u),onModelUpdated:o.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",dm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:o.generateSchema(e.value,e.schema.items,u),onModelUpdated:o.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${u}`,model:p,schema:o.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>o.removeElement(u)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var A;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[u],"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),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,rows:e.schema.rows||2}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"||e.schema.inputAttributes.type==="number"?(t.openBlock(),t.createBlock(l,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[u],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:g=>{o.handleInput(g,u)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((A=e.schema.inputAttributes)==null?void 0:A.type)||"text"}),null,16,um)),[[t.vModelDynamic,e.value[u]]])]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":A=>e.value[u]=A,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,pm),[[t.vModelText,e.value[u]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:o.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,cm)):t.createCommentVNode("",!0)}const gm=ge(lm,[["render",Am],["__scopeId","data-v-fb8e1bc9"]]),mm={class:"form-field-wrapper field-checkbox"},fm=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,r=i,o=t.toRefs(a),{getFieldID:s,value:l,clearValidationErrors:d}=Nt.useAbstractFields({model:o.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:p=>{r("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:d}),(p,u)=>{const A=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",mm,[t.createVNode(A,t.mergeProps(p.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(l),"onUpdate:modelValue":u[0]||(u[0]=g=>t.isRef(l)?l.value=g:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:void 0,name:e.schema.inputName,readonly:e.schema.readonly,required:e.schema.required,width:e.schema.width}),null,16,["id","modelValue","autocomplete","class","disabled","help","name","readonly","required","width"])])}}}),hm=ge(fm,[["__scopeId","data-v-6b4ee1cd"]]);var ym=4;function bo(e){return Zt(e,ym)}const bm={class:"wrapper"},Em=["disabled"],wm=["id","checked","disabled","onChange","name"],Cm=["disabled"],Bm={class:"info"},km=t.createElementVNode("div",{class:"arrow"},null,-1),Im={class:"dropList"},Om=["id","checked","disabled","onChange","name"];function Mm(e,n,i,a,r,o){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",bm,[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(o.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":o.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:o.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>o.onChanged(d,l),name:o.getInputName(l)},null,40,wm),[[s,"input"]]),t.createTextVNode(t.toDisplayString(o.getItemName(l)),1)])],2))),256))],8,Em)):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:r.comboExpanded}]),onClick:n[0]||(n[0]=(...l)=>o.onExpandCombo&&o.onExpandCombo(...l))},[t.createElementVNode("div",Bm,t.toDisplayString(o.selectedCount)+" selected",1),km],2),t.createElementVNode("div",Im,[r.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(o.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":o.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:o.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>o.onChanged(d,l),name:o.getInputName(l)},null,40,Om),[[s,"input"]]),t.createTextVNode(t.toDisplayString(o.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Cm))])),[[s,"wrapper"]])}const vm={mixins:[Ke],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?va(this.schema.inputName+"_"+this.getItemValue(e)):va(this.getItemValue(e))},getItemValue(e){if(Re(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(Re(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((we(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=bo(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=bo(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},Rm=ge(vm,[["render",Mm]]),Sm={name:"FieldKeyValuePairs",components:{TrashIcon:qe.TrashIcon},mixins:[Ke],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)}}},Tm={class:"key-value-pairs-editor"},xm={class:"pair-item-cell"},Vm=["data-testid","placeholder","value","onInput"],Nm={class:"pair-item-cell"},Dm=["data-testid","placeholder","value","onInput"];function Lm(e,n,i,a,r,o){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Tm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.pairs,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:"pair-item"},[t.createElementVNode("div",xm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${p}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:d.key,onInput:u=>{o.onInput(u,p,"key")}},null,40,Vm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.autofillSlot),{schema:e.schema,update:u=>o.onInput({target:{value:u}},p,"key"),value:d.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",Nm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${p}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:d.value,onInput:u=>{o.onInput(u,p,"value")}},null,40,Dm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.autofillSlot),{schema:e.schema,update:u=>o.onInput({target:{value:u}},p,"value"),value:d.value},null,8,["schema","update","value"]))]),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${p}`,onClick:()=>{o.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:o.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const Gm=ge(Sm,[["render",Lm],["__scopeId","data-v-70998d5b"]]),Um=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:r}=Nt.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(o,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(r)),1)]),_:1},8,["id"])],2)}}}),Pm=ge(Um,[["__scopeId","data-v-d046a15a"]]),Ym={mixins:[Ke],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function jm(e,n,i,a,r,o){const s=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(s,{"aria-labelledby":e.getLabelId(e.schema),"data-testid":"field-multiselect",items:e.schema.values,"label-attributes":{info:e.schema.help},"model-value":e.value,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%","onUpdate:modelValue":o.onUpdate},null,8,["aria-labelledby","items","label-attributes","model-value","placeholder","required","onUpdate:modelValue"])}const Hm=ge(Ym,[["render",jm]]),Fm={mixins:[Ke],emits:["model-updated"],data(){return{checkedGroup:null,fieldModel:{...this.model},fieldSchema:[]}},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(r=>this.updateModel("",r.model)),i&&i.forEach(r=>this.updateModel(this.fieldModel[r.model],r.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{this.model[i.model]&&(this.checkedGroup=n,this.fieldSchema.push(i.model))})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},zm={class:"selection-group"},Km={class:"form-group horizontal-radios"},Xm={class:"radio-group"},qm=["value"],Qm={class:"control-help"},Jm={class:"option-field"},Zm={class:"option-field-container"};function Wm(e,n,i,a,r,o){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",zm,[t.createElementVNode("div",Km,[t.createElementVNode("div",Xm,[(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.createElementVNode("label",{class:t.normalizeClass(["k-label",`${l.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>r.checkedGroup=p),class:"k-input",type:"radio",value:d},null,8,qm),[[t.vModelRadio,r.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",Qm,t.toDisplayString(l.description),1)],2)]))),128))])]),(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",Zm,[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:{fields:l.fields},onModelUpdated:o.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,l.fields&&r.checkedGroup===d]])]))),128))])}const _m=ge(Fm,[["render",Wm],["__scopeId","data-v-0aaaf597"]]),$m={packageName:"forms"},ef={view_advanced_fields:"View Advanced Fields",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window's counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},tf={labels:{on:"On",off:"Off"}},Cn={general:$m,"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:ef,vfg:tf},nf={class:"form-field-wrapper"},af=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,r=i,{t:o}=Mt.createI18n("en-us",Cn),s=g=>g!=null&&a.schema.valueOn?g===a.schema.valueOn:g,l=g=>g!=null&&a.schema.valueOn?g?a.schema.valueOn:a.schema.valueOff:g,d=t.toRefs(a),{getFieldID:p,value:u,clearValidationErrors:A}=Nt.useAbstractFields({model:d.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,formatValueToModel:l,emitModelUpdated:g=>{r("modelUpdated",g.value,g.model)}});return n({clearValidationErrors:A}),(g,C)=>{const k=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",nf,[t.createVNode(k,{id:t.unref(p)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":C[0]||(C[0]=h=>t.isRef(u)?u.value=h:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(u)?e.schema.textOn||t.unref(o)("vfg.labels.on"):e.schema.textOff||t.unref(o)("vfg.labels.off"),name:e.schema.inputName},null,8,["id","modelValue","autocomplete","class","disabled","label","name"])])}}}),of={class:"field-textarea"},rf=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,r=i,o=t.toRefs(a),s=t.inject(je,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=Nt.useAbstractFields({model:o.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:g=>{r("modelUpdated",g.value,g.model)}});n({clearValidationErrors:p});const A=g=>{u.value=g,l(g,g)};return(g,C)=>{const k=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",of,[t.createVNode(k,t.mergeProps(g.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":C[0]||(C[0]=h=>t.isRef(u)?u.value=h:null),class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint||void 0,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2}),null,16,["id","modelValue","class","disabled","help","maxlength","minlength","name","placeholder","readonly","required","rows"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:A,value:t.unref(u)},null,8,["schema","value"]))])}}}),sf=ge(rf,[["__scopeId","data-v-b6cec018"]]),lf=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:sA,FieldArray:gm,FieldArrayCardContainer:$a,FieldArrayItem:eo,FieldArrayMultiItem:to,FieldAutoSuggest:no,FieldCheckbox:hm,FieldChecklist:Rm,FieldInput:io,FieldKeyValuePairs:Gm,FieldLabel:Pm,FieldMetric:ao,FieldMultiselect:Hm,FieldObject:oo,FieldObjectAdvanced:so,FieldRadio:lo,FieldSelect:yo,FieldSelectionGroup:_m,FieldSwitch:af,FieldTextArea:sf},Symbol.toStringTag,{value:"Module"})),cf={name:"FormGroup",components:lf,mixins:[Ra],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"],data(){return{child:t.ref()}},methods:{fieldTypeHasLabel(e){if(we(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 Qn(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 fe(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)},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\./,""):""}}},df=e=>(t.pushScopeId("data-v-3cb920d4"),e=e(),t.popScopeId(),e),uf=["innerHTML"],pf={class:"icon-wrapper"},Af=["innerHTML"],gf={key:0,class:"link-wrapper"},mf=df(()=>t.createElementVNode("span",{class:"section-header"},"More info",-1)),ff={class:"field-wrap"},hf={key:0,class:"buttons"},yf=["type","onClick","textContent"],bf=["innerHTML"],Ef={key:2,class:"errors help-block"},wf=["innerHTML"];function Cf(e,n,i,a,r,o){const s=t.resolveComponent("KExternalLink"),l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[o.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(l,{key:0,"aria-describedby":i.field.help?o.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:o.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:o.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",pf,[t.createElementVNode("span",{innerHTML:o.formattedLabel(i.field.label)},null,8,Af)]),i.field.link?(t.openBlock(),t.createElementBlock("div",gf,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>[mf]),_: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,uf)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",ff,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&o.getFieldType(i.field)==="field-input"?o.fieldHint(i.field):void 0,model:i.model,schema:i.field,vfg:i.vfg,onModelUpdated:o.onModelUpdated,onValidated:o.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onValidated"])),o.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",hf,[(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:o.getButtonType(d),onClick:u=>o.buttonClickHandler(d,i.field,u),textContent:t.toDisplayString(d.label)},null,10,yf))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&o.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:o.fieldHint(i.field)},null,8,bf)):t.createCommentVNode("",!0),o.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Ef,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.fieldErrors(i.field),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,innerHTML:d},null,8,wf))),128))])):t.createCommentVNode("",!0)],2)}const Bf=ge(cf,[["render",Cf],["__scopeId","data-v-3cb920d4"]]),kf={name:"FormGenerator",components:{formGroup:Bf},mixins:[Ra],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}}},emits:["validated","modelUpdated"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Se(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Se(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 fe(e.visible)?e.visible.call(this,this.model,e,this):we(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(r=>r.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&Se(n,r=>{this.errors.push({field:i.schema,error:r})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=ce(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Se(this.$refs.children,r=>{fe(r.validate)&&(n.push(r.$refs.child),i.push(r.$refs.child.validate(!0)))});const a=r=>{const o=[];Se(r,(l,d)=>{Array.isArray(l)&&l.length>0&&Se(l,p=>{o.push({field:n[d].schema,error:p})})}),this.errors=o;const s=o.length===0;return this.$emit("validated",s,o,this),e?o:s};return e?Promise.all(i).then(a):a(i)},clearValidationErrors(){this.errors.splice(0),Se(this.$refs.children,e=>{e.clearValidationErrors()})}}},If={key:0,class:"vue-form-generator"},Of={key:0};function Mf(e,n,i,a,r,o){const s=t.resolveComponent("form-group"),l=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",If,[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(o.fields,d=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:d.model},[o.fieldVisible(d)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:r.errors,field:d,model:i.model,options:i.options,vfg:r.vfg,onModelUpdated:o.onModelUpdated,onValidated:o.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.groups,(d,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${p}`},[d.collapsible!==void 0&&d.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:d.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,A,g,C;return[(u=d.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(A=d.slots)==null?void 0:A.beforeContent,{key:0}):t.createCommentVNode("",!0),d.fields.length===0&&(g=d.slots)!=null&&g.emptyState?t.renderSlot(e.$slots,(C=d.slots)==null?void 0:C.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[o.fieldVisible(k)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:r.errors,field:k,model:i.model,options:i.options,vfg:r.vfg,onModelUpdated:o.onModelUpdated,onValidated:o.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),d.collapsible!==!0&&d.collapsible.nestedCollapsible&&d.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":r.collapseStates[`group-${p}-nested`]??!0,"trigger-alignment":"leading","trigger-label":r.collapseStates[`group-${p}-nested`]??!0?d.collapsible.nestedCollapsible.triggerLabel.expand:d.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":k=>r.collapseStates[`group-${p}-nested`]=k},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.collapsible.nestedCollapsible.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[o.fieldVisible(k)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:r.errors,field:k,model:i.model,options:i.options,vfg:r.vfg,onModelUpdated:o.onModelUpdated,onValidated:o.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[d.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[d.legend?(t.openBlock(),t.createElementBlock("legend",Of,t.toDisplayString(d.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[o.fieldVisible(u)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:r.errors,field:u,model:i.model,options:i.options,vfg:r.vfg,onModelUpdated:o.onModelUpdated,onValidated:o.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const xe=ge(kf,[["render",Mf]]),Eo=new Set(["config-client_id","config-client_secret","config-issuer"]),wo=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"]),vf={name:"OIDCForm",components:{VueFormGenerator:xe},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},isEditing:{type:Boolean,required:!0}},data(){return{init:!1,authMethods:[],sessionManagement:!1,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")};const n=this.formSchema.fields.reduce((i,a)=>(i[a.model]=a,i),{});this.commonFieldsSchema={fields:Array.from(Eo).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.authFieldsSchema={fields:Array.from(wo).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.advancedFieldsSchema={fields:this.formSchema.fields.filter(i=>i.model.startsWith("config")&&i.model!=="config-auth_methods"&&!Eo.has(i.model)&&!wo.has(i.model)||i.model==="tags").reduce((i,a)=>{var r,o,s,l;switch(a.model){case"config-client_jwk":{if(Array.isArray((o=(r=a.items)==null?void 0:r.schema)==null?void 0:o.fields))for(const d of a.items.schema.fields)d.label=d.model;i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record",newElementButtonLabel:"+ Add Client JWK",...Array.isArray((l=(s=a.items)==null?void 0:s.schema)==null?void 0:l.fields)&&a.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-session_redis_cluster_nodes":{i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record",newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(a)}return i},[])},this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const a of i.fields){const r=(e=n[a.model])==null?void 0:e.help;a.help===void 0&&typeof r=="string"&&(a.help=r)}}},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()}}},Dt=e=>(t.pushScopeId("data-v-bb72c68e"),e=e(),t.popScopeId(),e),Rf={class:"general-settings"},Sf={class:"link-wrapper"},Tf=Dt(()=>t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)),xf=Dt(()=>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)),Vf={class:"auth-method-container"},Nf={class:"general-settings"},Df={class:"link-wrapper"},Lf=Dt(()=>t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)),Gf=Dt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),Uf={class:"general-settings"},Pf={class:"link-wrapper"},Yf=Dt(()=>t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)),jf=Dt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1));function Hf(e,n,i,a,r,o){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel"),p=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),A=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:r.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(A,{tabs:r.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Rf,[t.createElementVNode("div",Sf,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>[Tf]),_:1})]),xf,o.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:r.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(d,null,{default:t.withCtx(()=>[t.createTextVNode("Auth Methods")]),_:1}),t.createElementVNode("div",Vf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":C=>g.prop=C,onChange:C=>o.handleUpdate(C,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:r.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>r.sessionManagement=g),label:"Enable Session Management",onChange:o.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Nf,[t.createElementVNode("div",Df,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>[Lf]),_:1})]),Gf,o.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:r.authFieldsSchema,onModelUpdated:i.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",Uf,[t.createElementVNode("div",Pf,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>[Yf]),_:1})]),jf,o.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:r.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const Ff=ge(vf,[["render",Hf],["__scopeId","data-v-bb72c68e"]]),zf=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}=Mt.createI18n("en-us",Cn),r=e,o=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),s=t.computed(()=>{const l=r.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)=>o.value?(t.openBlock(),t.createBlock(xe,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),Kf=ge(zf,[["__scopeId","data-v-f54f37ae"]]),Xf=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}=Mt.createI18n("en-us",Cn),r=e,o=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),s=t.computed(()=>{const l=r.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)=>o.value?(t.openBlock(),t.createBlock(xe,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),qf=ge(Xf,[["__scopeId","data-v-0d5c541f"]]),Qf={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}]},Jf={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}]},Zf={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}]},kt=e=>(t.pushScopeId("data-v-bb5a3a33"),e=e(),t.popScopeId(),e),Wf={class:"general-settings"},_f=kt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),$f=kt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),eh=kt(()=>t.createElementVNode("hr",null,null,-1)),th={class:"sub-form"},nh={class:"general-settings"},ih=kt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),ah=kt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),oh={class:"sub-form"},rh={class:"general-settings"},sh=kt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),lh=kt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),ch=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"),r=t.ref("shm"),o=t.computed(()=>{var m;const b={};if((m=i.formSchema)!=null&&m.fields)for(const B of i.formSchema.fields)b[B.model]=B;return b}),s=t.computed(()=>{var m;const b=et(Qf);for(const B of b.fields){const Y=(m=o.value[B.model])==null?void 0:m.help;B.help===void 0&&typeof Y=="string"&&(B.help=Y)}return b}),l=t.computed(()=>{var m;const b=et(Jf);for(const B of b.fields){const Y=(m=o.value[B.model])==null?void 0:m.help;B.help===void 0&&typeof Y=="string"&&(B.help=Y)}return b}),d=t.computed(()=>{var m;const b=et(Zf);for(const B of b.fields){const Y=(m=o.value[B.model])==null?void 0:m.help;B.help===void 0&&typeof Y=="string"&&(B.help=Y)}return b}),p=t.computed(()=>({fields:i.formSchema.fields.filter(m=>!m.model.startsWith("config")&&m.model!=="tags")})),u=t.computed(()=>({fields:s.value.fields.filter(m=>!l.value.fields.some(b=>b.model===m.model)&&!d.value.fields.some(b=>b.model===m.model))})),A=t.computed(()=>({fields:i.formSchema.fields.filter(m=>m.model.startsWith("config-storage")&&!m.model.startsWith("config-storage_config-consul")&&!m.model.startsWith("config-storage_config-redis")&&!m.model.startsWith("config-storage_config-shm")&&!m.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:i.formSchema.fields.filter(m=>m.model.startsWith("config-storage_config-consul"))})),C=t.computed(()=>({fields:i.formSchema.fields.filter(m=>m.model.startsWith("config-storage_config-redis"))})),k=t.computed(()=>({fields:i.formSchema.fields.filter(m=>m.model.startsWith("config-storage_config-shm"))})),h=t.computed(()=>({fields:i.formSchema.fields.filter(m=>m.model.startsWith("config-storage_config-vault"))})),M=t.computed(()=>({fields:i.formSchema.fields.filter(m=>m.model.startsWith("config")&&!u.value.fields.filter(b=>b.model===m.model).length&&!A.value.fields.filter(b=>b.model===m.model).length||m.model==="tags")})),S=t.computed(()=>i.formModel.id&&i.isEditing||!i.isEditing),G=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],E=[{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 O=m=>{a.value=m.value,(m.value==="zeroSsl"||m.value==="other")&&(m.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),m.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()},f=(m,b)=>{b==="config-storage"&&(r.value=m),i.onModelUpdated()};return(m,b)=>{const B=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(xe,{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:G},{general:t.withCtx(()=>[t.createElementVNode("div",Wf,[_f,$f,S.value?(t.openBlock(),t.createBlock(xe,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),eh,t.createVNode(B,{class:"issuer-select",items:E,label:"Issuer",onChange:O}),t.createElementVNode("div",th,[a.value==="letsEncrypt"?(t.openBlock(),t.createBlock(xe,{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(xe,{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",nh,[ih,ah,S.value?(t.openBlock(),t.createBlock(xe,{key:0,model:e.formModel,options:e.formOptions,schema:A.value,onModelUpdated:f},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",oh,[r.value==="consul"?(t.openBlock(),t.createBlock(xe,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="redis"?(t.openBlock(),t.createBlock(xe,{key:1,model:e.formModel,options:e.formOptions,schema:C.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="shm"?(t.openBlock(),t.createBlock(xe,{key:2,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(xe,{key:3,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",rh,[sh,lh,S.value?(t.openBlock(),t.createBlock(xe,{key:0,model:e.formModel,options:e.formOptions,schema:M.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),dh=ge(ch,[["__scopeId","data-v-bb5a3a33"]]),Co=e=>(t.pushScopeId("data-v-3840f6a9"),e=e(),t.popScopeId(),e),uh={class:"rla-form-basic-fields"},ph={class:"rla-form-request-limits-subtitle"},Ah={class:"rla-form-request-limits-content"},gh={class:"rla-form-window-type"},mh=["innerHTML"],fh={class:"rla-form-window-type-radios"},hh={class:"rla-form-request-limits-items"},yh={class:"rla-form-request-limits-row"},bh=["id"],Eh={class:"rla-form-request-limits-actions"},wh={key:0,class:"rla-form-request-limits-examples"},Ch={class:"rla-form-request-limits-examples-badges"},Bh=Co(()=>t.createElementVNode("br",null,null,-1)),kh=["innerHTML"],Ih={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Oh=Co(()=>t.createElementVNode("div",null,":",-1)),Mh=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{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",...["identifier","limit","window_size","error_code","error_message"].map(T=>`config-${T}`)]),r=T=>T===void 0?!1:a.has(T),{t:o}=Mt.createI18n("en-us",Cn),s=e,l=t.computed(()=>{var T,N;const H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(z=>z.type==="selectionGroup"&&z.model==="selectionGroup");if(H)return{fields:[H]}}),d=t.computed(()=>{var T,N;const H=((N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.filter(v=>!r(v.model)))??[],z=[],$=[],ie=[];let F=!1;for(const v of H){const D=v.model;if(D!==void 0){if(D.startsWith("config-redis-")){(v.model==="config-redis-cluster_addresses"||v.model==="config-redis-sentinel_addresses")&&(v.inputAttributes.help=o("rla.redis.address_example")),$.push(v);continue}F?ie.push(v):z.push(v),v.model==="config-strategy"&&(F=!0)}}return{endsWithStrategy:{fields:z},redis:{fields:$},afterStrategy:{fields:ie}}}),p=t.computed(()=>{const T=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,T)?i[T]:[]}),u=t.computed(()=>{var T,N;return(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(H=>H.model==="config-identifier")}),A=t.computed(()=>{var T,N,H;return(((H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(z=>z.model==="config-identifier"))==null?void 0:H.values)??[]).map(z=>({label:o(`rla.identifiers.options.${z}`),value:z}))}),g=t.ref(),C=t.ref(!0),k=t.computed(()=>{var T,N,H;return s.formModel["config-window_type"]??((H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(z=>z.model==="config-window_type"))==null?void 0:H.default)}),h=t.computed(()=>{var T,N,H,z,$,ie;const F=(H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(v=>v.model==="config-window_type"))==null?void 0:H.default;return(((ie=($=(z=s.formSchema)==null?void 0:z.fields)==null?void 0:$.find(v=>v.model==="config-window_type"))==null?void 0:ie.values)??[]).sort((v,D)=>v===F?-1:D===F?1:0)}),M=t.computed(()=>{var T;const N=(T=s.formModel["config-limit"])==null?void 0:T.map((H,z)=>{var $,ie;return{limit:H,windowSize:(ie=($=s.formModel)==null?void 0:$["config-window_size"])==null?void 0:ie[z]}});return!Array.isArray(N)||N.length===0?[{limit:void 0,windowSize:void 0}]:N}),S=t.computed(()=>{var T,N,H,z;return((T=s.formModel)==null?void 0:T["config-identifier"])??((z=(H=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:H.find($=>$.model==="config-identifier"))==null?void 0:z.default)}),G=t.computed(()=>{var T,N,H,z;return((T=s.formModel)==null?void 0:T["config-error_code"])??((z=(H=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:H.find($=>$.model==="config-error_code"))==null?void 0:z.default)}),E=t.computed(()=>{var T,N,H,z;return((T=s.formModel)==null?void 0:T["config-error_message"])??((z=(H=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:H.find($=>$.model==="config-error_message"))==null?void 0:z.default)}),O=(T,N)=>{if(N===g.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{g.value=void 0});return}s.onModelUpdated([T.config.limit],"config-limit"),s.onModelUpdated([T.config.window_size],"config-window_size"),t.nextTick(()=>{g.value=N})},f=T=>{g.value!==void 0&&(g.value=void 0),T!==null&&s.onModelUpdated(T.toString(),"config-window_type")},m=(T,N)=>{var H;g.value!==void 0&&(g.value=void 0);const z=et(((H=s.formModel)==null?void 0:H["config-limit"])??[]);z[T]=N,s.onModelUpdated(z,"config-limit")},b=(T,N)=>{var H;g.value!==void 0&&(g.value=void 0);const z=et(((H=s.formModel)==null?void 0:H["config-window_size"])??[]);z[T]=N,s.onModelUpdated(z,"config-window_size")},B=T=>{var N,H;g.value!==void 0&&(g.value=void 0);const z=et(((N=s.formModel)==null?void 0:N["config-limit"])??[]),$=et(((H=s.formModel)==null?void 0:H["config-window_size"])??[]);z.length===0&&z.push(void 0),$.length===0&&$.push(void 0),z.splice(T+1,0,void 0),$.splice(T+1,0,void 0),s.onModelUpdated(z,"config-limit"),s.onModelUpdated($,"config-window_size")},Y=T=>{var N,H;if(M.value.length>1){g.value!==void 0&&(g.value=void 0);const z=et(((N=s.formModel)==null?void 0:N["config-limit"])??[]),$=et(((H=s.formModel)==null?void 0:H["config-window_size"])??[]);z.length===0&&z.push(void 0),$.length===0&&$.push(void 0),z.splice(T,1),$.splice(T,1),s.onModelUpdated(z,"config-limit"),s.onModelUpdated($,"config-window_size")}};return(T,N)=>{const H=t.resolveComponent("VueFormGenerator"),z=t.resolveComponent("KLabel"),$=t.resolveComponent("KRadio"),ie=t.resolveComponent("KInput"),F=t.resolveComponent("KButton"),v=t.resolveComponent("KBadge"),D=t.resolveComponent("KTooltip"),y=t.resolveComponent("KCard"),V=t.resolveComponent("KSelect"),K=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",uh,[t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:l.value,onModelUpdated:N[0]||(N[0]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"]),t.createVNode(y,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(z,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",ph,t.toDisplayString(t.unref(o)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Ah,[t.createElementVNode("div",gh,[t.createVNode(z,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(o)("rla.window_type.help")},null,8,mh)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",fh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,w=>(t.openBlock(),t.createBlock($,{key:`window-type-${w}`,"model-value":k.value,name:w,"selected-value":w,"onUpdate:modelValue":f},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)(`rla.window_type.options.${w}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",hh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(M.value,(w,J)=>(t.openBlock(),t.createElementBlock("div",{key:J.toString()},[t.createVNode(z,{for:`rla-form-request-limits-item-${J}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.request_limits.label_index",{index:J+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",yh,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${J}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(ie,{"model-value":w.limit&&w.limit.toString(),placeholder:t.unref(o)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":_=>m(J,Number.parseInt(_))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.interval_determiner")),1),t.createVNode(ie,{"model-value":w.windowSize&&w.windowSize.toString(),placeholder:t.unref(o)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":_=>b(J,Number.parseInt(_))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.seconds")),1)],8,bh),t.createElementVNode("div",Eh,[t.createVNode(F,{appearance:"tertiary",disabled:M.value.length<=1,onClick:()=>Y(J)},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(F,{appearance:"tertiary",onClick:()=>B(J)},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",wh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Ch,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(w,J)=>(t.openBlock(),t.createBlock(D,{key:`use-case-${J}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(w.description),1),Bh,t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.label"))+": "+t.toDisplayString(w.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.time_interval"))+": "+t.toDisplayString(w.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(v,{appearance:g.value===`${k.value}-${J}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>O(w,`${k.value}-${J}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(w.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(V,{modelValue:S.value,"onUpdate:modelValue":N[1]||(N[1]=w=>S.value=w),class:"rla-form-identifiers",items:A.value,label:t.unref(o)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:N[2]||(N[2]=w=>s.onModelUpdated(w.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:u.value&&u.value.help},null,8,kh)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(z,{for:"rla-form-error-legend",info:t.unref(o)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Ih,[t.createVNode(ie,{class:"input-error-code","model-value":G.value&&G.value.toString(),placeholder:t.unref(o)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":N[3]||(N[3]=w=>T.onModelUpdated(Number.parseInt(w),"config-error_code"))},null,8,["model-value","placeholder"]),Oh,t.createVNode(ie,{"model-value":E.value,placeholder:t.unref(o)("rla.error_message.message_placeholder"),"onUpdate:modelValue":N[4]||(N[4]=w=>T.onModelUpdated(w,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(K,{modelValue:C.value,"onUpdate:modelValue":N[8]||(N[8]=w=>C.value=w),"trigger-label":t.unref(o)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:N[5]||(N[5]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"]),T.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(y,{key:0,class:"rla-form-redis-card",title:t.unref(o)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:d.value.redis,onModelUpdated:N[6]||(N[6]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:d.value.afterStrategy,onModelUpdated:N[7]||(N[7]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),vh=ge(Mh,[["__scopeId","data-v-3840f6a9"]]),Rh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:dh,ExitTransformer:qf,OIDCForm:Ff,PostFunction:Kf,RLAForm:vh},Symbol.toStringTag,{value:"Module"})),ai=["array","metric","advanced","selectionGroup","object-advanced"],Bo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],st={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Sh={"config-prompts-prepend":{...st,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":{...st,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"}]}}}},Th={"config-templates":{...st,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"}]}}}},xh={"config-llm_providers":{...st,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"}]}}}},Vh={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:Ft.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"}},en={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"},Nh={"config-bootstrap_servers":{...st,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},tn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Dh={"config-metrics":{...tn,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"}]}}}},Lh={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},ko={"config-bootstrap_servers":{...st,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",help:"Set of bootstrap brokers.",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Gh={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},Uh={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Io=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Ft.fields.arrayItems({newElementButtonLabel:"Add"})}),Uh),Bn={"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"}},Ph={"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":{}},Yh=["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]:Ft.fields.arrayItems({newElementButtonLabel:"Add"})}),Ph),jh={"config-parameter_schema":{...tn,items:{type:"object",default:()=>({required:!1,explode:!1}),schema:{fields:[{model:"in",label:"in",type:"select",values:["query","header","path"]},{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"required",label:"required",type:"switch",id:"schema_required"},{model:"style",label:"style",type:"select",values:["label","form","matrix","simple","spaceDelimited","pipeDelimited","deepObject"]},{model:"explode",label:"explode",type:"switch",id:"schema_explode"},{model:"schema",label:"schema",type:"input",inputType:"string",id:"schema_schema"}]}}}},Hh={"config-rules":{...st,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"}]}}}},Fh={"config-session_redis_cluster_nodes":{...st,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"}]}}}},zh={"config-metrics":{...tn,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"]}]}}}},Kh={"config-metrics":{...tn,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"]}]}}}},Xh={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},qh={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},Qh={"config-static_tags":{...tn,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"}]}}}},Jh=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},Oo=(e,n)=>(e.order??0)-(n.order??0),Mo=(e,n)=>Jh(e,n)||Oo(e,n)||e.model.localeCompare(n.model),he={useI18n:ln,usePluginMetaData:gl,usePluginHelpers:Ii,useSchemas:e=>{const{capitalize:n}=U.useStringHelpers(),{convertToDotNotation:i}=Ii(),{i18n:{t:a}}=ln(),r={"application-registration":{overwriteDefault:!0,formSchema:{...Vh}},datadog:{...Dh},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},jwt:{...ll},"kafka-upstream":{...ko},"kafka-log":{...ko},statsd:{...zh},"statsd-advanced":{...Kh},"route-by-header":{...Hh},"ai-prompt-decorator":{...Sh},"ai-prompt-template":{...Th},"ai-rate-limiting-advanced":{...xh},"vault-auth":{...qh},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...Gh},"rate-limiting":{...Bn},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Bn["config-consumer_groups"]}:{...Bn},"graphql-rate-limiting-advanced":{...Lh},"response-ratelimiting":{...Bn},"pre-function":{...Io},"post-function":{...Io},"request-transformer-advanced":{...Yh},"request-validator":{...jh},zipkin:{...Qh},"upstream-oauth":{...Xh},saml:{...Fh},confluent:{...Nh}},o=()=>["created_at","updated_at","id"],s=(f,m,b)=>{let B={};(m||f)&&(B=m||(f.fields?f.fields:f));const Y=o().concat(f.blacklist?f.blacklist:[]),T=Object.keys(B).filter(F=>!Y.includes(F)),N=T.indexOf("comparator");N>-1&&T.splice(N,1);let H={fields:[]};const z={};T.forEach(F=>{d(B[F],F,B,z,H,b)});const $=z.name,ie=Qe[$];if(Bo($)||ie!=null&&ie.useLegacyForm||e!=null&&e.credential)H.fields.sort((F,v)=>(F.order=F.order||0,v.order=v.order||0,F.order-v.order));else{const F=[],v=[],D=[],y={};if(ie!=null&&ie.fieldRules){const w=[...ie.fieldRules.atLeastOneOf??[],...ie.fieldRules.onlyOneOf??[],...ie.fieldRules.mutuallyRequired??[]];if(ie.fieldRules.onlyOneOfMutuallyRequired)for(const J of ie.fieldRules.onlyOneOfMutuallyRequired)w.push(...J);for(const J of w)for(const _ of J)y[_.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const w of H.fields){if(w.pinned){F.push(w);continue}if(w.required||y[w.model]!==void 0){y[w.model]===!1&&(y[w.model]=!0),v.push(w);continue}D.push(w)}const V=Object.entries(y).filter(([,w])=>!w).map(([w])=>w.replace(/-/g,".").replace(/_/g,"-"));V.length>0&&console.warn(`Unknown checked fields for plugin ${$}: ${V.join(", ")}`);const K=[];F.length>0&&K.push({fields:F.sort(Oo)}),(v.length>0||D.length>0)&&K.push({fields:v.sort(Mo),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:D.sort(Mo),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"}}),H={groups:K}}return{schema:H,model:z,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},l=f=>Array.isArray(f.default)||f.default!=null&&typeof f.default!="object"&&f.default!=="function",d=(f,m,b,B,Y,T)=>{const N=l(f);return B[m]=N?f.default:null,f.id=m,f.model=m,f.fields&&f.type==="record"?u(f,m,b,B,Y,T):(b[m]=f,O(f,B),T&&T[m]&&p(b[m],T[m]),Y.fields.push(f)),b},p=(f,m)=>(m&&(Object.assign(f,m),m.label&&(f.label=m.label)),f),u=(f,m,b,B,Y,T)=>{f.fields.forEach(N=>{Object.keys(N).forEach(H=>{const z=N[H];b=d(z,m+"-"+H,b,B,Y,T)})})},A=(f,m)=>{f.type="input",f.inputType="hidden",f.styleClasses="kong-form-hidden-field-wrapper";const b=e==null?void 0:e.entityId;m[f.model]=b?{id:b}:null},g=f=>{f.type="input",f.inputType="number",f.between&&f.between.length===2&&(f.min=f.between[0],f.max=f.between[1])},C=f=>{Object.prototype.hasOwnProperty.call(f,"one_of")?(f.type="select",f.values=f.one_of,f.selectOptions={hideNoneSelectedText:!0}):(f.type="input",f.inputType="text")},k=f=>{f.type="input",f.inputType="text",f.valueType="array",f.valueArrayType="string"},h=f=>{f.type="checkbox",f.default=!0,f.required=!1},M=f=>{if(f.type="object-advanced",f.values.type==="array"){const{type:m}=f.values.elements||{};f.schema={fields:[{schema:{fields:[{...en,model:f.model,valueArrayType:m==="integer"?"number":m||"string",inputAttributes:{...en.inputAttributes,type:m==="integer"?"number":"text",inputMode:m==="integer"?"numeric":"text"}}]}}]}}else f.values.fields&&(f.schema={fields:[{type:"object",model:"object",schema:{fields:f.values.fields.map(m=>{const b=Object.keys(m)[0];return{model:b,type:"input",label:n(b),placeholder:b,inputType:m[b].type}})}}]})},S=f=>f.fields.reduce((m,b)=>(b.fields&&b.fields.forEach(B=>{m[B.model]=B}),b.model&&(m[b.model]=b),m),{}),G=(f,m)=>{if(!ai.includes(f.model))return;const b=S(f);ai.forEach(B=>{Object.keys(b).forEach(Y=>{const T=l(b[Y]);m[Y]=T?b[Y].default:null}),delete m[B]})},E=(f,m)=>f.inputType==="hidden"?"":i(n(f.label||m.replace(/_/g," "))),O=(f,m)=>{switch(G(f,m),f.type){case"foreign":A(f,m);break;case"number":g(f),f.attributes={step:"any"};break;case"integer":g(f);break;case"string":C(f);break;case"set":k(f);break;case"boolean":h(f);break;case"map":M(f);break}f.inputType==="foreign"&&A(f,m),f.label=E(f,f.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:r,typedefs:Ft}}},Ve="/v2/control-planes/{controlPlaneId}/core-entities",ve="/{workspace}",Ce={list:{konnect:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`},kongManager:{all:`${ve}/plugins`,forEntity:`${ve}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ve}/v1/available-plugins`},kongManager:{availablePlugins:`${ve}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`},edit:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ve}/{resourceEndpoint}`,edit:`${Ve}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ve}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ve}/{entity}/{id}`,entityGetAll:`${Ve}/{entity}?size=1000`},kongManager:{create:{all:`${ve}/plugins`,forEntity:`${ve}/{entityType}/{entityId}/plugins`},edit:{all:`${ve}/plugins/{id}`,forEntity:`${ve}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${ve}/schemas/plugins/{plugin}`,credential:{create:`${ve}/{resourceEndpoint}`,edit:`${ve}/{resourceEndpoint}/{id}`},credentialSchema:`${ve}/schemas/{plugin}`,validate:`${ve}/schemas/plugins/validate`,entityGetOne:`${ve}/{entity}/{id}`,entityGetAll:`${ve}/{entity}`}},item:{konnect:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${ve}/plugins/{id}`,forEntity:`${ve}/{entityType}/{entityId}/plugins/{id}`}}},Zh={key:0},Wh=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=he.usePluginHelpers(),{i18n:{t:a}}=he.useI18n(),r=l=>l.map(d=>d.replace(/^[cC]onfig\./,"").split(".").map(p=>i(p)).join(".")).join(", "),o=(l,d)=>a(l,{parameters:r(d)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const d of n.rules.atLeastOneOf)l.push(o("plugins.form.field_rules.at_least_one_of",d));if(n.rules.onlyOneOf)for(const d of n.rules.onlyOneOf)l.push(o("plugins.form.field_rules.only_one_of",d));if(n.rules.mutuallyRequired)for(const d of n.rules.mutuallyRequired)l.push(o("plugins.form.field_rules.mutually_required",d));return l});return(l,d)=>{const p=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(p,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(u,A)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${A}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Zh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,A)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${A}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(g,C)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${A}-combination-${C}`},t.toDisplayString(r(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),Fe=(e,n)=>{const i=e.__vccOpts||e;for(const[a,r]of n)i[a]=r;return i},_h=Fe(Wh,[["__scopeId","data-v-d8eb79cf"]]),oi="/v2/control-planes/{controlPlaneId}/core-entities",vo="/v2/control-planes/{controlPlaneId}/config-stores",ri="/{workspace}",Ro={list:{konnect:{getAll:`${oi}/vaults`,deleteConfigStore:`${vo}/{id}`},kongManager:{getAll:`${ri}/vaults`}},form:{konnect:{create:`${oi}/vaults`,createConfigStore:vo,edit:`${oi}/vaults/{id}`},kongManager:{create:`${ri}/vaults`,edit:`${ri}/vaults/{id}`}}},kn="/v2/control-planes/{controlPlaneId}",So={getVault:{konnect:`${kn}/core-entities/vaults/{id}`},list:{konnect:`${kn}/config-stores/{id}/secrets`},form:{konnect:{create:`${kn}/config-stores/{id}/secrets`,edit:`${kn}/config-stores/{id}/secrets/{secretId}`}}},$h=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,[,r,...o]=i.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:r||void 0,optionalSecretKey:o==null?void 0:o.join("/")}},ey=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}}`},ty={key:1,class:"inputs-wrapper"},ny={"data-testid":"no-search-results"},iy={class:"k-select-selected-item-label"},ay={class:"vault-secret-picker-vault-dropdown-item"},oy={class:"select-item-label"},ry={class:"select-item-description"},sy={class:"select-item-description"},ly={"data-testid":"no-search-results"},cy=Fe(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 ie;const{i18n:{t:i}}=he.useI18n(),a=e,r=n,{axiosInstance:o}=U.useAxios({validateStatus:F=>F===404||F>=200&&F<300,...(ie=a.config)==null?void 0:ie.axiosRequestConfig}),s=t.ref(!1),l=t.ref(""),d=t.ref(""),p=t.ref(""),u=t.ref(),A=t.computed(()=>{var F,v;return a.config.app==="konnect"?So.list[a.config.app].replace(/{id}/gi,((v=(F=u.value)==null?void 0:F.config)==null?void 0:v.config_store_id)??""):"<not_applicable>"}),g=t.computed(()=>{if(h&&O)return i("vault_secret_picker.fetch_error.vaults_and_secrets");if(h)return i("vault_secret_picker.fetch_error.vaults");if(O)return i("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:C,loading:k,error:h,loadItems:M,results:S}=U.useDebouncedFilter(a.config,Ro.list[a.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:G,loading:E,error:O,loadItems:f,results:m}=U.useDebouncedFilter(a.config,A,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),b=t.computed(()=>{var D;let F=!1;const v=((D=S.value)==null?void 0:D.map(y=>(y.prefix===l.value&&(F=!0),{label:y.prefix,value:y.prefix,vault:y})))??[];return!F&&u.value&&v.push({label:u.value.prefix,value:u.value.prefix,vault:u.value}),v}),B=t.computed(()=>{var D;let F=!1;const v=((D=m.value)==null?void 0:D.map(y=>(y.key===d.value&&(F=!0),{label:y.key,value:y.key})))??[];return!F&&d.value&&v.push({label:d.value,value:d.value}),v}),Y=t.computed(()=>{var F;return((F=u==null?void 0:u.value)==null?void 0:F.name)==="konnect"}),T=t.computed(()=>!!u.value&&!!d.value),N=F=>F.label?`${F.label} - (${F.vault.name} - ${F.vault.id})`:F.value,H=F=>{var D,y;let v=`${a.config.apiBaseUrl}${Ro.form[a.config.app].edit}`;return a.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,((D=a.config)==null?void 0:D.controlPlaneId)||""):a.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,(y=a.config)!=null&&y.workspace?`/${a.config.workspace}`:"")),v.replace(/{id}/gi,F)},z=(F,v)=>{var D;return a.config.app!=="konnect"?"<not_applicable>":`${a.config.apiBaseUrl}${So.form[a.config.app].edit}`.replace(/{controlPlaneId}/gi,((D=a.config)==null?void 0:D.controlPlaneId)||"").replace(/{id}/gi,v).replace(/{secretId}/gi,F)},$=()=>{r("proceed",ey({vaultPrefix:l.value,secretId:d.value||void 0,optionalSecretKey:p.value||void 0}))};return t.watch(()=>a.setup,async F=>{if(F!==!1){if(s.value=!0,l.value="",u.value=void 0,d.value="",p.value="",typeof F=="string"&&F.trim().length>0)try{let v,D="",y="",V="";const K=$h(F),{data:w}=await o.get(H(K.vaultPrefix));if(w!=null&&w.name)if(v=w,D=K.vaultPrefix,v.name==="konnect"){if(K.secretId){const{data:J}=await o.get(z(K.secretId,w.config.config_store_id));J.key===K.secretId&&(y=K.secretId,V=K.optionalSecretKey??"")}}else y=K.secretId??"",V=K.optionalSecretKey??"";await t.nextTick(()=>{l.value=D,u.value=v,d.value=y,p.value=V})}catch(v){console.debug(v)}s.value=!1,await M()}},{immediate:!0}),t.watch(l,async(F,v)=>{var D;s.value||F===v||(u.value=(D=b.value.find(y=>y.value===F))==null?void 0:D.vault,d.value="",p.value="")}),t.watch(A,async()=>{Y.value&&await f()},{immediate:!0}),(F,v)=>{const D=t.resolveComponent("KEmptyState"),y=t.resolveComponent("KSelect"),V=t.resolveComponent("KInput"),K=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(K,{"action-button-disabled":!T.value,"action-button-text":t.unref(i)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(i)("vault_secret_picker.title"),visible:a.setup!==!1,onCancel:v[4]||(v[4]=()=>r("cancel")),onProceed:$},{default:t.withCtx(()=>[t.unref(h)||t.unref(O)?(t.openBlock(),t.createBlock(D,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:g.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",ty,[t.createVNode(y,{modelValue:l.value,"onUpdate:modelValue":v[0]||(v[0]=w=>l.value=w),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:s.value,"enable-filtering":"","filter-function":()=>!0,items:b.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(i)("vault_secret_picker.vault.label"),loading:t.unref(k),placeholder:t.unref(i)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(C)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(i)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ny,t.toDisplayString(t.unref(i)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:w})=>[t.createElementVNode("span",iy,t.toDisplayString(N(w)),1)]),"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",ay,[t.createElementVNode("span",oy,t.toDisplayString(w.label),1),t.createElementVNode("span",ry,t.toDisplayString(w.vault.name),1),t.createElementVNode("span",sy,t.toDisplayString(w.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),Y.value?(t.openBlock(),t.createBlock(y,{key:0,modelValue:d.value,"onUpdate:modelValue":v[1]||(v[1]=w=>d.value=w),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:s.value||!u.value,"enable-filtering":"","filter-function":()=>!0,items:B.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(i)("vault_secret_picker.secret_id.label"),loading:t.unref(E),placeholder:t.unref(i)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(G)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(i)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ly,t.toDisplayString(t.unref(i)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(V,{key:1,modelValue:d.value,"onUpdate:modelValue":v[2]||(v[2]=w=>d.value=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:s.value||!u.value,label:t.unref(i)("vault_secret_picker.secret_id.label"),placeholder:t.unref(i)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(V,{modelValue:p.value,"onUpdate:modelValue":v[3]||(v[3]=w=>p.value=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:s.value||!u.value,help:t.unref(i)("vault_secret_picker.optional_secret_key.help"),label:t.unref(i)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(i)("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"])}}}),[["__scopeId","data-v-d1fb1c21"]]),dy={key:0,class:"vault-secret-picker-provider"},To=Fe(t.defineComponent({__name:"VaultSecretPickerProvider",props:{schema:{},value:{},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:r},i18nT:o}=he.useI18n();return(s,l)=>i.schema.referenceable?(t.openBlock(),t.createElementBlock("div",dy,[t.createVNode(t.unref(o),{keypath:"vault_secret_picker.provider.complete_action",scope:"global"},{cta:t.withCtx(()=>[t.createElementVNode("span",{class:"vault-secret-picker-provider-action",onClick:l[0]||(l[0]=()=>a("open",i.value,i.update))},t.toDisplayString(t.unref(r)("vault_secret_picker.provider.cta")),1)]),_:1})])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-7f7e64e9"]]),uy={class:"kong-ui-entities-plugin-form"},py={key:1,class:"entity-form"},Ay={class:"plugin-config-empty-state"},gy=t.defineComponent({components:{...Rh}}),my=t.defineComponent({...gy,__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1}},emits:["loading","model-updated"],setup(e,{emit:n}){var ie,F;const i=n,a=e,{axiosInstance:r}=U.useAxios((ie=a.config)==null?void 0:ie.axiosRequestConfig),{parseSchema:o}=he.useSchemas({entityId:((F=a.entityMap.focusedEntity)==null?void 0:F.id)||void 0,credential:a.credential}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:d,unsetNullForeignKey:p}=he.usePluginHelpers(),{objectsAreEqual:u}=U.useHelpers(),{i18n:{t:A}}=ln(),g=(v,D)=>{let y=`${a.config.apiBaseUrl}${Ce.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),y=y.replace(/{entity}/gi,v),y=y.replace(/{id}/gi,D),y},C=v=>{let D=`${a.config.apiBaseUrl}${Ce.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?D=D.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(D=D.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),D=D.replace(/{entity}/gi,v),D},k=(v,D)=>{const y=g(v,D);return r.get(y)},h=(v,D)=>{const y=C(v);return a.config.app==="konnect"?r.get(y).then(V=>{const{data:{data:K}}=V;if(delete D.size,delete D.offset,K.length&&Object.keys(D).length===1){const w=Object.keys(D)[0],J=K.filter(_=>_[w]?!!_[w].toLowerCase().includes(D[w].toLowerCase()):!1);V.data.data=J}return V}):r.get(y,{params:D})};t.provide(it,{getOne:k,getAll:h});const M=t.ref(""),S=t.ref(null),G=t.ref({}),E=t.reactive({}),O=t.reactive({}),f=t.computed(()=>{var v;return(v=S.value)==null?void 0:v.options}),m=t.ref(!1),b=t.ref(),B=(v,D)=>{m.value=v??"",b.value=D},Y=v=>{var D;(D=b.value)==null||D.call(b,v),m.value=!1},T=()=>{var w,J;const v={...a.schema},D=O,y=E,V=Object.keys(D),K={};if(!d(G.value))for(let _=0;_<((J=(w=G.value)==null?void 0:w.fields)==null?void 0:J.length);_++)v[G.value.fields[_].model]=G.value.fields[_];return ai.forEach(_=>{v[_]&&(v[_].fields.forEach(ae=>{ae.fields&&ae.fields.forEach(Z=>{v[Z.model]=Z}),ae.model&&(v[ae.model]=ae)}),delete v[_])}),V.forEach(_=>{var dt;if(!v[_])return;const ae=v[_];let Z=D[_];const Ee=y[_],lt=Array.isArray(Z)?"array":typeof Z,Oe=ae?ae.valueType:null,tt=ae?ae.valueArrayType:null,ct=ae?ae.transform:null;if(Z==null&&Ee==null&&!ae.submitWhenNull)return;if(ae){if(Oe&<!==Oe)switch(Oe){case"array":lt==="string"&&Z.length&&(Z=Z.split(",").map(x=>{if(x=x.trim(),tt==="string")return String(x);if(tt==="number")return Number(x);if(tt==="boolean"){if(typeof x=="string")return x.toLowerCase()==="true"||x==="1";if(typeof x=="number")return x===1}return x})),(!Z||!Z.length)&&(Z=ae.submitWhenNull?null:[]);break;case"number":Z=Number(Z);break;case"boolean":lt==="string"&&(Z=Z.toLowerCase()==="true"||Z==="1"),lt==="number"&&(Z=Z===1);break;case"string":Z=Z==null?"":String(Z);break}else Oe==="array"&&(!Z||!Z.length?Z=ae.submitWhenNull?null:[]:((dt=ae.inputAttributes)==null?void 0:dt.type)==="number"&&(Z=Z.map(x=>Number(x))));if(ae.type==="array"&&ae.nestedFields){const x=X=>{Object.keys(X).forEach(W=>{X[W]&&typeof X[W]=="object"&&X[W]!==null?x(X[W]):(X[W]===void 0||X[W]===null||typeof X[W]=="number"&&isNaN(X[W])||typeof X[W]=="string"&&X[W].trim().length===0)&&delete X[W]})};Z&&typeof Z=="object"&&x(Z)}ae.type==="object-advanced"&&ae.fields&&Z!==null&&(Object.entries(Z).length===0?Z=null:Object.keys(Z).forEach(x=>{Array.isArray(Z[x])||(Z[x]=Z[x].split(","))}))}let Ie=s(_);if(ae.fieldNameHasDashes){const[x,...X]=Ie.split(".").reverse();Ie=[x.replace(/_/g,"-"),...X].reverse().join(".")}if(Oe==="object-expand"){let x;[Ie,x]=Ie.split(".");let X={};K[Ie]&&(X=K[Ie]),X[x]=Z,Z=X}Ee!==void 0&&Z===""&&Z!==Ee?K[Ie]=Oe==="object"?{}:null:ae.type==="checklist"&&Z===""?K[Ie]=[]:Z!==""&&(K[Ie]=Z),K[Ie]=ct?ct(Z):K[Ie],p(Ie,K)}),l(K)},N=(v,D)=>{var K;const y={[D]:v};typeof((K=a.schema[D])==null?void 0:K.modelTransformer)=="function"&&(y[D]=a.schema[D].modelTransformer(v));const V=Object.assign({},O,y);Object.assign(O,V),i("model-updated",{model:O,originalModel:E,data:T()})},H=(v,D)=>{Object.keys(v).forEach(y=>{var _,ae;let V=D?`${D}-${y}`:y,K=a.schema[V];if(!K){const Z=D?`${D}-${y.replace(/-/g,"_")}`:y.replace(/-/g,"_");(_=a.schema[Z])!=null&&_.fieldNameHasDashes&&(V=Z,K=a.schema[V]),D&&((ae=a.schema[D])==null?void 0:ae.keyFromObject)===y&&(V=D,K=a.schema[V])}const w=v[y],J=typeof w;if(K&&K.type==="object-advanced"&&!w){O[V]={},E[V]={};return}if(Array.isArray(w)){O[V]=JSON.parse(JSON.stringify(w)),E[V]=JSON.parse(JSON.stringify(w));return}if(J==="object"&&w&&!w.length)return H(w,V);if(J==="object"&&w&&w.length&&K.type==="input"){O[V]=w.join(", "),E[V]=w.join(", ");return}O[V]=w,E[V]=w}),i("model-updated",{model:O,originalModel:E,data:T()})},z=t.ref(!0),$=()=>{var v;if(a.record&&a.schema&&(H({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)&&H({consumer_id:a.record.consumer_id||a.record.consumer}),H(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)&&H({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}),H(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const D={};for(const y in a.entityMap){const V=a.entityMap[y].id,K=a.entityMap[y].idField,w=K==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(K).replace("_","-"));Object.prototype.hasOwnProperty.call(O,w)&&(D[w]=V)}H(D)}if((v=a.entityMap.consumer)!=null&&v.id&&a.schema&&a.credential){const D={};Object.prototype.hasOwnProperty.call(O,"consumer")&&(D.consumer=a.entityMap.consumer.id),H(D)}z.value=!1};return t.watch(z,v=>{i("loading",v)}),t.watch(()=>a.schema,(v,D)=>{var V,K;if(u(v||{},D||{}))return;const y=o(v);Object.assign(O,y.model),G.value={fields:(K=(V=G.value)==null?void 0:V.fields)==null?void 0:K.map(w=>({...w,disabled:w.disabled||!1}))},Object.assign(E,JSON.parse(JSON.stringify(y.model))),M.value=Bo(y.model.name),$()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var v,D;S.value=o(a.schema),Object.assign(O,((v=S.value)==null?void 0:v.model)||{}),G.value=((D=S.value)==null?void 0:D.schema)||{},$()}),(v,D)=>{var K;const y=t.resolveComponent("KSkeleton"),V=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",uy,[z.value?(t.openBlock(),t.createBlock(y,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",py,[M.value&&(O.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(M.value),{key:0,"form-model":O,"form-options":f.value,"form-schema":G.value,"is-editing":e.editing,"on-model-updated":N},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(at),fn:t.withCtx(w=>[w.schema.referenceable?(t.openBlock(),t.createBlock(To,t.mergeProps({key:0},w,{onOpen:D[0]||(D[0]=(J,_)=>B(J,_))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!M.value&&(O.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(V,{key:1,model:O,options:f.value,schema:G.value,onModelUpdated:N},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Ay,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(K=t.unref(Qe)[O.name])!=null&&K.fieldRules&&(a.config.isNewOtelSchema||O.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(_h,{rules:t.unref(Qe)[O.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(at),fn:t.withCtx(w=>[w.schema.referenceable?(t.openBlock(),t.createBlock(To,t.mergeProps({key:0},w,{onOpen:D[1]||(D[1]=(J,_)=>B(J,_))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(cy,{config:a.config,setup:m.value,onCancel:D[2]||(D[2]=()=>m.value=!1),onProceed:Y},null,8,["config","setup"])],64)}}}),fy=Fe(my,[["__scopeId","data-v-4ffe25a9"]]),hy={class:"kong-ui-entities-plugin-form-container"},yy=["id"],by={class:"plugin-form-actions"},Ey=Fe(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},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},useCustomNamesForPlugin:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableTerraform:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var W;const i=n,a=e,r=Lt.useRouter(),{i18n:{t:o}}=he.useI18n(),{customSchemas:s,typedefs:l}=he.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=he.usePluginHelpers(),{getMessageFromError:p}=U.useErrors(),{capitalize:u}=U.useStringHelpers(),{objectsAreEqual:A}=U.useHelpers(),{axiosInstance:g}=U.useAxios((W=a.config)==null?void 0:W.axiosRequestConfig),C=t.ref(!1),k=t.computed(()=>!!a.pluginId),h=t.computed(()=>a.pluginId?U.EntityBaseFormType.Edit:U.EntityBaseFormType.Create),M=t.ref(null),S=t.computed(()=>!!(a.credential&&a.config.entityId)),G=t.ref(null),E=t.ref({}),O=t.ref(!1),f=t.ref(null),m=t.reactive({enabled:!0,protocols:[],tags:[]}),b=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),B=t.ref([{title:o("view_configuration.json"),hash:"#json"},{title:o("view_configuration.yaml"),hash:"#yaml"}]);a.enableTerraform&&B.value.splice(1,0,{title:o("view_configuration.terraform"),hash:"#terraform"});const Y=t.ref(""),T=t.computed(()=>{if(S.value){let L=Ce.form[a.config.app].credential[h.value];return L=L.replace(/{resourceEndpoint}/gi,$.value),L}return a.config.entityType&&a.config.entityId?Ce.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Ce.form[a.config.app].edit.all}),N=()=>{C.value=!C.value},H=t.computed(()=>{var q,oe,re,Be,ye,j,P,Le;const L=a.config.entityType==="consumers"&&a.config.entityId||((oe=(q=G.value)==null?void 0:q.consumer)==null?void 0:oe.id),Q=a.config.entityType==="consumer_groups"&&a.config.entityId||((Be=(re=G.value)==null?void 0:re.consumer_group)==null?void 0:Be.id),I=a.config.entityType==="services"&&a.config.entityId||((j=(ye=G.value)==null?void 0:ye.service)==null?void 0:j.id),ne=a.config.entityType==="routes"&&a.config.entityId||((Le=(P=G.value)==null?void 0:P.route)==null?void 0:Le.id);if(!(L||Q||I||ne))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const te={};return I&&(te.service={entity:c.SERVICE,entityEndpoint:"services",id:I,idField:mt.SERVICE}),ne&&(te.route={entity:c.ROUTE,entityEndpoint:"routes",id:ne,idField:mt.ROUTE}),L&&(te.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:L,idField:mt.CONSUMER}),Q&&(te.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:Q,idField:mt.CONSUMER_GROUP}),a.config.entityType&&(te.focusedEntity={entity:c[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:mt[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),te}),z=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:o("plugins.form.fields.enabled.label"),textOn:o("plugins.form.fields.enabled.on_text"),textOff:o("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||h.value===U.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",inputType:"hidden",styleClasses:"hide-label",fields:[{label:o("plugins.form.scoping.global.label"),description:o("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:o("plugins.form.fields.protocols.help"),label:o("plugins.form.fields.protocols.label"),placeholder:o("plugins.form.fields.protocols.placeholder"),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"}]},...(a.config.app==="kongManager"||a.useCustomNamesForPlugin)&&{instance_name:{default:"",type:"input",label:o("plugins.form.fields.instance_name.label"),inputType:"text",help:o("plugins.form.fields.instance_name.help")}},tags:l.tags}),$=t.computed(()=>{var I;const L=a.developer?"developers":"consumers",Q=((I=Rt[a.pluginType])==null?void 0:I.endpoint)||"/plugins";return`${L}/${a.config.entityId}${a.developer?"/credentials":""}${Q}`}),ie=L=>{const Q=Array.from(new Set(L.map(I=>typeof I)));return Q.length>1?"string":Q[0]},F=(L,Q,I,ne)=>{var re,Be;let te=Q&&Q.fields||[];const q=s[a.pluginType],oe=(Be=(re=Rt[a.pluginType])==null?void 0:re.schema)==null?void 0:Be.fields;return Array.isArray(te)&&(te=te.reduce((ye,j)=>{const P=Object.keys(j)[0];return P.match(/-/g)?ye[P.replace(/-/g,"_")]={...j[P],fieldNameHasDashes:!0}:ye[P]=j[P],ye},{})),Object.keys(te).sort().forEach(ye=>{var ut,Vo,No,Do,Lo,Go;const j=te[ye],P=L?`${L}-${ye}`:`${ye}`;if(Object.prototype.hasOwnProperty.call(j,"overwrite")||j.hidden)return;if(j.type==="table")return F(P,j.schema,I);if(j.fields)return ne&&j.type==="record"?(I[P]={type:"object",model:ye,schema:{fields:Object.values(F(P,j,{},!0))}},I):F(P,j,I);if(I[P]={id:P,model:ye},I[P].type=j.type==="boolean"?"checkbox":"input",I[P].required=j.required,I[P].referenceable=j.referenceable,P.startsWith("config-"))if(!ne&&j.type==="array"&&(Y.value=P),ne&&Y.value&&P.startsWith(Y.value)){const le=P.slice(Y.value.length+1);I[P].label=le.split("-").map(d).join(".")}else I[P].label=d(P);if((L==="config"||L.startsWith("config-"))&&(ut=te[ye])!=null&&ut.description&&(I[P].help=se.parse(te[ye].description,{mangle:!1,headerIds:!1})),j.type==="map"){if(I[P].type="object-advanced",I[P].values=j.values,j.values.type==="array"){const{type:le}=j.values.elements||{};I[P].schema={fields:[{schema:{fields:[{...en,model:P,valueArrayType:le==="integer"?"number":le||"string",inputAttributes:{...en.inputAttributes,type:le==="integer"?"number":"text",inputMode:le==="integer"?"numeric":"text"}}]}}]}}else j.values.fields&&(I[P].schema={fields:[{type:"object",model:"object",schema:{fields:j.values.fields.map(le=>{const Xe=Object.keys(le)[0];return{model:Xe,type:"input",label:u(Xe),placeholder:Xe,inputType:le[Xe].type}})}}]});return I}if(j.enum&&j.type==="array"&&(I[P].type="checklist",I[P].values=j.enum,I[P].multi=!0,I[P].multiSelect=!0),j.one_of&&j.type!=="array"&&(I[P].type="select",I[P].values=j.one_of,I[P].selectOptions={noneSelectedText:o("plugins.form.no_selection")}),j.elements&&j.type==="array"){const le=j.elements;if(I[P].referenceable=le.referenceable,(le.type==="string"||le.type==="integer")&&!le.one_of){const{id:Xe,help:ke,label:ue,hint:Ne,values:It,referenceable:pt}=I[P],{inputAttributes:Ot,...Ab}=JSON.parse(JSON.stringify(en));Ot.type=le.type==="integer"?"number":"text",I[P]={id:Xe,help:ke,label:ue,hint:Ne,values:It,referenceable:pt,inputAttributes:Ot,...Ab}}}if(j.hint&&(I[P].hint=j.hint),q&&!q.overwriteDefault&&Object.keys(q).forEach(le=>{if(le===P){const{help:Xe,label:ke,hint:ue,values:Ne,referenceable:It}=I[P],{help:pt,...Ot}=q[le];I[P]={help:Xe,label:ke,hint:ue,values:Ne,referenceable:It,...Ot},typeof pt=="string"&&(I[P].help=se.parse(pt,{mangle:!1,headerIds:!1}))}}),j.type==="array"&&((Vo=j.elements)==null?void 0:Vo.type)==="record"&&Array.isArray(j.elements.fields)){let le={};for(const ke of j.elements.fields)le={...le,...ke};const Xe=(Lo=(Do=(No=I[P])==null?void 0:No.items)==null?void 0:Do.schema)==null?void 0:Lo.fields;if(Array.isArray(Xe))for(const ke of I[P].items.schema.fields){const ue=(Go=le[ke.model])==null?void 0:Go.description;ke.help===void 0&&typeof ue=="string"&&(ke.help=se.parse(ue,{mangle:!1,headerIds:!1}))}if(Xe||(I[P].type="array",I[P].newElementButtonLabelClasses="kong-form-new-element-button-label",I[P].fieldClasses="array-card-container-wrapper",I[P].itemContainerComponent="FieldArrayCardContainer",I[P].items={type:"object",schema:{fields:Object.values(F(P,j.elements,{},!0))}},I[P].items.schema.fields.forEach(ke=>{var ue,Ne;for(const It of j.elements.fields){const pt=Object.keys(It)[0],Ot=((Ne=(ue=ke.id)==null?void 0:ue.split)==null?void 0:Ne.call(ue,"-"))??[];if(Ot[Ot.length-1]===pt){ke.model=pt,ke.label=d(pt);break}}}),j.elements.type==="record"&&(I[P].nestedFields=!0)),!I[P].nestedFields)I[P].items.default=()=>j.elements.fields.reduce((ke,ue)=>{const Ne=Object.keys(ue)[0];return ke[Ne]=ue[Ne].default,ke},{});else{const ke=(ue,Ne)=>{if(ue.type==="object"){ue.model&&(Ne[ue.model]={});for(const It of ue.schema.fields)ke(It,ue.model?Ne[ue.model]:Ne)}else ue.model&&(Ne[ue.model]=ue.default)};I[P].items.default=()=>{const ue={};return ke(I[P].items,ue),ue}}}if(S.value&&oe){for(let le=0;le<oe.length;le++)if(oe[le][P]){I[P]={...I[P],...oe[le][P]};break}}if(j.required&&j.type!=="boolean"&&(I[P].required=!0,I[P].selectOptions={hideNoneSelectedText:!0}),j.required&&j.type==="boolean"&&(I[P].default=j.default??!1),j.default!=null&&typeof j.default!="object"&&j.default!=="function"&&(I[P].default=j.default),I[P].type==="input"){const{type:le}=j.elements||{};le&&(I[P].valueArrayType=le==="integer"?"number":le),I[P].inputType=j.type==="array"||j.type==="string"?"text":j.type}let Le="string";j.enum?Le=ie(j.enum):j.type==="boolean"?Le="boolean":j.type==="number"||j.type==="integer"?(Le="number",I[P].inputType="number"):j.type==="array"||j.type==="set"?(Le="array",I[P].default=j.default,j.len_min>0&&(I[P].submitWhenNull=!0)):j.type==="foreign"?Le="object":j.default&&Array.isArray(j.default)?(Le="array",I[P].valueArrayType=ie(j.default)):j.default&&(Le=typeof j.default),I[P].valueType=Le,j.fieldNameHasDashes&&(I[P].fieldNameHasDashes=!0)}),I},v=()=>{var q,oe,re,Be;const L=((q=Qe[a.pluginType])==null?void 0:q.scope.includes(c.SERVICE))??!0,Q=((oe=Qe[a.pluginType])==null?void 0:oe.scope.includes(c.ROUTE))??!0,I=((re=Qe[a.pluginType])==null?void 0:re.scope.includes(c.CONSUMER))??!0,ne=a.config.disableConsumerGroupScope?!1:((Be=Qe[a.pluginType])==null?void 0:Be.scope.includes(c.CONSUMER_GROUP))??!0,te=[];if(L&&te.push({id:"service-id",model:"service-id",label:o("plugins.form.scoping.gateway_service.label"),placeholder:o("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:o("plugins.form.scoping.gateway_service.help")}),Q&&te.push({id:"route-id",model:"route-id",label:o("plugins.form.scoping.route.label"),placeholder:o("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:o("plugins.form.scoping.route.help")}),I&&te.push({model:"consumer-id",label:o("plugins.form.scoping.consumer.label"),placeholder:o("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:o("plugins.form.scoping.consumer.help")}),ne&&te.push({model:"consumer_group-id",label:o("plugins.form.scoping.consumer_group.label"),placeholder:o("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:o("plugins.form.scoping.consumer_group.help")}),te.length){const ye=[...L?["service"]:[],...Q?["route"]:[],...I?["consumer"]:[],...ne?["consumer_group"]:[]],P=ye.splice(ye.length-2,2).map(ut=>o(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(`${ye.length>0?",":""} and/or `),Le=["Specific",[...ye.length>0?[ye.map(ut=>o(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(", ")]:[],P].join(", ")].join(" ");z.selectionGroup.fields.push({label:o("plugins.form.scoping.label"),description:Le,fields:[]}),z.selectionGroup.fields[1].fields=te}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(z,s[a.pluginType].formSchema)},D=t.computed(()=>!A(b.fields,m,!0)),y=t.computed(()=>!x.value&&!O.value&&(h.value===U.EntityBaseFormType.Create||D.value)),V=t.ref(!1),K=t.ref(),w=L=>{b.fields.id=(L==null?void 0:L.id)||void 0,K.value=L==null?void 0:L.ordering,Object.assign(m,b.fields),G.value=L,V.value=!0},J=t.ref({}),_=L=>{var Q;b.fields=L.model,b.fields.id=((Q=G.value)==null?void 0:Q.id)||void 0,Object.assign(m,L.originalModel),J.value=L.data,a.isWizardStep&&i("model-updated",{model:b.fields,data:L.data,resourceEndpoint:$.value})};t.watch([H,V],(L,Q)=>{const I=L[0]!==Q[0],ne=L[1],te=Q[1];!S.value&&h.value===U.EntityBaseFormType.Edit&&(I||ne&&ne!==te)&&(x.value=!0,M.value=F("config",E.value,z),x.value=!1)},{deep:!0});const ae=()=>{a.config.cancelRoute?r.push(a.config.cancelRoute):i("cancel")},Z=t.computed(()=>{let L=`${a.config.apiBaseUrl}${Ce.form[a.config.app].validate}`;return a.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),L=L.replace(/{id}/gi,a.pluginId),L}),Ee=t.computed(()=>{const L=a.config.entityType&&a.config.entityId&&!a.developer,Q=S.value?Ce.form[a.config.app].credential[h.value]:Ce.form[a.config.app][h.value][L?"forEntity":"all"];let I=`${a.config.apiBaseUrl}${Q}`;return a.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),I=I.replace(/{resourceEndpoint}/gi,$.value),I=I.replace(/{id}/gi,a.pluginId),I=I.replace(/{entityType}/gi,a.config.entityType||""),I=I.replace(/{entityId}/gi,a.config.entityId||""),I}),lt=t.computed(()=>!Object.keys(Qe).includes(a.pluginType)),Oe=t.computed(()=>{const L=J.value;if(S.value){for(const Q in c){const I=c[Q];L[I]&&!L[I].id&&(L[I]={id:a.config.entityId})}delete L.created_at}return L}),tt=async()=>{if(!a.isWizardStep)try{b.isReadonly=!0;let L;!S.value&&!lt.value&&await g.post(Z.value,Oe.value),h.value==="create"?L=await g.post(Ee.value,Oe.value):h.value==="edit"&&(L=a.config.app==="konnect"?await g.put(Ee.value,Object.assign({ordering:K.value},Oe.value)):await g.patch(Ee.value,Oe.value)),Object.assign(m,b.fields),i("update",L==null?void 0:L.data)}catch(L){b.errorMessage=p(L),i("error",L)}finally{b.isReadonly=!1}},ct=t.computed(()=>{var ne;const L=S.value?(ne=Rt[a.pluginType])==null?void 0:ne.schemaEndpoint:a.pluginType,Q=S.value?Ce.form[a.config.app].credentialSchema:Ce.form[a.config.app].pluginSchema;let I=`${a.config.apiBaseUrl}${Q}`;return a.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),I=I.replace(/{plugin}/gi,L),I}),Ie=t.ref(!1);t.watch(f,L=>{L&&(Ie.value=!0)});const dt=t.ref(""),x=t.ref(!1),X=t.ref("");return t.onBeforeMount(async()=>{var L,Q,I;x.value=!0;try{if(S.value&&a.config.app==="konnect"){const ne=(L=Rt[a.pluginType])==null?void 0:L.schemaEndpoint,te=Al[ne];dt.value=ne,M.value=F("",te,{}),x.value=!1}else{const ne=await g.get(ct.value),{data:te}=ne;if(te)if(S.value)M.value=F("",te,{}),x.value=!1;else{const q=te.fields.find(re=>re.config);E.value=q?q.config:ne,v();const oe=(Q=te.fields.find(re=>re.protocols))==null?void 0:Q.protocols;if(oe){const{default:re=[],elements:Be={}}=oe;z.protocols.default=re,(I=Be.one_of)!=null&&I.length&&(z.protocols.values=Be.one_of.map(ye=>({label:ye,value:ye})))}(V.value||h.value===U.EntityBaseFormType.Create)&&(M.value=F("config",E.value,z))}}}catch(ne){X.value=p(ne),i("error:fetch-schema",ne)}finally{x.value=!1}}),(L,Q)=>{const I=t.resolveComponent("KSkeleton"),ne=t.resolveComponent("KEmptyState"),te=t.resolveComponent("KButton"),q=t.resolveComponent("KTabs"),oe=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",hy,[x.value?(t.openBlock(),t.createBlock(I,{key:0,type:"form"})):X.value?(t.openBlock(),t.createBlock(ne,{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(o)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(U.EntityBaseForm),{key:2,"can-submit":y.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(U.SupportedEntityType).Plugin,"error-message":b.errorMessage,"fetch-url":T.value,"form-fields":Oe.value,"is-readonly":b.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":Q[2]||(Q[2]=re=>L.$emit("error",re)),"onFetch:success":w,onLoading:Q[3]||(Q[3]=re=>L.$emit("loading",re))},{"form-actions":t.withCtx(()=>[t.createElementVNode("div",{id:`plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`,ref_key:"actionsDivRef",ref:f},null,8,yy),!e.isWizardStep&&Ie.value?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.actionsTeleportTarget?e.actionsTeleportTarget:`#plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`},[t.createElementVNode("div",by,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(te,{key:0,appearance:"tertiary","data-testid":`plugin-${k.value?"edit":"create"}-form-view-configuration`,onClick:Q[1]||(Q[1]=re=>N())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(te,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${k.value?"edit":"create"}-form-cancel`,disabled:b.isReadonly,type:"reset",onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(te,{appearance:"primary","data-testid":`plugin-${k.value?"edit":"create"}-form-submit`,disabled:!y.value||b.isReadonly,type:"submit",onClick:tt},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])],8,["to"])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:tt},null,32),t.createVNode(fy,{config:e.config,credential:S.value,editing:h.value===t.unref(U.EntityBaseFormType).Edit,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":H.value,record:G.value||void 0,schema:M.value||{},onLoading:Q[0]||(Q[0]=re=>O.value=re),onModelUpdated:_},null,8,["config","credential","editing","enable-vault-secret-picker","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(oe,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(o)("view_configuration.title"),visible:C.value,onClose:N},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("view_configuration.message")),1),t.createVNode(q,{"data-testid":"form-view-configuration-slideout-tabs",tabs:B.value},{json:t.withCtx(()=>[t.createVNode(t.unref(U.JsonCodeBlock),{config:e.config,"entity-record":Oe.value,"fetcher-url":Ee.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(U.YamlCodeBlock),{"entity-record":Oe.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(U.TerraformCodeBlock),{"credential-type":dt.value,"entity-record":Oe.value,"entity-type":t.unref(U.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-62a0db84"]]),wy=["alt","src","width"],In=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(()=>Ni(n.name)),r=()=>{const o=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:vt&&vt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&(i.value.src=o)};return(o,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,src:a.value,width:e.size,onError:r},null,40,wy))}}),Cy={class:"kong-ui-entities-plugins-list"},By={class:"name-cell-wrapper"},ky={class:"info-wrapper"},Iy={key:0,class:"info-name"},Oy={key:1,class:"info-name"},My={key:2,class:"info-type"},vy={key:1},Ry={key:1},Sy=Fe(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}},emits:["error","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var Ie,dt;const i=he.usePluginMetaData(),a=n,r=e,{i18n:{t:o}}=he.useI18n(),s=Lt.useRouter(),{axiosInstance:l}=U.useAxios((Ie=r.config)==null?void 0:Ie.axiosRequestConfig),d=t.computed(()=>{var x;return((x=r.config)==null?void 0:x.entityType)==="consumers"}),p=t.computed(()=>{var x;return((x=r.config)==null?void 0:x.entityType)==="consumer_groups"}),u=r.config.app==="konnect"||U.useGatewayFeatureSupported({gatewayInfo:r.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),A=t.computed(()=>r.config.app!=="kongManager"||!!r.config.disableSorting),g={name:{label:o("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(dt=r.config)!=null&&dt.entityId||(g.appliedTo={label:o("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:o("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},u&&(g.ordering={label:o("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:o("plugins.list.table_headers.tags"),sortable:!1};const C=g,k=t.computed(()=>{var X,W,L,Q;let x=r.config.entityType?`${r.config.apiBaseUrl}${Ce.list[r.config.app].forEntity}`:`${r.config.apiBaseUrl}${Ce.list[r.config.app].all}`;return r.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,((X=r.config)==null?void 0:X.controlPlaneId)||""):r.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,(W=r.config)!=null&&W.workspace?`/${r.config.workspace}`:"")),x.replace(/{entityType}/gi,((L=r.config)==null?void 0:L.entityType)||"").replace(/{entityId}/gi,((Q=r.config)==null?void 0:Q.entityId)||"")}),h=t.ref(""),M=t.computed(()=>r.config.app==="konnect"||r.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:o("plugins.list.table_headers.id"),sortable:!0}},placeholder:o(`search.placeholder.${r.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:o("search.filter.field.enabled")},name:g.name,instance_name:{label:o("plugins.list.table_headers.instance_name"),searchable:!0}},schema:r.config.filterSchema}),S=t.ref(1),{fetcher:G,fetcherState:E}=U.useFetcher(r.config,k.value),O=()=>{h.value=""},f=()=>{S.value++},m=t.ref(null),b=x=>{var W,L,Q,I;const X=[];return(W=x.route)!=null&&W.id&&X.push({type:"route",badgeText:o("plugins.list.table_headers.applied_to_badges.route")}),(L=x.service)!=null&&L.id&&X.push({type:"service",badgeText:o("plugins.list.table_headers.applied_to_badges.service")}),(Q=x.consumer)!=null&&Q.id&&X.push({type:"consumer",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer")}),(I=x.consumer_group)!=null&&I.id&&X.push({type:"consumer_group",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer_group")}),X.length?X:[{type:null,badgeText:o("plugins.list.table_headers.applied_to_badges.global")}]},B=async(x,X)=>{var W;return x===null?!1:await((W=r.canRetrieveScopedEntity)==null?void 0:W.call(r,x,X.id))},Y=(x,X)=>{var L,Q,I,ne,te;let W=null;switch(x){case"route":W=(L=X.route)==null?void 0:L.id;break;case"service":W=(Q=X.service)==null?void 0:Q.id;break;case"consumer":W=(I=X.consumer)==null?void 0:I.id;break;case"consumer_group":W=(ne=X.consumer_group)==null?void 0:ne.id;break}W&&((te=r.config)!=null&&te.getScopedEntityViewRoute)&&s.push(r.config.getScopedEntityViewRoute(x,W))},T=t.ref(!1),N=t.ref(null),H=t.computed(()=>{const x={action:"disable",id:"",name:""};if(N.value){const{enabled:X,id:W,name:L}=N.value;x.action=X?"disable":"enable",x.id=W,x.name=i.getDisplayName(L)||W}return x}),z=x=>{T.value=!0,N.value=x},$=()=>{T.value=!1,N.value=null},ie=async()=>{var L,Q,I,ne,te,q,oe,re;if(!await((L=r.canEdit)==null?void 0:L.call(r,N.value))||!N.value)return;let X=`${r.config.apiBaseUrl}${(te=Ce.item[r.config.app])==null?void 0:te[(Q=r.config)!=null&&Q.entityType?"forEntity":"all"].replace(/{entityType}/gi,((I=r.config)==null?void 0:I.entityType)||"").replace(/{entityId}/gi,((ne=r.config)==null?void 0:ne.entityId)||"")}`.replace(/{id}/gi,N.value.id||"");r.config.app==="konnect"?X=X.replace(/{controlPlaneId}/gi,((q=r.config)==null?void 0:q.controlPlaneId)||""):r.config.app==="kongManager"&&(X=X.replace(/\/{workspace}/gi,(oe=r.config)!=null&&oe.workspace?`/${r.config.workspace}`:""));const W=!N.value.enabled;try{const{data:Be}=((re=r.config)==null?void 0:re.app)==="konnect"?await l.put(X,{...N.value,enabled:W},{timeout:12e4}):await l.patch(X,{...N.value,enabled:W},{timeout:12e4});a("toggle-enabled",W,Be)}catch(Be){a("error",Be)}N.value.enabled=W},F=(x,X)=>{const W=x.id;if(!X(W)){a("copy:error",{entity:x,field:"id",message:o("errors.copy")});return}a("copy:success",{entity:x,field:"id",message:o("copy.success",{val:W})})},v=(x,X)=>{const W=JSON.stringify(x);if(!X(W)){a("copy:error",{entity:x,message:o("errors.copy")});return}a("copy:success",{entity:x,message:o("copy.success_brief")})},D=async x=>{var W;await((W=r.canRetrieve)==null?void 0:W.call(r,x))&&s.push(r.config.getViewRoute(x))},y=x=>({label:o("actions.view"),to:r.config.getViewRoute(x)}),V=x=>({label:o("actions.edit"),to:r.config.getEditRoute(x)}),K=x=>({label:o("actions.configure_dynamic_ordering"),to:r.config.getConfigureDynamicOrderingRoute(x)}),w=t.ref(void 0),J=t.ref(!1),_=t.ref(!1),ae=t.ref(""),Z=U.useDeleteUrlBuilder(r.config,k.value),Ee=x=>{w.value=x,J.value=!0},lt=()=>{J.value=!1},Oe=async()=>{var x,X,W;if((x=w.value)!=null&&x.id){_.value=!0;try{await l.delete(Z(w.value.id)),_.value=!1,J.value=!1,S.value++,a("delete:success",w.value)}catch(L){ae.value=((W=(X=L.response)==null?void 0:X.data)==null?void 0:W.message)||L.message||o("errors.delete"),a("error",L)}finally{_.value=!1}}},tt=t.ref(!1);t.watch(E,x=>{var X,W,L,Q;if(Array.isArray((X=x==null?void 0:x.response)==null?void 0:X.data)&&(tt.value=x.response.data.length>0),x.status===U.FetcherStatus.Error){m.value={title:o("errors.general")},(Q=(L=(W=x.error)==null?void 0:W.response)==null?void 0:L.data)!=null&&Q.message&&(m.value.message=x.error.response.data.message),a("error",x.error);return}m.value=null});const ct=t.ref({ctaPath:r.config.createRoute,ctaText:void 0,message:`${o("plugins.list.empty_state.description")}${r.config.additionMessageForEmptyState?` ${r.config.additionMessageForEmptyState}`:""}`,title:o("plugins.title")});return t.onBeforeMount(async()=>{await r.canCreate()&&(ct.value.title=o("plugins.list.empty_state.title"),ct.value.ctaText=o("actions.create"))}),(x,X)=>{const W=t.resolveComponent("KButton"),L=t.resolveComponent("KBadge"),Q=t.resolveComponent("KTruncate"),I=t.resolveComponent("KInputSwitch"),ne=t.resolveComponent("KDropdownItem"),te=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Cy,[t.createVNode(t.unref(U.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":A.value,"dropdown-menu-width":"270","empty-state-options":ct.value,"enable-entity-actions":"","error-message":m.value,fetcher:t.unref(G),"fetcher-cache-key":S.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:h.value,"table-headers":t.unref(C),title:e.title,"title-tag":e.titleTag,onClearSearchInput:O,"onClick:row":X[3]||(X[3]=q=>D(q)),onSort:f},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(U.EntityFilter),{modelValue:h.value,"onUpdate:modelValue":X[0]||(X[0]=q=>h.value=q),config:M.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.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(W,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(o)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"]),[[t.vShow,tt.value]])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:t.withCtx(({row:q})=>[t.createElementVNode("div",By,[t.createVNode(In,{class:"plugin-icon",name:q.name,width:24},null,8,["name"]),t.createElementVNode("div",ky,[q.instance_name?(t.openBlock(),t.createElementBlock("span",Iy,t.toDisplayString(q.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Oy,t.toDisplayString(t.unref(i).getDisplayName(q.name)),1)),q.instance_name?(t.openBlock(),t.createElementBlock("span",My,t.toDisplayString(t.unref(i).getDisplayName(q.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:q})=>[b(q).length>0?(t.openBlock(),t.createBlock(Q,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b(q),oe=>(t.openBlock(),t.createBlock(t.unref(U.PermissionsWrapper),{key:oe.badgeText,"auth-function":()=>B(oe.type,q),"force-show":""},{default:t.withCtx(({isAllowed:re})=>[t.createVNode(L,{class:t.normalizeClass(re||"disabled"),onClick:t.withModifiers(Be=>re&&oe.type&&Y(oe.type,q),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(oe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",vy,"-"))]),enabled:t.withCtx(({row:q})=>[t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(q)&&await e.canToggle(q)),"force-show":""},{default:t.withCtx(({isAllowed:oe})=>{var re,Be;return[t.createElementVNode("div",{onClick:X[1]||(X[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(I,{disabled:!oe,"disabled-tooltip-text":!oe&&((Be=(re=e.config).getToggleDisabledTooltip)==null?void 0:Be.call(re,q))||void 0,"model-value":q.enabled,onClick:t.withModifiers(ye=>oe&&z(q),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:q})=>[t.createVNode(L,{appearance:q?"warning":"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(q?t.unref(o)("plugins.list.table_headers.ordering_badge.dynamic"):t.unref(o)("plugins.list.table_headers.ordering_badge.static")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:q})=>[(q==null?void 0:q.length)>0?(t.openBlock(),t.createBlock(Q,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q,oe=>(t.openBlock(),t.createBlock(L,{key:oe,onClick:X[2]||(X[2]=t.withModifiers(()=>{},["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(oe),1)]),_:2},1024))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",Ry,"-"))]),actions:t.withCtx(({row:q})=>[t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:oe})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-id",onClick:re=>F(q,oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:oe})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-json",onClick:re=>v(q,oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(q)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-view","has-divider":"",item:y(q)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canEdit(q)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-edit",item:V(q)},null,8,["item"])]),_:2},1032,["auth-function"]),!d.value&&!p.value&&t.unref(u)?(t.openBlock(),t.createBlock(t.unref(U.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(q)},{default:t.withCtx(()=>[K(q)?(t.openBlock(),t.createBlock(ne,{key:0,"data-testid":"action-entity-config-dyn-order",item:K(q)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canDelete(q)},{default:t.withCtx(()=>[t.createVNode(ne,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:oe=>Ee(q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:1},8,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag"]),t.createVNode(t.unref(U.EntityToggleModal),{action:H.value.action,"entity-id":H.value.id,"entity-name":H.value.name,"entity-type":t.unref(o)("glossary.plugin"),"on-confirm":ie,visible:T.value,onCancel:$,onProceed:$},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(U.EntityDeleteModal),{"action-pending":_.value,description:t.unref(o)("delete.description"),"entity-name":w.value&&(w.value.instance_name||w.value.name||w.value.id),"entity-type":t.unref(U.EntityTypes).Plugin,error:ae.value,title:t.unref(o)("delete.title"),visible:J.value,onCancel:lt,onProceed:Oe},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-4d4ebbf3"]]),Ty="16px",xy={class:"plugin-select-card-wrapper"},Vy=["data-testid"],Ny={class:"plugin-card-header"},Dy={class:"plugin-card-title"},Ly={key:0,class:"plugin-card-actions"},Gy=["data-testid","title"],Uy={key:0,class:"plugin-card-text"},Py={key:0},Yy=["title"],si=Fe(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,r=Lt.useRouter(),{i18n:{t:o}}=he.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(C.value&&!g.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{r.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?p():A()},A=()=>{i("plugin-clicked",a.plugin)},g=t.computed(()=>a.plugin.id==="custom-plugin-create"),C=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===R.CUSTOM_PLUGINS),k=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},h=S=>{const G=a.config;a.config.app==="konnect"&&typeof G.getCustomEditRoute=="function"&&G.getCustomEditRoute&&r.push(G.getCustomEditRoute(S))},M=()=>{if(!l.value&&a.config.app==="konnect"){const S=a.config;g.value&&S.createCustomRoute?r.push(S.createCustomRoute):C.value&&p()}};return(S,G)=>{const E=t.resolveComponent("KButton"),O=t.resolveComponent("KDropdownItem"),f=t.resolveComponent("KDropdownMenu"),m=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",xy,[t.createVNode(m,{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:G[1]||(G[1]=b=>l.value||C.value?void 0:u())},[t.createElementVNode("div",Ny,[t.createElementVNode("div",Dy,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!C.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Ly,[t.createVNode(f,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(E,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.MoreIcon),{size:t.unref(Ty)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(O,{key:0,"data-testid":"edit-plugin-schema",onClick:G[0]||(G[0]=t.withModifiers(b=>h(e.plugin.name),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(O,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":C.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(o)("plugins.select.unavailable_tooltip"),onClick:M},[t.createVNode(In,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||C.value&&!g.value?(t.openBlock(),t.createElementBlock("div",Uy,[C.value&&!g.value?(t.openBlock(),t.createElementBlock("p",Py,t.toDisplayString(t.unref(o)("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,Yy)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Gy),t.createElementVNode("div",{class:"plugin-card-footer",onClick:M},t.toDisplayString(g.value?t.unref(o)("actions.create_custom"):e.plugin.exists?t.unref(o)("actions.enabled"):t.unref(o)("actions.enable")),1)],10,Vy)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-f975176b"]]),jy=Fe(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 C;const i=e,a=n,{i18nT:r,i18n:{t:o}}=he.useI18n(),{getMessageFromError:s}=U.useErrors(),{axiosInstance:l}=U.useAxios((C=i.config)==null?void 0:C.axiosRequestConfig),d=t.computed(()=>{var k;return A.value?o("delete.plugin_schema_in_use_title"):o("delete.title",{name:((k=i.plugin)==null?void 0:k.name)||o("delete.custom_plugin")})}),p=t.ref(!1),u=t.ref(""),A=t.ref(!1),g=async()=>{var k,h,M,S,G;if(p.value=!0,u.value="",!(!((k=i.plugin)!=null&&k.name)||((h=i.config)==null?void 0:h.app)!=="konnect"))try{const E=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(M=i.plugin)==null?void 0:M.name}`;await l.delete(E),a("proceed")}catch(E){const{response:O}=E;(O==null?void 0:O.status)===400&&((G=(S=O.data)==null?void 0:S.message)!=null&&G.includes("plugin schema is currently in use"))?A.value=!0:u.value=s(E)}finally{p.value=!1}};return(k,h)=>{const M=t.resolveComponent("KButton"),S=t.resolveComponent("KModal");return!A.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(U.EntityDeleteModal),{key:0,"action-pending":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(o)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(U.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:d.value,visible:"",onCancel:h[0]||(h[0]=G=>k.$emit("closed")),onProceed:g},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(S,{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:h[2]||(h[2]=G=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(r),{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(M,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:h[1]||(h[1]=G=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-4148beb9"]]),Hy={class:"custom-plugins-grid"},Fy={class:"empty-state-title"},zy={class:"empty-state-description"},Ky=Fe(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:r}}=he.useI18n(),{getTallestPluginCardHeight:o,getToggleVisibility:s}=he.usePluginHelpers(),l=t.ref(!0),d=f=>{a("plugin-clicked",f)},p=t.computed(()=>{if(i.config.app==="kongManager")return[];const f=JSON.parse(JSON.stringify(i.pluginList))[R.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:r("plugins.select.tabs.custom.create.name"),available:!0,group:R.CUSTOM_PLUGINS,description:r("plugins.select.tabs.custom.create.description")}].concat(f):f}),u=t.ref(!1),A=t.ref(null),g=f=>{u.value=!0,A.value={id:f.id,name:f.name}},C=f=>{var m;f&&(a("revalidate"),a("delete:success",((m=A.value)==null?void 0:m.name)||"")),u.value=!1,A.value=null},k=t.ref(310),h=t.ref(null),M=t.ref(null),S=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${k.value}px`}:{}),G=t.ref(!1),E=()=>{k.value=o(M.value),O()},O=()=>{var f,m;(f=M.value)!=null&&f.length&&(G.value=s(h.value,(m=M.value)==null?void 0:m.length))};return t.onMounted(async()=>{await t.nextTick(),k.value=o(M.value),O(),window==null||window.addEventListener("resize",E)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",E)}),(f,m)=>{const b=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Hy,[p.value.length?(t.openBlock(),t.createBlock(B,{key:1,modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=Y=>l.value=Y),class:"custom-plugins-collapse","data-testid":`${t.unref(R).CUSTOM_PLUGINS}-collapse`,title:t.unref(R).CUSTOM_PLUGINS,"trigger-label":l.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:h,class:"plugin-card-container",style:t.normalizeStyle(S.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(Y,T)=>(t.openBlock(),t.createBlock(si,{key:`plugin-card-${T}`,ref_for:!0,ref_key:"pluginCardRef",ref:M,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:Y,onCustomPluginDelete:N=>g(Y),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[G.value?void 0:{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(b,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Fy,t.toDisplayString(t.unref(r)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",zy,t.toDisplayString(t.unref(r)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&A.value?(t.openBlock(),t.createBlock(jy,{key:2,config:e.config,plugin:A.value,onClosed:C,onProceed:m[1]||(m[1]=Y=>C(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-c02d3850"]]),xo=Fe(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,r=n,{i18n:{t:o}}=he.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=he.usePluginHelpers(),d=t.ref(310),p=t.ref(null),u=t.ref(null),A=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),g=t.ref(!1),C=()=>{d.value=s(u.value),k()},k=()=>{var h,M;(h=u.value)!=null&&h.length&&(g.value=l(p.value,(M=u.value)==null?void 0:M.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=s(u.value),k(),window==null||window.addEventListener("resize",C)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",C)}),(h,M)=>{const S=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(S,{modelValue:i.value,"onUpdate:modelValue":M[0]||(M[0]=G=>i.value=G),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.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:p,class:"plugin-card-container",style:t.normalizeStyle(A.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,G=>(t.openBlock(),t.createBlock(si,{key:`plugin-card-${G.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:G,onPluginClicked:E=>r("plugin-clicked",G)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[g.value?void 0:{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-e463553b"]]),Xy={class:"plugin-select-grid"},qy={class:"empty-state-title"},Qy={class:"empty-state-description"},li=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:r}}=he.useI18n(),o=t.ref(!1),s=t.ref(Mi),l=p=>{a("plugin-clicked",p)},d=t.computed(()=>{const p=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete p[R.CUSTOM_PLUGINS],p});return(p,u)=>{const A=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",Xy,[Object.keys(d.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(A,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",qy,t.toDisplayString(t.unref(r)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Qy,t.toDisplayString(t.unref(r)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(xo,{key:1,modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=g=>o.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(r)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:u[1]||(u[1]=g=>l(g))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Oi),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(xo,{modelValue:s.value[g],"onUpdate:modelValue":C=>s.value[g]=C,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:d.value[g]||[],onPluginClicked:u[2]||(u[2]=C=>l(C))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Jy={class:"kong-ui-entities-plugin-select-form"},Zy={class:"plugins-filter-input-container"},Wy={key:0},_y={key:3,"aria-live":"polite",class:"plugins-results-container"},$y={"data-testid":"kong-tab"},eb={class:"tab-description"},tb={"data-testid":"custom-tab"},nb={class:"tab-description"},ib=Fe(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},disableCustomPlugins:{type:Boolean,default:!1},hideCustomPlugins:{type:Boolean,default:!1},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 v,D;const i=e,a=n,r=Lt.useRoute(),o=Lt.useRouter(),{i18n:{t:s}}=he.useI18n(),{pluginMetaData:l}=he.usePluginMetaData(),{getMessageFromError:d}=U.useErrors(),{sortAlpha:p,objectsAreEqual:u}=U.useHelpers(),A=t.ref(""),g=t.ref(!0),C=t.ref(!1),k=t.ref(""),h=t.ref([]),M=t.ref({}),S=t.ref([]),{axiosInstance:G}=U.useAxios((v=i.config)==null?void 0:v.axiosRequestConfig),E=t.computed(()=>M.value?Object.entries(M.value).filter(([y])=>y!==R.CUSTOM_PLUGINS).reduce((y,[,V])=>{for(const K of V)y[K.id]=K;return y},{}):{}),O=t.computed(()=>{var K;if(!M.value)return{};const y=A.value.toLowerCase(),V=JSON.parse(JSON.stringify(M.value));for(const w in M.value){const J=((K=M.value[w])==null?void 0:K.filter(_=>_.name.toLowerCase().includes(y)||_.id.toLowerCase().includes(y)||_.group.toLowerCase().includes(y)))||[];J.length?V[w]=J:delete V[w]}return V}),f=t.computed(()=>i.highlightedPluginIds.reduce((y,V)=>{const K=E.value[V];return K&&y.push(K),y},[])),m=t.computed(()=>Object.keys(O.value).length>0),b=t.computed(()=>Object.keys(M.value).length>0&&!m.value),B=i.config.app==="konnect"?[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:i.disableCustomPlugins}]:[],Y=t.ref(B.length&&((r==null?void 0:r.hash)||((D=B[0])==null?void 0:D.hash))||""),T=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...h.value])].filter(y=>!i.ignoredPlugins.includes(y)).filter(y=>i.config.entityType&&(i.config.entityType==="services"&&l[y]&&!l[y].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[y]&&!l[y].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[y]&&!l[y].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[y]&&!l[y].scope.includes(c.CONSUMER))?!1:y).reduce((y,V)=>{var ae;const K=l[V]&&l[V].name||V,w={...l[V],id:V,name:K,available:h.value.includes(V),disabledMessage:"",group:((ae=l[V])==null?void 0:ae.group)||R.CUSTOM_PLUGINS};i.disabledPlugins&&(w.disabledMessage=i.disabledPlugins[V]);const J=w.group||s("plugins.select.misc_plugins");let _=y[J];return _||(_=[]),_.push(w),_.sort(p("name")),y[J]=_,y},{}),N=t.computed(()=>{var V;let y=`${i.config.apiBaseUrl}${Ce.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(y=((V=i.config.gatewayInfo)==null?void 0:V.edition)==="community"?`${i.config.apiBaseUrl}${Ce.select[i.config.app].availablePluginsForOss}`:y.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),y}),H=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let y=`${i.config.apiBaseUrl}${Ce.list[i.config.app].forEntity}`;return i.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),y.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),z=y=>{o.replace({hash:y,query:r.query})};t.watch(()=>i.disabledPlugins,(y,V)=>{!u(y,V)&&!g.value&&(M.value=T())}),t.watch(()=>i.ignoredPlugins,(y,V)=>{!u(y,V)&&!g.value&&(M.value=T())}),t.watch(g,y=>{a("loading",y)});const $=t.ref(!1),ie=t.ref(!1),F=t.ref(!1);return t.onBeforeMount(async()=>{$.value=await i.canCreateCustomPlugin(),ie.value=await i.canEditCustomPlugin(),F.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:y}=await G.get(N.value);if(i.config.app==="konnect"){const{names:V}=y;h.value=V||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:V}}=y;h.value=V?Object.keys(V):[]}}catch(y){C.value=!0,k.value=d(y)}if(H.value)try{const{data:{data:y}}=await G.get(H.value);if(y!=null&&y.length){const V=y.reduce((K,w)=>(w.name&&K.push(w.name),K),[]);S.value=S.value.concat(V)}}catch{}C.value||(M.value=T()),g.value=!1}),(y,V)=>{const K=t.resolveComponent("KInput"),w=t.resolveComponent("KSkeletonBox"),J=t.resolveComponent("KSkeleton"),_=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KTooltip"),Z=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Jy,[t.createElementVNode("div",Zy,[t.createVNode(K,{modelValue:A.value,"onUpdate:modelValue":V[0]||(V[0]=Ee=>A.value=Ee),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),g.value?(t.openBlock(),t.createElementBlock("section",Wy,[t.createVNode(w,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(J,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):C.value?(t.openBlock(),t.createBlock(_,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):b.value&&A.value?(t.openBlock(),t.createBlock(_,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(s)("search.no_results",{filter:A.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",_y,[t.unref(B).length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(Z,{key:0,modelValue:Y.value,"onUpdate:modelValue":V[5]||(V[5]=Ee=>Y.value=Ee),"data-testid":"plugins-tabs",tabs:t.unref(B),onChange:z},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",$y,[t.createElementVNode("p",eb,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(li,{config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":O.value,onPluginClicked:V[1]||(V[1]=Ee=>y.$emit("plugin-clicked",Ee))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",tb,[t.createElementVNode("p",nb,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Ky,{"can-create-custom-plugin":$.value,"can-delete-custom-plugin":F.value,"can-edit-custom-plugin":ie.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":O.value,"onDelete:success":V[2]||(V[2]=Ee=>y.$emit("delete-custom:success",Ee)),onPluginClicked:V[3]||(V[3]=Ee=>y.$emit("plugin-clicked",Ee)),onRevalidate:V[4]||(V[4]=()=>M.value=T())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.disableCustomPlugins?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ae,{"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(li,{key:1,config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":O.value,onPluginClicked:V[6]||(V[6]=Ee=>y.$emit("plugin-clicked",Ee))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-84cee263"]]),ab={class:"kong-ui-entity-plugin-config-card"},ob={class:"name-cell-wrapper"},rb={class:"info-name"},sb={key:0},lb={key:0},cb={key:0},db={key:0},ci="config",ub=Fe(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:""},enableTerraform:{type:Boolean,default:!1}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var G;const i=n,a=e,{i18n:{t:r}}=he.useI18n(),o=he.usePluginMetaData(),{setFieldType:s}=he.usePluginHelpers(),{getPropValue:l}=U.useHelpers(),d=t.computed(()=>{var E;return(E=Ce.item[a.config.app])==null?void 0:E[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),p=t.computed(()=>{var f,m;const E={},O=((f=h.value)==null?void 0:f.fields)||[];for(let b=0;b<O.length;b++){const B=h.value.fields[b],Y=(m=Object.keys(B))==null?void 0:m[0];s(E,Y,B[Y])}return{...E,instance_name:{section:U.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:r("plugins.fields.consumer"),section:U.ConfigurationSchemaSection.Basic,order:6},route:{label:r("plugins.fields.route"),section:U.ConfigurationSchemaSection.Basic,order:6},service:{label:r("plugins.fields.service"),section:U.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:r("plugins.fields.consumer_group"),section:U.ConfigurationSchemaSection.Basic,order:6},protocols:{type:U.ConfigurationSchemaType.BadgeTag,section:U.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var O,f,m;if(!((O=h.value)!=null&&O.fields))return[];const E=(f=h.value.fields)==null?void 0:f.find(b=>{var Y;return((Y=Object.keys(b))==null?void 0:Y[0])===ci});return((m=E==null?void 0:E[ci])==null?void 0:m.fields)||[]}),A=t.computed(()=>{var O,f;const E={};if(!u.value)return E;for(let m=0;m<((O=u.value)==null?void 0:O.length);m++){const b=u.value[m],B=(f=Object.keys(b))==null?void 0:f[0],Y=b[B];Y.required&&(E[B]={order:1}),s(E,B,Y)}return E}),{getMessageFromError:g}=U.useErrors(),{axiosInstance:C}=U.useAxios((G=a.config)==null?void 0:G.axiosRequestConfig),k=t.computed(()=>{var O,f;let E=`${a.config.apiBaseUrl}${Ce.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?E=E.replace(/{controlPlaneId}/gi,((O=a.config)==null?void 0:O.controlPlaneId)||""):a.config.app==="kongManager"&&(E=E.replace(/\/{workspace}/gi,(f=a.config)!=null&&f.workspace?`/${a.config.workspace}`:"")),E=E.replace(/{plugin}/gi,a.config.pluginType),E}),h=t.ref({}),M=t.ref(!1),S=t.ref("");return t.onBeforeMount(async()=>{M.value=!0;try{const{data:E}=await C.get(k.value);h.value=E}catch(E){S.value=g(E),i("error:fetch-schema",E)}finally{M.value=!1}}),(E,O)=>{const f=t.resolveComponent("KSkeleton"),m=t.resolveComponent("KEmptyState"),b=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",ab,[M.value?(t.openBlock(),t.createBlock(f,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):S.value?(t.openBlock(),t.createBlock(m,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(U.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"enable-terraform":e.enableTerraform,"entity-type":t.unref(U.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":ci,"plugin-config-schema":A.value,"onFetch:error":O[0]||(O[0]=B=>E.$emit("fetch:error",B)),"onFetch:success":O[1]||(O[1]=B=>E.$emit("fetch:success",B)),onLoading:O[2]||(O[2]=B=>E.$emit("loading",B))},{name:t.withCtx(B=>[t.createElementVNode("div",ob,[t.createVNode(In,{class:"plugin-icon",name:t.unref(l)("rowValue",B),width:24},null,8,["name"]),t.createElementVNode("span",rb,t.toDisplayString(t.unref(o).getDisplayName(t.unref(l)("rowValue",B))),1)])]),consumer:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",sb,"–"))]),route:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lb,"–"))]),service:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",cb,"–"))]),consumer_group:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",db,"–"))]),_:1},8,["config","config-card-doc","config-schema","enable-terraform","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-ca338065"]]),{usePluginMetaData:pb}=he;ee.EntityTypeIdField=mt,ee.PLUGIN_GROUPS_COLLAPSE_STATUS=Mi,ee.PluginConfigCard=ub,ee.PluginForm=Ey,ee.PluginGroup=R,ee.PluginGroupArray=Oi,ee.PluginIcon=In,ee.PluginList=Sy,ee.PluginScope=c,ee.PluginSelect=ib,ee.PluginSelectCard=si,ee.PluginSelectGrid=li,ee.VueFormGenerator=xe,ee.getPluginIconURL=Ni,ee.pluginEndpoints=Ce,ee.usePluginMetaData=pb,Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"})});
|
|
68
|
+
will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`,config:{limit:500,window_size:3600}}]},a=new Set(["selectionGroup",...["identifier","limit","window_size","error_code","error_message"].map(T=>`config-${T}`)]),r=T=>T===void 0?!1:a.has(T),{t:o}=Mt.createI18n("en-us",Cn),s=e,l=t.computed(()=>{var T,N;const H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(z=>z.type==="selectionGroup"&&z.model==="selectionGroup");if(H)return{fields:[H]}}),d=t.computed(()=>{var T,N;const H=((N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.filter(v=>!r(v.model)))??[],z=[],$=[],ie=[];let F=!1;for(const v of H){const D=v.model;if(D!==void 0){if(D.startsWith("config-redis-")){(v.model==="config-redis-cluster_addresses"||v.model==="config-redis-sentinel_addresses")&&(v.inputAttributes.help=o("rla.redis.address_example")),$.push(v);continue}F?ie.push(v):z.push(v),v.model==="config-strategy"&&(F=!0)}}return{endsWithStrategy:{fields:z},redis:{fields:$},afterStrategy:{fields:ie}}}),p=t.computed(()=>{const T=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,T)?i[T]:[]}),u=t.computed(()=>{var T,N;return(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(H=>H.model==="config-identifier")}),A=t.computed(()=>{var T,N,H;return(((H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(z=>z.model==="config-identifier"))==null?void 0:H.values)??[]).map(z=>({label:o(`rla.identifiers.options.${z}`),value:z}))}),g=t.ref(),C=t.ref(!0),k=t.computed(()=>{var T,N,H;return s.formModel["config-window_type"]??((H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(z=>z.model==="config-window_type"))==null?void 0:H.default)}),h=t.computed(()=>{var T,N,H,z,$,ie;const F=(H=(N=(T=s.formSchema)==null?void 0:T.fields)==null?void 0:N.find(v=>v.model==="config-window_type"))==null?void 0:H.default;return(((ie=($=(z=s.formSchema)==null?void 0:z.fields)==null?void 0:$.find(v=>v.model==="config-window_type"))==null?void 0:ie.values)??[]).sort((v,D)=>v===F?-1:D===F?1:0)}),M=t.computed(()=>{var T;const N=(T=s.formModel["config-limit"])==null?void 0:T.map((H,z)=>{var $,ie;return{limit:H,windowSize:(ie=($=s.formModel)==null?void 0:$["config-window_size"])==null?void 0:ie[z]}});return!Array.isArray(N)||N.length===0?[{limit:void 0,windowSize:void 0}]:N}),S=t.computed(()=>{var T,N,H,z;return((T=s.formModel)==null?void 0:T["config-identifier"])??((z=(H=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:H.find($=>$.model==="config-identifier"))==null?void 0:z.default)}),G=t.computed(()=>{var T,N,H,z;return((T=s.formModel)==null?void 0:T["config-error_code"])??((z=(H=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:H.find($=>$.model==="config-error_code"))==null?void 0:z.default)}),E=t.computed(()=>{var T,N,H,z;return((T=s.formModel)==null?void 0:T["config-error_message"])??((z=(H=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:H.find($=>$.model==="config-error_message"))==null?void 0:z.default)}),O=(T,N)=>{if(N===g.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{g.value=void 0});return}s.onModelUpdated([T.config.limit],"config-limit"),s.onModelUpdated([T.config.window_size],"config-window_size"),t.nextTick(()=>{g.value=N})},f=T=>{g.value!==void 0&&(g.value=void 0),T!==null&&s.onModelUpdated(T.toString(),"config-window_type")},m=(T,N)=>{var H;g.value!==void 0&&(g.value=void 0);const z=et(((H=s.formModel)==null?void 0:H["config-limit"])??[]);z[T]=N,s.onModelUpdated(z,"config-limit")},b=(T,N)=>{var H;g.value!==void 0&&(g.value=void 0);const z=et(((H=s.formModel)==null?void 0:H["config-window_size"])??[]);z[T]=N,s.onModelUpdated(z,"config-window_size")},B=T=>{var N,H;g.value!==void 0&&(g.value=void 0);const z=et(((N=s.formModel)==null?void 0:N["config-limit"])??[]),$=et(((H=s.formModel)==null?void 0:H["config-window_size"])??[]);z.length===0&&z.push(void 0),$.length===0&&$.push(void 0),z.splice(T+1,0,void 0),$.splice(T+1,0,void 0),s.onModelUpdated(z,"config-limit"),s.onModelUpdated($,"config-window_size")},Y=T=>{var N,H;if(M.value.length>1){g.value!==void 0&&(g.value=void 0);const z=et(((N=s.formModel)==null?void 0:N["config-limit"])??[]),$=et(((H=s.formModel)==null?void 0:H["config-window_size"])??[]);z.length===0&&z.push(void 0),$.length===0&&$.push(void 0),z.splice(T,1),$.splice(T,1),s.onModelUpdated(z,"config-limit"),s.onModelUpdated($,"config-window_size")}};return(T,N)=>{const H=t.resolveComponent("VueFormGenerator"),z=t.resolveComponent("KLabel"),$=t.resolveComponent("KRadio"),ie=t.resolveComponent("KInput"),F=t.resolveComponent("KButton"),v=t.resolveComponent("KBadge"),D=t.resolveComponent("KTooltip"),y=t.resolveComponent("KCard"),V=t.resolveComponent("KSelect"),K=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",uh,[t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:l.value,onModelUpdated:N[0]||(N[0]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"]),t.createVNode(y,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(z,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",ph,t.toDisplayString(t.unref(o)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",Ah,[t.createElementVNode("div",gh,[t.createVNode(z,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(o)("rla.window_type.help")},null,8,mh)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",fh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(h.value,w=>(t.openBlock(),t.createBlock($,{key:`window-type-${w}`,"model-value":k.value,name:w,"selected-value":w,"onUpdate:modelValue":f},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)(`rla.window_type.options.${w}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",hh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(M.value,(w,J)=>(t.openBlock(),t.createElementBlock("div",{key:J.toString()},[t.createVNode(z,{for:`rla-form-request-limits-item-${J}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.request_limits.label_index",{index:J+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",yh,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${J}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(ie,{"model-value":w.limit&&w.limit.toString(),placeholder:t.unref(o)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":_=>m(J,Number.parseInt(_))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.interval_determiner")),1),t.createVNode(ie,{"model-value":w.windowSize&&w.windowSize.toString(),placeholder:t.unref(o)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":_=>b(J,Number.parseInt(_))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.seconds")),1)],8,bh),t.createElementVNode("div",Eh,[t.createVNode(F,{appearance:"tertiary",disabled:M.value.length<=1,onClick:()=>Y(J)},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(F,{appearance:"tertiary",onClick:()=>B(J)},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",wh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Ch,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(w,J)=>(t.openBlock(),t.createBlock(D,{key:`use-case-${J}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(w.description),1),Bh,t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.label"))+": "+t.toDisplayString(w.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("rla.request_limits.time_interval"))+": "+t.toDisplayString(w.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(v,{appearance:g.value===`${k.value}-${J}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>O(w,`${k.value}-${J}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(w.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(V,{modelValue:S.value,"onUpdate:modelValue":N[1]||(N[1]=w=>S.value=w),class:"rla-form-identifiers",items:A.value,label:t.unref(o)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:N[2]||(N[2]=w=>s.onModelUpdated(w.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:u.value&&u.value.help},null,8,kh)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(z,{for:"rla-form-error-legend",info:t.unref(o)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Ih,[t.createVNode(ie,{class:"input-error-code","model-value":G.value&&G.value.toString(),placeholder:t.unref(o)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":N[3]||(N[3]=w=>T.onModelUpdated(Number.parseInt(w),"config-error_code"))},null,8,["model-value","placeholder"]),Oh,t.createVNode(ie,{"model-value":E.value,placeholder:t.unref(o)("rla.error_message.message_placeholder"),"onUpdate:modelValue":N[4]||(N[4]=w=>T.onModelUpdated(w,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(K,{modelValue:C.value,"onUpdate:modelValue":N[8]||(N[8]=w=>C.value=w),"trigger-label":t.unref(o)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:N[5]||(N[5]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"]),T.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(y,{key:0,class:"rla-form-redis-card",title:t.unref(o)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:d.value.redis,onModelUpdated:N[6]||(N[6]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(H,{model:T.formModel,options:T.formOptions,schema:d.value.afterStrategy,onModelUpdated:N[7]||(N[7]=(w,J)=>T.onModelUpdated(w,J))},null,8,["model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),vh=ge(Mh,[["__scopeId","data-v-3840f6a9"]]),Rh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:dh,ExitTransformer:qf,OIDCForm:Ff,PostFunction:Kf,RLAForm:vh},Symbol.toStringTag,{value:"Module"})),ai=["array","metric","advanced","selectionGroup","object-advanced"],Bo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],st={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Sh={"config-prompts-prepend":{...st,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":{...st,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"}]}}}},Th={"config-templates":{...st,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"}]}}}},xh={"config-llm_providers":{...st,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"}]}}}},Vh={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:Ft.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"}},en={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"},Nh={"config-bootstrap_servers":{...st,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},tn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Dh={"config-metrics":{...tn,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"}]}}}},Lh={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},ko={"config-bootstrap_servers":{...st,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",help:"Set of bootstrap brokers.",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},Gh={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},Uh={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Io=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Ft.fields.arrayItems({newElementButtonLabel:"Add"})}),Uh),Bn={"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"}},Ph={"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":{}},Yh=["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]:Ft.fields.arrayItems({newElementButtonLabel:"Add"})}),Ph),jh={"config-parameter_schema":{...tn,items:{type:"object",default:()=>({required:!1,explode:!1}),schema:{fields:[{model:"in",label:"in",type:"select",values:["query","header","path"]},{model:"name",label:"name",type:"input",inputType:"string",id:"schema_name"},{model:"required",label:"required",type:"switch",id:"schema_required"},{model:"style",label:"style",type:"select",values:["label","form","matrix","simple","spaceDelimited","pipeDelimited","deepObject"]},{model:"explode",label:"explode",type:"switch",id:"schema_explode"},{model:"schema",label:"schema",type:"input",inputType:"string",id:"schema_schema"}]}}}},Hh={"config-rules":{...st,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"}]}}}},Fh={"config-session_redis_cluster_nodes":{...st,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"}]}}}},zh={"config-metrics":{...tn,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"]}]}}}},Kh={"config-metrics":{...tn,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"]}]}}}},Xh={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},qh={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},Qh={"config-static_tags":{...tn,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"}]}}}},Jh=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},Oo=(e,n)=>(e.order??0)-(n.order??0),Mo=(e,n)=>Jh(e,n)||Oo(e,n)||e.model.localeCompare(n.model),he={useI18n:ln,usePluginMetaData:gl,usePluginHelpers:Ii,useSchemas:e=>{const{capitalize:n}=U.useStringHelpers(),{convertToDotNotation:i}=Ii(),{i18n:{t:a}}=ln(),r={"application-registration":{overwriteDefault:!0,formSchema:{...Vh}},datadog:{...Dh},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},jwt:{...ll},"kafka-upstream":{...ko},"kafka-log":{...ko},statsd:{...zh},"statsd-advanced":{...Kh},"route-by-header":{...Hh},"ai-prompt-decorator":{...Sh},"ai-prompt-template":{...Th},"ai-rate-limiting-advanced":{...xh},"vault-auth":{...qh},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...Gh},"rate-limiting":{...Bn},"rate-limiting-advanced":(e==null?void 0:e.app)==="kongManager"?{"config-consumer_groups":Bn["config-consumer_groups"]}:{...Bn},"graphql-rate-limiting-advanced":{...Lh},"response-ratelimiting":{...Bn},"pre-function":{...Io},"post-function":{...Io},"request-transformer-advanced":{...Yh},"request-validator":{...jh},zipkin:{...Qh},"upstream-oauth":{...Xh},saml:{...Fh},confluent:{...Nh}},o=()=>["created_at","updated_at","id"],s=(f,m,b)=>{let B={};(m||f)&&(B=m||(f.fields?f.fields:f));const Y=o().concat(f.blacklist?f.blacklist:[]),T=Object.keys(B).filter(F=>!Y.includes(F)),N=T.indexOf("comparator");N>-1&&T.splice(N,1);let H={fields:[]};const z={};T.forEach(F=>{d(B[F],F,B,z,H,b)});const $=z.name,ie=Qe[$];if(Bo($)||ie!=null&&ie.useLegacyForm||e!=null&&e.credential)H.fields.sort((F,v)=>(F.order=F.order||0,v.order=v.order||0,F.order-v.order));else{const F=[],v=[],D=[],y={};if(ie!=null&&ie.fieldRules){const w=[...ie.fieldRules.atLeastOneOf??[],...ie.fieldRules.onlyOneOf??[],...ie.fieldRules.mutuallyRequired??[]];if(ie.fieldRules.onlyOneOfMutuallyRequired)for(const J of ie.fieldRules.onlyOneOfMutuallyRequired)w.push(...J);for(const J of w)for(const _ of J)y[_.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const w of H.fields){if(w.pinned){F.push(w);continue}if(w.required||y[w.model]!==void 0){y[w.model]===!1&&(y[w.model]=!0),v.push(w);continue}D.push(w)}const V=Object.entries(y).filter(([,w])=>!w).map(([w])=>w.replace(/-/g,".").replace(/_/g,"-"));V.length>0&&console.warn(`Unknown checked fields for plugin ${$}: ${V.join(", ")}`);const K=[];F.length>0&&K.push({fields:F.sort(Oo)}),(v.length>0||D.length>0)&&K.push({fields:v.sort(Mo),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:D.sort(Mo),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"}}),H={groups:K}}return{schema:H,model:z,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},l=f=>Array.isArray(f.default)||f.default!=null&&typeof f.default!="object"&&f.default!=="function",d=(f,m,b,B,Y,T)=>{const N=l(f);return B[m]=N?f.default:null,f.id=m,f.model=m,f.fields&&f.type==="record"?u(f,m,b,B,Y,T):(b[m]=f,O(f,B),T&&T[m]&&p(b[m],T[m]),Y.fields.push(f)),b},p=(f,m)=>(m&&(Object.assign(f,m),m.label&&(f.label=m.label)),f),u=(f,m,b,B,Y,T)=>{f.fields.forEach(N=>{Object.keys(N).forEach(H=>{const z=N[H];b=d(z,m+"-"+H,b,B,Y,T)})})},A=(f,m)=>{f.type="input",f.inputType="hidden",f.styleClasses="kong-form-hidden-field-wrapper";const b=e==null?void 0:e.entityId;m[f.model]=b?{id:b}:null},g=f=>{f.type="input",f.inputType="number",f.between&&f.between.length===2&&(f.min=f.between[0],f.max=f.between[1])},C=f=>{Object.prototype.hasOwnProperty.call(f,"one_of")?(f.type="select",f.values=f.one_of,f.selectOptions={hideNoneSelectedText:!0}):(f.type="input",f.inputType="text")},k=f=>{f.type="input",f.inputType="text",f.valueType="array",f.valueArrayType="string"},h=f=>{f.type="checkbox",f.default=!0,f.required=!1},M=f=>{if(f.type="object-advanced",f.values.type==="array"){const{type:m}=f.values.elements||{};f.schema={fields:[{schema:{fields:[{...en,model:f.model,valueArrayType:m==="integer"?"number":m||"string",inputAttributes:{...en.inputAttributes,type:m==="integer"?"number":"text",inputMode:m==="integer"?"numeric":"text"}}]}}]}}else f.values.fields&&(f.schema={fields:[{type:"object",model:"object",schema:{fields:f.values.fields.map(m=>{const b=Object.keys(m)[0];return{model:b,type:"input",label:n(b),placeholder:b,inputType:m[b].type}})}}]})},S=f=>f.fields.reduce((m,b)=>(b.fields&&b.fields.forEach(B=>{m[B.model]=B}),b.model&&(m[b.model]=b),m),{}),G=(f,m)=>{if(!ai.includes(f.model))return;const b=S(f);ai.forEach(B=>{Object.keys(b).forEach(Y=>{const T=l(b[Y]);m[Y]=T?b[Y].default:null}),delete m[B]})},E=(f,m)=>f.inputType==="hidden"?"":i(n(f.label||m.replace(/_/g," "))),O=(f,m)=>{switch(G(f,m),f.type){case"foreign":A(f,m);break;case"number":g(f),f.attributes={step:"any"};break;case"integer":g(f);break;case"string":C(f);break;case"set":k(f);break;case"boolean":h(f);break;case"map":M(f);break}f.inputType==="foreign"&&A(f,m),f.label=E(f,f.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:r,typedefs:Ft}}},Ve="/v2/control-planes/{controlPlaneId}/core-entities",ve="/{workspace}",Ce={list:{konnect:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`},kongManager:{all:`${ve}/plugins`,forEntity:`${ve}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Ve}/v1/available-plugins`},kongManager:{availablePlugins:`${ve}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Ve}/plugins`,forEntity:`${Ve}/{entityType}/{entityId}/plugins`},edit:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Ve}/{resourceEndpoint}`,edit:`${Ve}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Ve}/v1/schemas/json/plugin/validate`,entityGetOne:`${Ve}/{entity}/{id}`,entityGetAll:`${Ve}/{entity}?size=1000`},kongManager:{create:{all:`${ve}/plugins`,forEntity:`${ve}/{entityType}/{entityId}/plugins`},edit:{all:`${ve}/plugins/{id}`,forEntity:`${ve}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${ve}/schemas/plugins/{plugin}`,credential:{create:`${ve}/{resourceEndpoint}`,edit:`${ve}/{resourceEndpoint}/{id}`},credentialSchema:`${ve}/schemas/{plugin}`,validate:`${ve}/schemas/plugins/validate`,entityGetOne:`${ve}/{entity}/{id}`,entityGetAll:`${ve}/{entity}`}},item:{konnect:{all:`${Ve}/plugins/{id}`,forEntity:`${Ve}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${ve}/plugins/{id}`,forEntity:`${ve}/{entityType}/{entityId}/plugins/{id}`}}},Zh={key:0},Wh=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=he.usePluginHelpers(),{i18n:{t:a}}=he.useI18n(),r=l=>l.map(d=>d.replace(/^[cC]onfig\./,"").split(".").map(p=>i(p)).join(".")).join(", "),o=(l,d)=>a(l,{parameters:r(d)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const d of n.rules.atLeastOneOf)l.push(o("plugins.form.field_rules.at_least_one_of",d));if(n.rules.onlyOneOf)for(const d of n.rules.onlyOneOf)l.push(o("plugins.form.field_rules.only_one_of",d));if(n.rules.mutuallyRequired)for(const d of n.rules.mutuallyRequired)l.push(o("plugins.form.field_rules.mutually_required",d));return l});return(l,d)=>{const p=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(p,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(u,A)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${A}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Zh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,A)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${A}`},[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("plugins.form.field_rules.only_one_of_mutually_required")),1),t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u,(g,C)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${A}-combination-${C}`},t.toDisplayString(r(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),Fe=(e,n)=>{const i=e.__vccOpts||e;for(const[a,r]of n)i[a]=r;return i},_h=Fe(Wh,[["__scopeId","data-v-d8eb79cf"]]),oi="/v2/control-planes/{controlPlaneId}/core-entities",vo="/v2/control-planes/{controlPlaneId}/config-stores",ri="/{workspace}",Ro={list:{konnect:{getAll:`${oi}/vaults`,deleteConfigStore:`${vo}/{id}?force=true`},kongManager:{getAll:`${ri}/vaults`}},form:{konnect:{create:`${oi}/vaults`,createConfigStore:vo,edit:`${oi}/vaults/{id}`},kongManager:{create:`${ri}/vaults`,edit:`${ri}/vaults/{id}`}}},kn="/v2/control-planes/{controlPlaneId}",So={getVault:{konnect:`${kn}/core-entities/vaults/{id}`},list:{konnect:`${kn}/config-stores/{id}/secrets`},form:{konnect:{create:`${kn}/config-stores/{id}/secrets`,edit:`${kn}/config-stores/{id}/secrets/{secretId}`}}},$h=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,[,r,...o]=i.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:r||void 0,optionalSecretKey:o==null?void 0:o.join("/")}},ey=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}}`},ty={key:1,class:"inputs-wrapper"},ny={"data-testid":"no-search-results"},iy={class:"k-select-selected-item-label"},ay={class:"vault-secret-picker-vault-dropdown-item"},oy={class:"select-item-label"},ry={class:"select-item-description"},sy={class:"select-item-description"},ly={"data-testid":"no-search-results"},cy=Fe(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 ie;const{i18n:{t:i}}=he.useI18n(),a=e,r=n,{axiosInstance:o}=U.useAxios({validateStatus:F=>F===404||F>=200&&F<300,...(ie=a.config)==null?void 0:ie.axiosRequestConfig}),s=t.ref(!1),l=t.ref(""),d=t.ref(""),p=t.ref(""),u=t.ref(),A=t.computed(()=>{var F,v;return a.config.app==="konnect"?So.list[a.config.app].replace(/{id}/gi,((v=(F=u.value)==null?void 0:F.config)==null?void 0:v.config_store_id)??""):"<not_applicable>"}),g=t.computed(()=>{if(h&&O)return i("vault_secret_picker.fetch_error.vaults_and_secrets");if(h)return i("vault_secret_picker.fetch_error.vaults");if(O)return i("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:C,loading:k,error:h,loadItems:M,results:S}=U.useDebouncedFilter(a.config,Ro.list[a.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:G,loading:E,error:O,loadItems:f,results:m}=U.useDebouncedFilter(a.config,A,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),b=t.computed(()=>{var D;let F=!1;const v=((D=S.value)==null?void 0:D.map(y=>(y.prefix===l.value&&(F=!0),{label:y.prefix,value:y.prefix,vault:y})))??[];return!F&&u.value&&v.push({label:u.value.prefix,value:u.value.prefix,vault:u.value}),v}),B=t.computed(()=>{var D;let F=!1;const v=((D=m.value)==null?void 0:D.map(y=>(y.key===d.value&&(F=!0),{label:y.key,value:y.key})))??[];return!F&&d.value&&v.push({label:d.value,value:d.value}),v}),Y=t.computed(()=>{var F;return((F=u==null?void 0:u.value)==null?void 0:F.name)==="konnect"}),T=t.computed(()=>!!u.value&&!!d.value),N=F=>F.label?`${F.label} - (${F.vault.name} - ${F.vault.id})`:F.value,H=F=>{var D,y;let v=`${a.config.apiBaseUrl}${Ro.form[a.config.app].edit}`;return a.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,((D=a.config)==null?void 0:D.controlPlaneId)||""):a.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,(y=a.config)!=null&&y.workspace?`/${a.config.workspace}`:"")),v.replace(/{id}/gi,F)},z=(F,v)=>{var D;return a.config.app!=="konnect"?"<not_applicable>":`${a.config.apiBaseUrl}${So.form[a.config.app].edit}`.replace(/{controlPlaneId}/gi,((D=a.config)==null?void 0:D.controlPlaneId)||"").replace(/{id}/gi,v).replace(/{secretId}/gi,F)},$=()=>{r("proceed",ey({vaultPrefix:l.value,secretId:d.value||void 0,optionalSecretKey:p.value||void 0}))};return t.watch(()=>a.setup,async F=>{if(F!==!1){if(s.value=!0,l.value="",u.value=void 0,d.value="",p.value="",typeof F=="string"&&F.trim().length>0)try{let v,D="",y="",V="";const K=$h(F),{data:w}=await o.get(H(K.vaultPrefix));if(w!=null&&w.name)if(v=w,D=K.vaultPrefix,v.name==="konnect"){if(K.secretId){const{data:J}=await o.get(z(K.secretId,w.config.config_store_id));J.key===K.secretId&&(y=K.secretId,V=K.optionalSecretKey??"")}}else y=K.secretId??"",V=K.optionalSecretKey??"";await t.nextTick(()=>{l.value=D,u.value=v,d.value=y,p.value=V})}catch(v){console.debug(v)}s.value=!1,await M()}},{immediate:!0}),t.watch(l,async(F,v)=>{var D;s.value||F===v||(u.value=(D=b.value.find(y=>y.value===F))==null?void 0:D.vault,d.value="",p.value="")}),t.watch(A,async()=>{Y.value&&await f()},{immediate:!0}),(F,v)=>{const D=t.resolveComponent("KEmptyState"),y=t.resolveComponent("KSelect"),V=t.resolveComponent("KInput"),K=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(K,{"action-button-disabled":!T.value,"action-button-text":t.unref(i)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(i)("vault_secret_picker.title"),visible:a.setup!==!1,onCancel:v[4]||(v[4]=()=>r("cancel")),onProceed:$},{default:t.withCtx(()=>[t.unref(h)||t.unref(O)?(t.openBlock(),t.createBlock(D,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:g.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",ty,[t.createVNode(y,{modelValue:l.value,"onUpdate:modelValue":v[0]||(v[0]=w=>l.value=w),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:s.value,"enable-filtering":"","filter-function":()=>!0,items:b.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(i)("vault_secret_picker.vault.label"),loading:t.unref(k),placeholder:t.unref(i)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(C)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(i)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ny,t.toDisplayString(t.unref(i)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:w})=>[t.createElementVNode("span",iy,t.toDisplayString(N(w)),1)]),"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",ay,[t.createElementVNode("span",oy,t.toDisplayString(w.label),1),t.createElementVNode("span",ry,t.toDisplayString(w.vault.name),1),t.createElementVNode("span",sy,t.toDisplayString(w.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),Y.value?(t.openBlock(),t.createBlock(y,{key:0,modelValue:d.value,"onUpdate:modelValue":v[1]||(v[1]=w=>d.value=w),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:s.value||!u.value,"enable-filtering":"","filter-function":()=>!0,items:B.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(i)("vault_secret_picker.secret_id.label"),loading:t.unref(E),placeholder:t.unref(i)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(G)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(i)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",ly,t.toDisplayString(t.unref(i)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(V,{key:1,modelValue:d.value,"onUpdate:modelValue":v[2]||(v[2]=w=>d.value=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:s.value||!u.value,label:t.unref(i)("vault_secret_picker.secret_id.label"),placeholder:t.unref(i)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(V,{modelValue:p.value,"onUpdate:modelValue":v[3]||(v[3]=w=>p.value=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:s.value||!u.value,help:t.unref(i)("vault_secret_picker.optional_secret_key.help"),label:t.unref(i)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(i)("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"])}}}),[["__scopeId","data-v-d1fb1c21"]]),dy={key:0,class:"vault-secret-picker-provider"},To=Fe(t.defineComponent({__name:"VaultSecretPickerProvider",props:{schema:{},value:{},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:r},i18nT:o}=he.useI18n();return(s,l)=>i.schema.referenceable?(t.openBlock(),t.createElementBlock("div",dy,[t.createVNode(t.unref(o),{keypath:"vault_secret_picker.provider.complete_action",scope:"global"},{cta:t.withCtx(()=>[t.createElementVNode("span",{class:"vault-secret-picker-provider-action",onClick:l[0]||(l[0]=()=>a("open",i.value,i.update))},t.toDisplayString(t.unref(r)("vault_secret_picker.provider.cta")),1)]),_:1})])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-7f7e64e9"]]),uy={class:"kong-ui-entities-plugin-form"},py={key:1,class:"entity-form"},Ay={class:"plugin-config-empty-state"},gy=t.defineComponent({components:{...Rh}}),my=t.defineComponent({...gy,__name:"PluginEntityForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},entityMap:{type:Object,default:()=>({})},record:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},editing:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1}},emits:["loading","model-updated"],setup(e,{emit:n}){var ie,F;const i=n,a=e,{axiosInstance:r}=U.useAxios((ie=a.config)==null?void 0:ie.axiosRequestConfig),{parseSchema:o}=he.useSchemas({entityId:((F=a.entityMap.focusedEntity)==null?void 0:F.id)||void 0,credential:a.credential}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:d,unsetNullForeignKey:p}=he.usePluginHelpers(),{objectsAreEqual:u}=U.useHelpers(),{i18n:{t:A}}=ln(),g=(v,D)=>{let y=`${a.config.apiBaseUrl}${Ce.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),y=y.replace(/{entity}/gi,v),y=y.replace(/{id}/gi,D),y},C=v=>{let D=`${a.config.apiBaseUrl}${Ce.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?D=D.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(D=D.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),D=D.replace(/{entity}/gi,v),D},k=(v,D)=>{const y=g(v,D);return r.get(y)},h=(v,D)=>{const y=C(v);return a.config.app==="konnect"?r.get(y).then(V=>{const{data:{data:K}}=V;if(delete D.size,delete D.offset,K.length&&Object.keys(D).length===1){const w=Object.keys(D)[0],J=K.filter(_=>_[w]?!!_[w].toLowerCase().includes(D[w].toLowerCase()):!1);V.data.data=J}return V}):r.get(y,{params:D})};t.provide(it,{getOne:k,getAll:h});const M=t.ref(""),S=t.ref(null),G=t.ref({}),E=t.reactive({}),O=t.reactive({}),f=t.computed(()=>{var v;return(v=S.value)==null?void 0:v.options}),m=t.ref(!1),b=t.ref(),B=(v,D)=>{m.value=v??"",b.value=D},Y=v=>{var D;(D=b.value)==null||D.call(b,v),m.value=!1},T=()=>{var w,J;const v={...a.schema},D=O,y=E,V=Object.keys(D),K={};if(!d(G.value))for(let _=0;_<((J=(w=G.value)==null?void 0:w.fields)==null?void 0:J.length);_++)v[G.value.fields[_].model]=G.value.fields[_];return ai.forEach(_=>{v[_]&&(v[_].fields.forEach(ae=>{ae.fields&&ae.fields.forEach(Z=>{v[Z.model]=Z}),ae.model&&(v[ae.model]=ae)}),delete v[_])}),V.forEach(_=>{var dt;if(!v[_])return;const ae=v[_];let Z=D[_];const Ee=y[_],lt=Array.isArray(Z)?"array":typeof Z,Oe=ae?ae.valueType:null,tt=ae?ae.valueArrayType:null,ct=ae?ae.transform:null;if(Z==null&&Ee==null&&!ae.submitWhenNull)return;if(ae){if(Oe&<!==Oe)switch(Oe){case"array":lt==="string"&&Z.length&&(Z=Z.split(",").map(x=>{if(x=x.trim(),tt==="string")return String(x);if(tt==="number")return Number(x);if(tt==="boolean"){if(typeof x=="string")return x.toLowerCase()==="true"||x==="1";if(typeof x=="number")return x===1}return x})),(!Z||!Z.length)&&(Z=ae.submitWhenNull?null:[]);break;case"number":Z=Number(Z);break;case"boolean":lt==="string"&&(Z=Z.toLowerCase()==="true"||Z==="1"),lt==="number"&&(Z=Z===1);break;case"string":Z=Z==null?"":String(Z);break}else Oe==="array"&&(!Z||!Z.length?Z=ae.submitWhenNull?null:[]:((dt=ae.inputAttributes)==null?void 0:dt.type)==="number"&&(Z=Z.map(x=>Number(x))));if(ae.type==="array"&&ae.nestedFields){const x=X=>{Object.keys(X).forEach(W=>{X[W]&&typeof X[W]=="object"&&X[W]!==null?x(X[W]):(X[W]===void 0||X[W]===null||typeof X[W]=="number"&&isNaN(X[W])||typeof X[W]=="string"&&X[W].trim().length===0)&&delete X[W]})};Z&&typeof Z=="object"&&x(Z)}ae.type==="object-advanced"&&ae.fields&&Z!==null&&(Object.entries(Z).length===0?Z=null:Object.keys(Z).forEach(x=>{Array.isArray(Z[x])||(Z[x]=Z[x].split(","))}))}let Ie=s(_);if(ae.fieldNameHasDashes){const[x,...X]=Ie.split(".").reverse();Ie=[x.replace(/_/g,"-"),...X].reverse().join(".")}if(Oe==="object-expand"){let x;[Ie,x]=Ie.split(".");let X={};K[Ie]&&(X=K[Ie]),X[x]=Z,Z=X}Ee!==void 0&&Z===""&&Z!==Ee?K[Ie]=Oe==="object"?{}:null:ae.type==="checklist"&&Z===""?K[Ie]=[]:Z!==""&&(K[Ie]=Z),K[Ie]=ct?ct(Z):K[Ie],p(Ie,K)}),l(K)},N=(v,D)=>{var K;const y={[D]:v};typeof((K=a.schema[D])==null?void 0:K.modelTransformer)=="function"&&(y[D]=a.schema[D].modelTransformer(v));const V=Object.assign({},O,y);Object.assign(O,V),i("model-updated",{model:O,originalModel:E,data:T()})},H=(v,D)=>{Object.keys(v).forEach(y=>{var _,ae;let V=D?`${D}-${y}`:y,K=a.schema[V];if(!K){const Z=D?`${D}-${y.replace(/-/g,"_")}`:y.replace(/-/g,"_");(_=a.schema[Z])!=null&&_.fieldNameHasDashes&&(V=Z,K=a.schema[V]),D&&((ae=a.schema[D])==null?void 0:ae.keyFromObject)===y&&(V=D,K=a.schema[V])}const w=v[y],J=typeof w;if(K&&K.type==="object-advanced"&&!w){O[V]={},E[V]={};return}if(Array.isArray(w)){O[V]=JSON.parse(JSON.stringify(w)),E[V]=JSON.parse(JSON.stringify(w));return}if(J==="object"&&w&&!w.length)return H(w,V);if(J==="object"&&w&&w.length&&K.type==="input"){O[V]=w.join(", "),E[V]=w.join(", ");return}O[V]=w,E[V]=w}),i("model-updated",{model:O,originalModel:E,data:T()})},z=t.ref(!0),$=()=>{var v;if(a.record&&a.schema&&(H({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)&&H({consumer_id:a.record.consumer_id||a.record.consumer}),H(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)&&H({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}),H(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const D={};for(const y in a.entityMap){const V=a.entityMap[y].id,K=a.entityMap[y].idField,w=K==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(K).replace("_","-"));Object.prototype.hasOwnProperty.call(O,w)&&(D[w]=V)}H(D)}if((v=a.entityMap.consumer)!=null&&v.id&&a.schema&&a.credential){const D={};Object.prototype.hasOwnProperty.call(O,"consumer")&&(D.consumer=a.entityMap.consumer.id),H(D)}z.value=!1};return t.watch(z,v=>{i("loading",v)}),t.watch(()=>a.schema,(v,D)=>{var V,K;if(u(v||{},D||{}))return;const y=o(v);Object.assign(O,y.model),G.value={fields:(K=(V=G.value)==null?void 0:V.fields)==null?void 0:K.map(w=>({...w,disabled:w.disabled||!1}))},Object.assign(E,JSON.parse(JSON.stringify(y.model))),M.value=Bo(y.model.name),$()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var v,D;S.value=o(a.schema),Object.assign(O,((v=S.value)==null?void 0:v.model)||{}),G.value=((D=S.value)==null?void 0:D.schema)||{},$()}),(v,D)=>{var K;const y=t.resolveComponent("KSkeleton"),V=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",uy,[z.value?(t.openBlock(),t.createBlock(y,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",py,[M.value&&(O.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(M.value),{key:0,"form-model":O,"form-options":f.value,"form-schema":G.value,"is-editing":e.editing,"on-model-updated":N},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(at),fn:t.withCtx(w=>[w.schema.referenceable?(t.openBlock(),t.createBlock(To,t.mergeProps({key:0},w,{onOpen:D[0]||(D[0]=(J,_)=>B(J,_))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!M.value&&(O.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(V,{key:1,model:O,options:f.value,schema:G.value,onModelUpdated:N},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Ay,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(K=t.unref(Qe)[O.name])!=null&&K.fieldRules&&(a.config.isNewOtelSchema||O.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(_h,{rules:t.unref(Qe)[O.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(at),fn:t.withCtx(w=>[w.schema.referenceable?(t.openBlock(),t.createBlock(To,t.mergeProps({key:0},w,{onOpen:D[1]||(D[1]=(J,_)=>B(J,_))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(cy,{config:a.config,setup:m.value,onCancel:D[2]||(D[2]=()=>m.value=!1),onProceed:Y},null,8,["config","setup"])],64)}}}),fy=Fe(my,[["__scopeId","data-v-4ffe25a9"]]),hy={class:"kong-ui-entities-plugin-form-container"},yy=["id"],by={class:"plugin-form-actions"},Ey=Fe(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},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},useCustomNamesForPlugin:{type:Boolean,default:!1},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1},enableTerraform:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var W;const i=n,a=e,r=Lt.useRouter(),{i18n:{t:o}}=he.useI18n(),{customSchemas:s,typedefs:l}=he.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=he.usePluginHelpers(),{getMessageFromError:p}=U.useErrors(),{capitalize:u}=U.useStringHelpers(),{objectsAreEqual:A}=U.useHelpers(),{axiosInstance:g}=U.useAxios((W=a.config)==null?void 0:W.axiosRequestConfig),C=t.ref(!1),k=t.computed(()=>!!a.pluginId),h=t.computed(()=>a.pluginId?U.EntityBaseFormType.Edit:U.EntityBaseFormType.Create),M=t.ref(null),S=t.computed(()=>!!(a.credential&&a.config.entityId)),G=t.ref(null),E=t.ref({}),O=t.ref(!1),f=t.ref(null),m=t.reactive({enabled:!0,protocols:[],tags:[]}),b=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),B=t.ref([{title:o("view_configuration.json"),hash:"#json"},{title:o("view_configuration.yaml"),hash:"#yaml"}]);a.enableTerraform&&B.value.splice(1,0,{title:o("view_configuration.terraform"),hash:"#terraform"});const Y=t.ref(""),T=t.computed(()=>{if(S.value){let L=Ce.form[a.config.app].credential[h.value];return L=L.replace(/{resourceEndpoint}/gi,$.value),L}return a.config.entityType&&a.config.entityId?Ce.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Ce.form[a.config.app].edit.all}),N=()=>{C.value=!C.value},H=t.computed(()=>{var q,oe,re,Be,ye,j,P,Le;const L=a.config.entityType==="consumers"&&a.config.entityId||((oe=(q=G.value)==null?void 0:q.consumer)==null?void 0:oe.id),Q=a.config.entityType==="consumer_groups"&&a.config.entityId||((Be=(re=G.value)==null?void 0:re.consumer_group)==null?void 0:Be.id),I=a.config.entityType==="services"&&a.config.entityId||((j=(ye=G.value)==null?void 0:ye.service)==null?void 0:j.id),ne=a.config.entityType==="routes"&&a.config.entityId||((Le=(P=G.value)==null?void 0:P.route)==null?void 0:Le.id);if(!(L||Q||I||ne))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const te={};return I&&(te.service={entity:c.SERVICE,entityEndpoint:"services",id:I,idField:mt.SERVICE}),ne&&(te.route={entity:c.ROUTE,entityEndpoint:"routes",id:ne,idField:mt.ROUTE}),L&&(te.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:L,idField:mt.CONSUMER}),Q&&(te.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:Q,idField:mt.CONSUMER_GROUP}),a.config.entityType&&(te.focusedEntity={entity:c[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:mt[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),te}),z=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:o("plugins.form.fields.enabled.label"),textOn:o("plugins.form.fields.enabled.on_text"),textOff:o("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||h.value===U.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",inputType:"hidden",styleClasses:"hide-label",fields:[{label:o("plugins.form.scoping.global.label"),description:o("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:o("plugins.form.fields.protocols.help"),label:o("plugins.form.fields.protocols.label"),placeholder:o("plugins.form.fields.protocols.placeholder"),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"}]},...(a.config.app==="kongManager"||a.useCustomNamesForPlugin)&&{instance_name:{default:"",type:"input",label:o("plugins.form.fields.instance_name.label"),inputType:"text",help:o("plugins.form.fields.instance_name.help")}},tags:l.tags}),$=t.computed(()=>{var I;const L=a.developer?"developers":"consumers",Q=((I=Rt[a.pluginType])==null?void 0:I.endpoint)||"/plugins";return`${L}/${a.config.entityId}${a.developer?"/credentials":""}${Q}`}),ie=L=>{const Q=Array.from(new Set(L.map(I=>typeof I)));return Q.length>1?"string":Q[0]},F=(L,Q,I,ne)=>{var re,Be;let te=Q&&Q.fields||[];const q=s[a.pluginType],oe=(Be=(re=Rt[a.pluginType])==null?void 0:re.schema)==null?void 0:Be.fields;return Array.isArray(te)&&(te=te.reduce((ye,j)=>{const P=Object.keys(j)[0];return P.match(/-/g)?ye[P.replace(/-/g,"_")]={...j[P],fieldNameHasDashes:!0}:ye[P]=j[P],ye},{})),Object.keys(te).sort().forEach(ye=>{var ut,Vo,No,Do,Lo,Go;const j=te[ye],P=L?`${L}-${ye}`:`${ye}`;if(Object.prototype.hasOwnProperty.call(j,"overwrite")||j.hidden)return;if(j.type==="table")return F(P,j.schema,I);if(j.fields)return ne&&j.type==="record"?(I[P]={type:"object",model:ye,schema:{fields:Object.values(F(P,j,{},!0))}},I):F(P,j,I);if(I[P]={id:P,model:ye},I[P].type=j.type==="boolean"?"checkbox":"input",I[P].required=j.required,I[P].referenceable=j.referenceable,P.startsWith("config-"))if(!ne&&j.type==="array"&&(Y.value=P),ne&&Y.value&&P.startsWith(Y.value)){const le=P.slice(Y.value.length+1);I[P].label=le.split("-").map(d).join(".")}else I[P].label=d(P);if((L==="config"||L.startsWith("config-"))&&(ut=te[ye])!=null&&ut.description&&(I[P].help=se.parse(te[ye].description,{mangle:!1,headerIds:!1})),j.type==="map"){if(I[P].type="object-advanced",I[P].values=j.values,j.values.type==="array"){const{type:le}=j.values.elements||{};I[P].schema={fields:[{schema:{fields:[{...en,model:P,valueArrayType:le==="integer"?"number":le||"string",inputAttributes:{...en.inputAttributes,type:le==="integer"?"number":"text",inputMode:le==="integer"?"numeric":"text"}}]}}]}}else j.values.fields&&(I[P].schema={fields:[{type:"object",model:"object",schema:{fields:j.values.fields.map(le=>{const Xe=Object.keys(le)[0];return{model:Xe,type:"input",label:u(Xe),placeholder:Xe,inputType:le[Xe].type}})}}]});return I}if(j.enum&&j.type==="array"&&(I[P].type="checklist",I[P].values=j.enum,I[P].multi=!0,I[P].multiSelect=!0),j.one_of&&j.type!=="array"&&(I[P].type="select",I[P].values=j.one_of,I[P].selectOptions={noneSelectedText:o("plugins.form.no_selection")}),j.elements&&j.type==="array"){const le=j.elements;if(I[P].referenceable=le.referenceable,(le.type==="string"||le.type==="integer")&&!le.one_of){const{id:Xe,help:ke,label:ue,hint:Ne,values:It,referenceable:pt}=I[P],{inputAttributes:Ot,...Ab}=JSON.parse(JSON.stringify(en));Ot.type=le.type==="integer"?"number":"text",I[P]={id:Xe,help:ke,label:ue,hint:Ne,values:It,referenceable:pt,inputAttributes:Ot,...Ab}}}if(j.hint&&(I[P].hint=j.hint),q&&!q.overwriteDefault&&Object.keys(q).forEach(le=>{if(le===P){const{help:Xe,label:ke,hint:ue,values:Ne,referenceable:It}=I[P],{help:pt,...Ot}=q[le];I[P]={help:Xe,label:ke,hint:ue,values:Ne,referenceable:It,...Ot},typeof pt=="string"&&(I[P].help=se.parse(pt,{mangle:!1,headerIds:!1}))}}),j.type==="array"&&((Vo=j.elements)==null?void 0:Vo.type)==="record"&&Array.isArray(j.elements.fields)){let le={};for(const ke of j.elements.fields)le={...le,...ke};const Xe=(Lo=(Do=(No=I[P])==null?void 0:No.items)==null?void 0:Do.schema)==null?void 0:Lo.fields;if(Array.isArray(Xe))for(const ke of I[P].items.schema.fields){const ue=(Go=le[ke.model])==null?void 0:Go.description;ke.help===void 0&&typeof ue=="string"&&(ke.help=se.parse(ue,{mangle:!1,headerIds:!1}))}if(Xe||(I[P].type="array",I[P].newElementButtonLabelClasses="kong-form-new-element-button-label",I[P].fieldClasses="array-card-container-wrapper",I[P].itemContainerComponent="FieldArrayCardContainer",I[P].items={type:"object",schema:{fields:Object.values(F(P,j.elements,{},!0))}},I[P].items.schema.fields.forEach(ke=>{var ue,Ne;for(const It of j.elements.fields){const pt=Object.keys(It)[0],Ot=((Ne=(ue=ke.id)==null?void 0:ue.split)==null?void 0:Ne.call(ue,"-"))??[];if(Ot[Ot.length-1]===pt){ke.model=pt,ke.label=d(pt);break}}}),j.elements.type==="record"&&(I[P].nestedFields=!0)),!I[P].nestedFields)I[P].items.default=()=>j.elements.fields.reduce((ke,ue)=>{const Ne=Object.keys(ue)[0];return ke[Ne]=ue[Ne].default,ke},{});else{const ke=(ue,Ne)=>{if(ue.type==="object"){ue.model&&(Ne[ue.model]={});for(const It of ue.schema.fields)ke(It,ue.model?Ne[ue.model]:Ne)}else ue.model&&(Ne[ue.model]=ue.default)};I[P].items.default=()=>{const ue={};return ke(I[P].items,ue),ue}}}if(S.value&&oe){for(let le=0;le<oe.length;le++)if(oe[le][P]){I[P]={...I[P],...oe[le][P]};break}}if(j.required&&j.type!=="boolean"&&(I[P].required=!0,I[P].selectOptions={hideNoneSelectedText:!0}),j.required&&j.type==="boolean"&&(I[P].default=j.default??!1),j.default!=null&&typeof j.default!="object"&&j.default!=="function"&&(I[P].default=j.default),I[P].type==="input"){const{type:le}=j.elements||{};le&&(I[P].valueArrayType=le==="integer"?"number":le),I[P].inputType=j.type==="array"||j.type==="string"?"text":j.type}let Le="string";j.enum?Le=ie(j.enum):j.type==="boolean"?Le="boolean":j.type==="number"||j.type==="integer"?(Le="number",I[P].inputType="number"):j.type==="array"||j.type==="set"?(Le="array",I[P].default=j.default,j.len_min>0&&(I[P].submitWhenNull=!0)):j.type==="foreign"?Le="object":j.default&&Array.isArray(j.default)?(Le="array",I[P].valueArrayType=ie(j.default)):j.default&&(Le=typeof j.default),I[P].valueType=Le,j.fieldNameHasDashes&&(I[P].fieldNameHasDashes=!0)}),I},v=()=>{var q,oe,re,Be;const L=((q=Qe[a.pluginType])==null?void 0:q.scope.includes(c.SERVICE))??!0,Q=((oe=Qe[a.pluginType])==null?void 0:oe.scope.includes(c.ROUTE))??!0,I=((re=Qe[a.pluginType])==null?void 0:re.scope.includes(c.CONSUMER))??!0,ne=a.config.disableConsumerGroupScope?!1:((Be=Qe[a.pluginType])==null?void 0:Be.scope.includes(c.CONSUMER_GROUP))??!0,te=[];if(L&&te.push({id:"service-id",model:"service-id",label:o("plugins.form.scoping.gateway_service.label"),placeholder:o("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:o("plugins.form.scoping.gateway_service.help")}),Q&&te.push({id:"route-id",model:"route-id",label:o("plugins.form.scoping.route.label"),placeholder:o("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:o("plugins.form.scoping.route.help")}),I&&te.push({model:"consumer-id",label:o("plugins.form.scoping.consumer.label"),placeholder:o("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:o("plugins.form.scoping.consumer.help")}),ne&&te.push({model:"consumer_group-id",label:o("plugins.form.scoping.consumer_group.label"),placeholder:o("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:o("plugins.form.scoping.consumer_group.help")}),te.length){const ye=[...L?["service"]:[],...Q?["route"]:[],...I?["consumer"]:[],...ne?["consumer_group"]:[]],P=ye.splice(ye.length-2,2).map(ut=>o(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(`${ye.length>0?",":""} and/or `),Le=["Specific",[...ye.length>0?[ye.map(ut=>o(ut==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ut}.plural`)).join(", ")]:[],P].join(", ")].join(" ");z.selectionGroup.fields.push({label:o("plugins.form.scoping.label"),description:Le,fields:[]}),z.selectionGroup.fields[1].fields=te}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(z,s[a.pluginType].formSchema)},D=t.computed(()=>!A(b.fields,m,!0)),y=t.computed(()=>!x.value&&!O.value&&(h.value===U.EntityBaseFormType.Create||D.value)),V=t.ref(!1),K=t.ref(),w=L=>{b.fields.id=(L==null?void 0:L.id)||void 0,K.value=L==null?void 0:L.ordering,Object.assign(m,b.fields),G.value=L,V.value=!0},J=t.ref({}),_=L=>{var Q;b.fields=L.model,b.fields.id=((Q=G.value)==null?void 0:Q.id)||void 0,Object.assign(m,L.originalModel),J.value=L.data,a.isWizardStep&&i("model-updated",{model:b.fields,data:L.data,resourceEndpoint:$.value})};t.watch([H,V],(L,Q)=>{const I=L[0]!==Q[0],ne=L[1],te=Q[1];!S.value&&h.value===U.EntityBaseFormType.Edit&&(I||ne&&ne!==te)&&(x.value=!0,M.value=F("config",E.value,z),x.value=!1)},{deep:!0});const ae=()=>{a.config.cancelRoute?r.push(a.config.cancelRoute):i("cancel")},Z=t.computed(()=>{let L=`${a.config.apiBaseUrl}${Ce.form[a.config.app].validate}`;return a.config.app==="konnect"?L=L.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(L=L.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),L=L.replace(/{id}/gi,a.pluginId),L}),Ee=t.computed(()=>{const L=a.config.entityType&&a.config.entityId&&!a.developer,Q=S.value?Ce.form[a.config.app].credential[h.value]:Ce.form[a.config.app][h.value][L?"forEntity":"all"];let I=`${a.config.apiBaseUrl}${Q}`;return a.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),I=I.replace(/{resourceEndpoint}/gi,$.value),I=I.replace(/{id}/gi,a.pluginId),I=I.replace(/{entityType}/gi,a.config.entityType||""),I=I.replace(/{entityId}/gi,a.config.entityId||""),I}),lt=t.computed(()=>!Object.keys(Qe).includes(a.pluginType)),Oe=t.computed(()=>{const L=J.value;if(S.value){for(const Q in c){const I=c[Q];L[I]&&!L[I].id&&(L[I]={id:a.config.entityId})}delete L.created_at}return L}),tt=async()=>{if(!a.isWizardStep)try{b.isReadonly=!0;let L;!S.value&&!lt.value&&await g.post(Z.value,Oe.value),h.value==="create"?L=await g.post(Ee.value,Oe.value):h.value==="edit"&&(L=a.config.app==="konnect"?await g.put(Ee.value,Object.assign({ordering:K.value},Oe.value)):await g.patch(Ee.value,Oe.value)),Object.assign(m,b.fields),i("update",L==null?void 0:L.data)}catch(L){b.errorMessage=p(L),i("error",L)}finally{b.isReadonly=!1}},ct=t.computed(()=>{var ne;const L=S.value?(ne=Rt[a.pluginType])==null?void 0:ne.schemaEndpoint:a.pluginType,Q=S.value?Ce.form[a.config.app].credentialSchema:Ce.form[a.config.app].pluginSchema;let I=`${a.config.apiBaseUrl}${Q}`;return a.config.app==="konnect"?I=I.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(I=I.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),I=I.replace(/{plugin}/gi,L),I}),Ie=t.ref(!1);t.watch(f,L=>{L&&(Ie.value=!0)});const dt=t.ref(""),x=t.ref(!1),X=t.ref("");return t.onBeforeMount(async()=>{var L,Q,I;x.value=!0;try{if(S.value&&a.config.app==="konnect"){const ne=(L=Rt[a.pluginType])==null?void 0:L.schemaEndpoint,te=Al[ne];dt.value=ne,M.value=F("",te,{}),x.value=!1}else{const ne=await g.get(ct.value),{data:te}=ne;if(te)if(S.value)M.value=F("",te,{}),x.value=!1;else{const q=te.fields.find(re=>re.config);E.value=q?q.config:ne,v();const oe=(Q=te.fields.find(re=>re.protocols))==null?void 0:Q.protocols;if(oe){const{default:re=[],elements:Be={}}=oe;z.protocols.default=re,(I=Be.one_of)!=null&&I.length&&(z.protocols.values=Be.one_of.map(ye=>({label:ye,value:ye})))}(V.value||h.value===U.EntityBaseFormType.Create)&&(M.value=F("config",E.value,z))}}}catch(ne){X.value=p(ne),i("error:fetch-schema",ne)}finally{x.value=!1}}),(L,Q)=>{const I=t.resolveComponent("KSkeleton"),ne=t.resolveComponent("KEmptyState"),te=t.resolveComponent("KButton"),q=t.resolveComponent("KTabs"),oe=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",hy,[x.value?(t.openBlock(),t.createBlock(I,{key:0,type:"form"})):X.value?(t.openBlock(),t.createBlock(ne,{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(o)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(U.EntityBaseForm),{key:2,"can-submit":y.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(U.SupportedEntityType).Plugin,"error-message":b.errorMessage,"fetch-url":T.value,"form-fields":Oe.value,"is-readonly":b.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:ae,"onFetch:error":Q[2]||(Q[2]=re=>L.$emit("error",re)),"onFetch:success":w,onLoading:Q[3]||(Q[3]=re=>L.$emit("loading",re))},{"form-actions":t.withCtx(()=>[t.createElementVNode("div",{id:`plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`,ref_key:"actionsDivRef",ref:f},null,8,yy),!e.isWizardStep&&Ie.value?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.actionsTeleportTarget?e.actionsTeleportTarget:`#plugin-form-default-actions-container-${e.config.workspace||e.config.controlPlaneId}`},[t.createElementVNode("div",by,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(te,{key:0,appearance:"tertiary","data-testid":`plugin-${k.value?"edit":"create"}-form-view-configuration`,onClick:Q[1]||(Q[1]=re=>N())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode(te,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${k.value?"edit":"create"}-form-cancel`,disabled:b.isReadonly,type:"reset",onClick:ae},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode(te,{appearance:"primary","data-testid":`plugin-${k.value?"edit":"create"}-form-submit`,disabled:!y.value||b.isReadonly,type:"submit",onClick:tt},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])],8,["to"])):t.createCommentVNode("",!0)]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:tt},null,32),t.createVNode(fy,{config:e.config,credential:S.value,editing:h.value===t.unref(U.EntityBaseFormType).Edit,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":H.value,record:G.value||void 0,schema:M.value||{},onLoading:Q[0]||(Q[0]=re=>O.value=re),onModelUpdated:_},null,8,["config","credential","editing","enable-vault-secret-picker","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly","wrapper-component"])),t.createVNode(oe,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(o)("view_configuration.title"),visible:C.value,onClose:N},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(o)("view_configuration.message")),1),t.createVNode(q,{"data-testid":"form-view-configuration-slideout-tabs",tabs:B.value},{json:t.withCtx(()=>[t.createVNode(t.unref(U.JsonCodeBlock),{config:e.config,"entity-record":Oe.value,"fetcher-url":Ee.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(U.YamlCodeBlock),{"entity-record":Oe.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(U.TerraformCodeBlock),{"credential-type":dt.value,"entity-record":Oe.value,"entity-type":t.unref(U.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-62a0db84"]]),wy=["alt","src","width"],In=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(()=>Ni(n.name)),r=()=>{const o=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:vt&&vt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&(i.value.src=o)};return(o,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,src:a.value,width:e.size,onError:r},null,40,wy))}}),Cy={class:"kong-ui-entities-plugins-list"},By={class:"name-cell-wrapper"},ky={class:"info-wrapper"},Iy={key:0,class:"info-name"},Oy={key:1,class:"info-name"},My={key:2,class:"info-type"},vy={key:1},Ry={key:1},Sy=Fe(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}},emits:["error","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var Ie,dt;const i=he.usePluginMetaData(),a=n,r=e,{i18n:{t:o}}=he.useI18n(),s=Lt.useRouter(),{axiosInstance:l}=U.useAxios((Ie=r.config)==null?void 0:Ie.axiosRequestConfig),d=t.computed(()=>{var x;return((x=r.config)==null?void 0:x.entityType)==="consumers"}),p=t.computed(()=>{var x;return((x=r.config)==null?void 0:x.entityType)==="consumer_groups"}),u=r.config.app==="konnect"||U.useGatewayFeatureSupported({gatewayInfo:r.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),A=t.computed(()=>r.config.app!=="kongManager"||!!r.config.disableSorting),g={name:{label:o("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(dt=r.config)!=null&&dt.entityId||(g.appliedTo={label:o("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:o("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},u&&(g.ordering={label:o("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:o("plugins.list.table_headers.tags"),sortable:!1};const C=g,k=t.computed(()=>{var X,W,L,Q;let x=r.config.entityType?`${r.config.apiBaseUrl}${Ce.list[r.config.app].forEntity}`:`${r.config.apiBaseUrl}${Ce.list[r.config.app].all}`;return r.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,((X=r.config)==null?void 0:X.controlPlaneId)||""):r.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,(W=r.config)!=null&&W.workspace?`/${r.config.workspace}`:"")),x.replace(/{entityType}/gi,((L=r.config)==null?void 0:L.entityType)||"").replace(/{entityId}/gi,((Q=r.config)==null?void 0:Q.entityId)||"")}),h=t.ref(""),M=t.computed(()=>r.config.app==="konnect"||r.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:o("plugins.list.table_headers.id"),sortable:!0}},placeholder:o(`search.placeholder.${r.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:o("search.filter.field.enabled")},name:g.name,instance_name:{label:o("plugins.list.table_headers.instance_name"),searchable:!0}},schema:r.config.filterSchema}),S=t.ref(1),{fetcher:G,fetcherState:E}=U.useFetcher(r.config,k.value),O=()=>{h.value=""},f=()=>{S.value++},m=t.ref(null),b=x=>{var W,L,Q,I;const X=[];return(W=x.route)!=null&&W.id&&X.push({type:"route",badgeText:o("plugins.list.table_headers.applied_to_badges.route")}),(L=x.service)!=null&&L.id&&X.push({type:"service",badgeText:o("plugins.list.table_headers.applied_to_badges.service")}),(Q=x.consumer)!=null&&Q.id&&X.push({type:"consumer",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer")}),(I=x.consumer_group)!=null&&I.id&&X.push({type:"consumer_group",badgeText:o("plugins.list.table_headers.applied_to_badges.consumer_group")}),X.length?X:[{type:null,badgeText:o("plugins.list.table_headers.applied_to_badges.global")}]},B=async(x,X)=>{var W;return x===null?!1:await((W=r.canRetrieveScopedEntity)==null?void 0:W.call(r,x,X.id))},Y=(x,X)=>{var L,Q,I,ne,te;let W=null;switch(x){case"route":W=(L=X.route)==null?void 0:L.id;break;case"service":W=(Q=X.service)==null?void 0:Q.id;break;case"consumer":W=(I=X.consumer)==null?void 0:I.id;break;case"consumer_group":W=(ne=X.consumer_group)==null?void 0:ne.id;break}W&&((te=r.config)!=null&&te.getScopedEntityViewRoute)&&s.push(r.config.getScopedEntityViewRoute(x,W))},T=t.ref(!1),N=t.ref(null),H=t.computed(()=>{const x={action:"disable",id:"",name:""};if(N.value){const{enabled:X,id:W,name:L}=N.value;x.action=X?"disable":"enable",x.id=W,x.name=i.getDisplayName(L)||W}return x}),z=x=>{T.value=!0,N.value=x},$=()=>{T.value=!1,N.value=null},ie=async()=>{var L,Q,I,ne,te,q,oe,re;if(!await((L=r.canEdit)==null?void 0:L.call(r,N.value))||!N.value)return;let X=`${r.config.apiBaseUrl}${(te=Ce.item[r.config.app])==null?void 0:te[(Q=r.config)!=null&&Q.entityType?"forEntity":"all"].replace(/{entityType}/gi,((I=r.config)==null?void 0:I.entityType)||"").replace(/{entityId}/gi,((ne=r.config)==null?void 0:ne.entityId)||"")}`.replace(/{id}/gi,N.value.id||"");r.config.app==="konnect"?X=X.replace(/{controlPlaneId}/gi,((q=r.config)==null?void 0:q.controlPlaneId)||""):r.config.app==="kongManager"&&(X=X.replace(/\/{workspace}/gi,(oe=r.config)!=null&&oe.workspace?`/${r.config.workspace}`:""));const W=!N.value.enabled;try{const{data:Be}=((re=r.config)==null?void 0:re.app)==="konnect"?await l.put(X,{...N.value,enabled:W},{timeout:12e4}):await l.patch(X,{...N.value,enabled:W},{timeout:12e4});a("toggle-enabled",W,Be)}catch(Be){a("error",Be)}N.value.enabled=W},F=(x,X)=>{const W=x.id;if(!X(W)){a("copy:error",{entity:x,field:"id",message:o("errors.copy")});return}a("copy:success",{entity:x,field:"id",message:o("copy.success",{val:W})})},v=(x,X)=>{const W=JSON.stringify(x);if(!X(W)){a("copy:error",{entity:x,message:o("errors.copy")});return}a("copy:success",{entity:x,message:o("copy.success_brief")})},D=async x=>{var W;await((W=r.canRetrieve)==null?void 0:W.call(r,x))&&s.push(r.config.getViewRoute(x))},y=x=>({label:o("actions.view"),to:r.config.getViewRoute(x)}),V=x=>({label:o("actions.edit"),to:r.config.getEditRoute(x)}),K=x=>({label:o("actions.configure_dynamic_ordering"),to:r.config.getConfigureDynamicOrderingRoute(x)}),w=t.ref(void 0),J=t.ref(!1),_=t.ref(!1),ae=t.ref(""),Z=U.useDeleteUrlBuilder(r.config,k.value),Ee=x=>{w.value=x,J.value=!0},lt=()=>{J.value=!1},Oe=async()=>{var x,X,W;if((x=w.value)!=null&&x.id){_.value=!0;try{await l.delete(Z(w.value.id)),_.value=!1,J.value=!1,S.value++,a("delete:success",w.value)}catch(L){ae.value=((W=(X=L.response)==null?void 0:X.data)==null?void 0:W.message)||L.message||o("errors.delete"),a("error",L)}finally{_.value=!1}}},tt=t.ref(!1);t.watch(E,x=>{var X,W,L,Q;if(Array.isArray((X=x==null?void 0:x.response)==null?void 0:X.data)&&(tt.value=x.response.data.length>0),x.status===U.FetcherStatus.Error){m.value={title:o("errors.general")},(Q=(L=(W=x.error)==null?void 0:W.response)==null?void 0:L.data)!=null&&Q.message&&(m.value.message=x.error.response.data.message),a("error",x.error);return}m.value=null});const ct=t.ref({ctaPath:r.config.createRoute,ctaText:void 0,message:`${o("plugins.list.empty_state.description")}${r.config.additionMessageForEmptyState?` ${r.config.additionMessageForEmptyState}`:""}`,title:o("plugins.title")});return t.onBeforeMount(async()=>{await r.canCreate()&&(ct.value.title=o("plugins.list.empty_state.title"),ct.value.ctaText=o("actions.create"))}),(x,X)=>{const W=t.resolveComponent("KButton"),L=t.resolveComponent("KBadge"),Q=t.resolveComponent("KTruncate"),I=t.resolveComponent("KInputSwitch"),ne=t.resolveComponent("KDropdownItem"),te=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Cy,[t.createVNode(t.unref(U.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":A.value,"dropdown-menu-width":"270","empty-state-options":ct.value,"enable-entity-actions":"","error-message":m.value,fetcher:t.unref(G),"fetcher-cache-key":S.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:h.value,"table-headers":t.unref(C),title:e.title,"title-tag":e.titleTag,onClearSearchInput:O,"onClick:row":X[3]||(X[3]=q=>D(q)),onSort:f},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(U.EntityFilter),{modelValue:h.value,"onUpdate:modelValue":X[0]||(X[0]=q=>h.value=q),config:M.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.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(W,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(o)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"]),[[t.vShow,tt.value]])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:t.withCtx(({row:q})=>[t.createElementVNode("div",By,[t.createVNode(In,{class:"plugin-icon",name:q.name,width:24},null,8,["name"]),t.createElementVNode("div",ky,[q.instance_name?(t.openBlock(),t.createElementBlock("span",Iy,t.toDisplayString(q.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Oy,t.toDisplayString(t.unref(i).getDisplayName(q.name)),1)),q.instance_name?(t.openBlock(),t.createElementBlock("span",My,t.toDisplayString(t.unref(i).getDisplayName(q.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:q})=>[b(q).length>0?(t.openBlock(),t.createBlock(Q,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b(q),oe=>(t.openBlock(),t.createBlock(t.unref(U.PermissionsWrapper),{key:oe.badgeText,"auth-function":()=>B(oe.type,q),"force-show":""},{default:t.withCtx(({isAllowed:re})=>[t.createVNode(L,{class:t.normalizeClass(re||"disabled"),onClick:t.withModifiers(Be=>re&&oe.type&&Y(oe.type,q),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(oe.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",vy,"-"))]),enabled:t.withCtx(({row:q})=>[t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(q)&&await e.canToggle(q)),"force-show":""},{default:t.withCtx(({isAllowed:oe})=>{var re,Be;return[t.createElementVNode("div",{onClick:X[1]||(X[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(I,{disabled:!oe,"disabled-tooltip-text":!oe&&((Be=(re=e.config).getToggleDisabledTooltip)==null?void 0:Be.call(re,q))||void 0,"model-value":q.enabled,onClick:t.withModifiers(ye=>oe&&z(q),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:q})=>[t.createVNode(L,{appearance:q?"warning":"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(q?t.unref(o)("plugins.list.table_headers.ordering_badge.dynamic"):t.unref(o)("plugins.list.table_headers.ordering_badge.static")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:q})=>[(q==null?void 0:q.length)>0?(t.openBlock(),t.createBlock(Q,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(q,oe=>(t.openBlock(),t.createBlock(L,{key:oe,onClick:X[2]||(X[2]=t.withModifiers(()=>{},["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(oe),1)]),_:2},1024))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",Ry,"-"))]),actions:t.withCtx(({row:q})=>[t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:oe})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-id",onClick:re=>F(q,oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(te,null,{default:t.withCtx(({copyToClipboard:oe})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-json",onClick:re=>v(q,oe)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(q)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-view","has-divider":"",item:y(q)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canEdit(q)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-edit",item:V(q)},null,8,["item"])]),_:2},1032,["auth-function"]),!d.value&&!p.value&&t.unref(u)?(t.openBlock(),t.createBlock(t.unref(U.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(q)},{default:t.withCtx(()=>[K(q)?(t.openBlock(),t.createBlock(ne,{key:0,"data-testid":"action-entity-config-dyn-order",item:K(q)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(U.PermissionsWrapper),{"auth-function":()=>e.canDelete(q)},{default:t.withCtx(()=>[t.createVNode(ne,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:oe=>Ee(q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:1},8,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","title","title-tag"]),t.createVNode(t.unref(U.EntityToggleModal),{action:H.value.action,"entity-id":H.value.id,"entity-name":H.value.name,"entity-type":t.unref(o)("glossary.plugin"),"on-confirm":ie,visible:T.value,onCancel:$,onProceed:$},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(U.EntityDeleteModal),{"action-pending":_.value,description:t.unref(o)("delete.description"),"entity-name":w.value&&(w.value.instance_name||w.value.name||w.value.id),"entity-type":t.unref(U.EntityTypes).Plugin,error:ae.value,title:t.unref(o)("delete.title"),visible:J.value,onCancel:lt,onProceed:Oe},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-4d4ebbf3"]]),Ty="16px",xy={class:"plugin-select-card-wrapper"},Vy=["data-testid"],Ny={class:"plugin-card-header"},Dy={class:"plugin-card-title"},Ly={key:0,class:"plugin-card-actions"},Gy=["data-testid","title"],Uy={key:0,class:"plugin-card-text"},Py={key:0},Yy=["title"],si=Fe(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,r=Lt.useRouter(),{i18n:{t:o}}=he.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(C.value&&!g.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{r.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?p():A()},A=()=>{i("plugin-clicked",a.plugin)},g=t.computed(()=>a.plugin.id==="custom-plugin-create"),C=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===R.CUSTOM_PLUGINS),k=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},h=S=>{const G=a.config;a.config.app==="konnect"&&typeof G.getCustomEditRoute=="function"&&G.getCustomEditRoute&&r.push(G.getCustomEditRoute(S))},M=()=>{if(!l.value&&a.config.app==="konnect"){const S=a.config;g.value&&S.createCustomRoute?r.push(S.createCustomRoute):C.value&&p()}};return(S,G)=>{const E=t.resolveComponent("KButton"),O=t.resolveComponent("KDropdownItem"),f=t.resolveComponent("KDropdownMenu"),m=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",xy,[t.createVNode(m,{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:G[1]||(G[1]=b=>l.value||C.value?void 0:u())},[t.createElementVNode("div",Ny,[t.createElementVNode("div",Dy,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!C.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Ly,[t.createVNode(f,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(E,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(qe.MoreIcon),{size:t.unref(Ty)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(O,{key:0,"data-testid":"edit-plugin-schema",onClick:G[0]||(G[0]=t.withModifiers(b=>h(e.plugin.name),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(O,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":C.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(o)("plugins.select.unavailable_tooltip"),onClick:M},[t.createVNode(In,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||C.value&&!g.value?(t.openBlock(),t.createElementBlock("div",Uy,[C.value&&!g.value?(t.openBlock(),t.createElementBlock("p",Py,t.toDisplayString(t.unref(o)("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,Yy)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Gy),t.createElementVNode("div",{class:"plugin-card-footer",onClick:M},t.toDisplayString(g.value?t.unref(o)("actions.create_custom"):e.plugin.exists?t.unref(o)("actions.enabled"):t.unref(o)("actions.enable")),1)],10,Vy)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-f975176b"]]),jy=Fe(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 C;const i=e,a=n,{i18nT:r,i18n:{t:o}}=he.useI18n(),{getMessageFromError:s}=U.useErrors(),{axiosInstance:l}=U.useAxios((C=i.config)==null?void 0:C.axiosRequestConfig),d=t.computed(()=>{var k;return A.value?o("delete.plugin_schema_in_use_title"):o("delete.title",{name:((k=i.plugin)==null?void 0:k.name)||o("delete.custom_plugin")})}),p=t.ref(!1),u=t.ref(""),A=t.ref(!1),g=async()=>{var k,h,M,S,G;if(p.value=!0,u.value="",!(!((k=i.plugin)!=null&&k.name)||((h=i.config)==null?void 0:h.app)!=="konnect"))try{const E=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(M=i.plugin)==null?void 0:M.name}`;await l.delete(E),a("proceed")}catch(E){const{response:O}=E;(O==null?void 0:O.status)===400&&((G=(S=O.data)==null?void 0:S.message)!=null&&G.includes("plugin schema is currently in use"))?A.value=!0:u.value=s(E)}finally{p.value=!1}};return(k,h)=>{const M=t.resolveComponent("KButton"),S=t.resolveComponent("KModal");return!A.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(U.EntityDeleteModal),{key:0,"action-pending":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(o)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(U.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:d.value,visible:"",onCancel:h[0]||(h[0]=G=>k.$emit("closed")),onProceed:g},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(S,{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:h[2]||(h[2]=G=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(r),{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(M,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:h[1]||(h[1]=G=>k.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-4148beb9"]]),Hy={class:"custom-plugins-grid"},Fy={class:"empty-state-title"},zy={class:"empty-state-description"},Ky=Fe(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:r}}=he.useI18n(),{getTallestPluginCardHeight:o,getToggleVisibility:s}=he.usePluginHelpers(),l=t.ref(!0),d=f=>{a("plugin-clicked",f)},p=t.computed(()=>{if(i.config.app==="kongManager")return[];const f=JSON.parse(JSON.stringify(i.pluginList))[R.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:r("plugins.select.tabs.custom.create.name"),available:!0,group:R.CUSTOM_PLUGINS,description:r("plugins.select.tabs.custom.create.description")}].concat(f):f}),u=t.ref(!1),A=t.ref(null),g=f=>{u.value=!0,A.value={id:f.id,name:f.name}},C=f=>{var m;f&&(a("revalidate"),a("delete:success",((m=A.value)==null?void 0:m.name)||"")),u.value=!1,A.value=null},k=t.ref(310),h=t.ref(null),M=t.ref(null),S=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${k.value}px`}:{}),G=t.ref(!1),E=()=>{k.value=o(M.value),O()},O=()=>{var f,m;(f=M.value)!=null&&f.length&&(G.value=s(h.value,(m=M.value)==null?void 0:m.length))};return t.onMounted(async()=>{await t.nextTick(),k.value=o(M.value),O(),window==null||window.addEventListener("resize",E)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",E)}),(f,m)=>{const b=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",Hy,[p.value.length?(t.openBlock(),t.createBlock(B,{key:1,modelValue:l.value,"onUpdate:modelValue":m[0]||(m[0]=Y=>l.value=Y),class:"custom-plugins-collapse","data-testid":`${t.unref(R).CUSTOM_PLUGINS}-collapse`,title:t.unref(R).CUSTOM_PLUGINS,"trigger-label":l.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:h,class:"plugin-card-container",style:t.normalizeStyle(S.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(Y,T)=>(t.openBlock(),t.createBlock(si,{key:`plugin-card-${T}`,ref_for:!0,ref_key:"pluginCardRef",ref:M,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:Y,onCustomPluginDelete:N=>g(Y),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[G.value?void 0:{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(b,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Fy,t.toDisplayString(t.unref(r)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",zy,t.toDisplayString(t.unref(r)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&A.value?(t.openBlock(),t.createBlock(jy,{key:2,config:e.config,plugin:A.value,onClosed:C,onProceed:m[1]||(m[1]=Y=>C(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-c02d3850"]]),xo=Fe(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,r=n,{i18n:{t:o}}=he.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=he.usePluginHelpers(),d=t.ref(310),p=t.ref(null),u=t.ref(null),A=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),g=t.ref(!1),C=()=>{d.value=s(u.value),k()},k=()=>{var h,M;(h=u.value)!=null&&h.length&&(g.value=l(p.value,(M=u.value)==null?void 0:M.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=s(u.value),k(),window==null||window.addEventListener("resize",C)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",C)}),(h,M)=>{const S=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(S,{modelValue:i.value,"onUpdate:modelValue":M[0]||(M[0]=G=>i.value=G),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.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:p,class:"plugin-card-container",style:t.normalizeStyle(A.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,G=>(t.openBlock(),t.createBlock(si,{key:`plugin-card-${G.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:G,onPluginClicked:E=>r("plugin-clicked",G)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[g.value?void 0:{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-e463553b"]]),Xy={class:"plugin-select-grid"},qy={class:"empty-state-title"},Qy={class:"empty-state-description"},li=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:r}}=he.useI18n(),o=t.ref(!1),s=t.ref(Mi),l=p=>{a("plugin-clicked",p)},d=t.computed(()=>{const p=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete p[R.CUSTOM_PLUGINS],p});return(p,u)=>{const A=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",Xy,[Object.keys(d.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(A,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",qy,t.toDisplayString(t.unref(r)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Qy,t.toDisplayString(t.unref(r)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(xo,{key:1,modelValue:o.value,"onUpdate:modelValue":u[0]||(u[0]=g=>o.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(r)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:u[1]||(u[1]=g=>l(g))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Oi),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(xo,{modelValue:s.value[g],"onUpdate:modelValue":C=>s.value[g]=C,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:d.value[g]||[],onPluginClicked:u[2]||(u[2]=C=>l(C))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Jy={class:"kong-ui-entities-plugin-select-form"},Zy={class:"plugins-filter-input-container"},Wy={key:0},_y={key:3,"aria-live":"polite",class:"plugins-results-container"},$y={"data-testid":"kong-tab"},eb={class:"tab-description"},tb={"data-testid":"custom-tab"},nb={class:"tab-description"},ib=Fe(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},disableCustomPlugins:{type:Boolean,default:!1},hideCustomPlugins:{type:Boolean,default:!1},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 v,D;const i=e,a=n,r=Lt.useRoute(),o=Lt.useRouter(),{i18n:{t:s}}=he.useI18n(),{pluginMetaData:l}=he.usePluginMetaData(),{getMessageFromError:d}=U.useErrors(),{sortAlpha:p,objectsAreEqual:u}=U.useHelpers(),A=t.ref(""),g=t.ref(!0),C=t.ref(!1),k=t.ref(""),h=t.ref([]),M=t.ref({}),S=t.ref([]),{axiosInstance:G}=U.useAxios((v=i.config)==null?void 0:v.axiosRequestConfig),E=t.computed(()=>M.value?Object.entries(M.value).filter(([y])=>y!==R.CUSTOM_PLUGINS).reduce((y,[,V])=>{for(const K of V)y[K.id]=K;return y},{}):{}),O=t.computed(()=>{var K;if(!M.value)return{};const y=A.value.toLowerCase(),V=JSON.parse(JSON.stringify(M.value));for(const w in M.value){const J=((K=M.value[w])==null?void 0:K.filter(_=>_.name.toLowerCase().includes(y)||_.id.toLowerCase().includes(y)||_.group.toLowerCase().includes(y)))||[];J.length?V[w]=J:delete V[w]}return V}),f=t.computed(()=>i.highlightedPluginIds.reduce((y,V)=>{const K=E.value[V];return K&&y.push(K),y},[])),m=t.computed(()=>Object.keys(O.value).length>0),b=t.computed(()=>Object.keys(M.value).length>0&&!m.value),B=i.config.app==="konnect"?[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:i.disableCustomPlugins}]:[],Y=t.ref(B.length&&((r==null?void 0:r.hash)||((D=B[0])==null?void 0:D.hash))||""),T=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...h.value])].filter(y=>!i.ignoredPlugins.includes(y)).filter(y=>i.config.entityType&&(i.config.entityType==="services"&&l[y]&&!l[y].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[y]&&!l[y].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[y]&&!l[y].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[y]&&!l[y].scope.includes(c.CONSUMER))?!1:y).reduce((y,V)=>{var ae;const K=l[V]&&l[V].name||V,w={...l[V],id:V,name:K,available:h.value.includes(V),disabledMessage:"",group:((ae=l[V])==null?void 0:ae.group)||R.CUSTOM_PLUGINS};i.disabledPlugins&&(w.disabledMessage=i.disabledPlugins[V]);const J=w.group||s("plugins.select.misc_plugins");let _=y[J];return _||(_=[]),_.push(w),_.sort(p("name")),y[J]=_,y},{}),N=t.computed(()=>{var V;let y=`${i.config.apiBaseUrl}${Ce.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(y=((V=i.config.gatewayInfo)==null?void 0:V.edition)==="community"?`${i.config.apiBaseUrl}${Ce.select[i.config.app].availablePluginsForOss}`:y.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),y}),H=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let y=`${i.config.apiBaseUrl}${Ce.list[i.config.app].forEntity}`;return i.config.app==="konnect"?y=y.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(y=y.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),y.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),z=y=>{o.replace({hash:y,query:r.query})};t.watch(()=>i.disabledPlugins,(y,V)=>{!u(y,V)&&!g.value&&(M.value=T())}),t.watch(()=>i.ignoredPlugins,(y,V)=>{!u(y,V)&&!g.value&&(M.value=T())}),t.watch(g,y=>{a("loading",y)});const $=t.ref(!1),ie=t.ref(!1),F=t.ref(!1);return t.onBeforeMount(async()=>{$.value=await i.canCreateCustomPlugin(),ie.value=await i.canEditCustomPlugin(),F.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:y}=await G.get(N.value);if(i.config.app==="konnect"){const{names:V}=y;h.value=V||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:V}}=y;h.value=V?Object.keys(V):[]}}catch(y){C.value=!0,k.value=d(y)}if(H.value)try{const{data:{data:y}}=await G.get(H.value);if(y!=null&&y.length){const V=y.reduce((K,w)=>(w.name&&K.push(w.name),K),[]);S.value=S.value.concat(V)}}catch{}C.value||(M.value=T()),g.value=!1}),(y,V)=>{const K=t.resolveComponent("KInput"),w=t.resolveComponent("KSkeletonBox"),J=t.resolveComponent("KSkeleton"),_=t.resolveComponent("KEmptyState"),ae=t.resolveComponent("KTooltip"),Z=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Jy,[t.createElementVNode("div",Zy,[t.createVNode(K,{modelValue:A.value,"onUpdate:modelValue":V[0]||(V[0]=Ee=>A.value=Ee),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),g.value?(t.openBlock(),t.createElementBlock("section",Wy,[t.createVNode(w,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(J,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):C.value?(t.openBlock(),t.createBlock(_,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):b.value&&A.value?(t.openBlock(),t.createBlock(_,{key:2,"action-button-visible":!1,"data-testid":"plugins-empty-state","icon-variant":"search"},{default:t.withCtx(()=>[t.createElementVNode("h5",null,t.toDisplayString(t.unref(s)("search.no_results",{filter:A.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",_y,[t.unref(B).length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(Z,{key:0,modelValue:Y.value,"onUpdate:modelValue":V[5]||(V[5]=Ee=>Y.value=Ee),"data-testid":"plugins-tabs",tabs:t.unref(B),onChange:z},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",$y,[t.createElementVNode("p",eb,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(li,{config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":O.value,onPluginClicked:V[1]||(V[1]=Ee=>y.$emit("plugin-clicked",Ee))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",tb,[t.createElementVNode("p",nb,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Ky,{"can-create-custom-plugin":$.value,"can-delete-custom-plugin":F.value,"can-edit-custom-plugin":ie.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":O.value,"onDelete:success":V[2]||(V[2]=Ee=>y.$emit("delete-custom:success",Ee)),onPluginClicked:V[3]||(V[3]=Ee=>y.$emit("plugin-clicked",Ee)),onRevalidate:V[4]||(V[4]=()=>M.value=T())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list"])])]),_:2},[e.disableCustomPlugins?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ae,{"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(li,{key:1,config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":f.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":O.value,onPluginClicked:V[6]||(V[6]=Ee=>y.$emit("plugin-clicked",Ee))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-84cee263"]]),ab={class:"kong-ui-entity-plugin-config-card"},ob={class:"name-cell-wrapper"},rb={class:"info-name"},sb={key:0},lb={key:0},cb={key:0},db={key:0},ci="config",ub=Fe(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:""},enableTerraform:{type:Boolean,default:!1}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var G;const i=n,a=e,{i18n:{t:r}}=he.useI18n(),o=he.usePluginMetaData(),{setFieldType:s}=he.usePluginHelpers(),{getPropValue:l}=U.useHelpers(),d=t.computed(()=>{var E;return(E=Ce.item[a.config.app])==null?void 0:E[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),p=t.computed(()=>{var f,m;const E={},O=((f=h.value)==null?void 0:f.fields)||[];for(let b=0;b<O.length;b++){const B=h.value.fields[b],Y=(m=Object.keys(B))==null?void 0:m[0];s(E,Y,B[Y])}return{...E,instance_name:{section:U.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:r("plugins.fields.consumer"),section:U.ConfigurationSchemaSection.Basic,order:6},route:{label:r("plugins.fields.route"),section:U.ConfigurationSchemaSection.Basic,order:6},service:{label:r("plugins.fields.service"),section:U.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:r("plugins.fields.consumer_group"),section:U.ConfigurationSchemaSection.Basic,order:6},protocols:{type:U.ConfigurationSchemaType.BadgeTag,section:U.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var O,f,m;if(!((O=h.value)!=null&&O.fields))return[];const E=(f=h.value.fields)==null?void 0:f.find(b=>{var Y;return((Y=Object.keys(b))==null?void 0:Y[0])===ci});return((m=E==null?void 0:E[ci])==null?void 0:m.fields)||[]}),A=t.computed(()=>{var O,f;const E={};if(!u.value)return E;for(let m=0;m<((O=u.value)==null?void 0:O.length);m++){const b=u.value[m],B=(f=Object.keys(b))==null?void 0:f[0],Y=b[B];Y.required&&(E[B]={order:1}),s(E,B,Y)}return E}),{getMessageFromError:g}=U.useErrors(),{axiosInstance:C}=U.useAxios((G=a.config)==null?void 0:G.axiosRequestConfig),k=t.computed(()=>{var O,f;let E=`${a.config.apiBaseUrl}${Ce.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?E=E.replace(/{controlPlaneId}/gi,((O=a.config)==null?void 0:O.controlPlaneId)||""):a.config.app==="kongManager"&&(E=E.replace(/\/{workspace}/gi,(f=a.config)!=null&&f.workspace?`/${a.config.workspace}`:"")),E=E.replace(/{plugin}/gi,a.config.pluginType),E}),h=t.ref({}),M=t.ref(!1),S=t.ref("");return t.onBeforeMount(async()=>{M.value=!0;try{const{data:E}=await C.get(k.value);h.value=E}catch(E){S.value=g(E),i("error:fetch-schema",E)}finally{M.value=!1}}),(E,O)=>{const f=t.resolveComponent("KSkeleton"),m=t.resolveComponent("KEmptyState"),b=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",ab,[M.value?(t.openBlock(),t.createBlock(f,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):S.value?(t.openBlock(),t.createBlock(m,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(U.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"enable-terraform":e.enableTerraform,"entity-type":t.unref(U.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":ci,"plugin-config-schema":A.value,"onFetch:error":O[0]||(O[0]=B=>E.$emit("fetch:error",B)),"onFetch:success":O[1]||(O[1]=B=>E.$emit("fetch:success",B)),onLoading:O[2]||(O[2]=B=>E.$emit("loading",B))},{name:t.withCtx(B=>[t.createElementVNode("div",ob,[t.createVNode(In,{class:"plugin-icon",name:t.unref(l)("rowValue",B),width:24},null,8,["name"]),t.createElementVNode("span",rb,t.toDisplayString(t.unref(o).getDisplayName(t.unref(l)("rowValue",B))),1)])]),consumer:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",sb,"–"))]),route:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",lb,"–"))]),service:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",cb,"–"))]),consumer_group:t.withCtx(B=>[t.unref(l)("rowValue",B)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(U.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",B).id,value:t.unref(l)("rowValue",B).id,type:t.unref(U.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>E.$emit("navigation-click",t.unref(l)("rowValue",B).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(b,{key:2,"copy-tooltip":t.unref(r)("copy.tooltip",{label:t.unref(l)("row",B).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",B).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",db,"–"))]),_:1},8,["config","config-card-doc","config-schema","enable-terraform","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-ca338065"]]),{usePluginMetaData:pb}=he;ee.EntityTypeIdField=mt,ee.PLUGIN_GROUPS_COLLAPSE_STATUS=Mi,ee.PluginConfigCard=ub,ee.PluginForm=Ey,ee.PluginGroup=R,ee.PluginGroupArray=Oi,ee.PluginIcon=In,ee.PluginList=Sy,ee.PluginScope=c,ee.PluginSelect=ib,ee.PluginSelectCard=si,ee.PluginSelectGrid=li,ee.VueFormGenerator=xe,ee.getPluginIconURL=Ni,ee.pluginEndpoints=Ce,ee.usePluginMetaData=pb,Object.defineProperty(ee,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/entities-plugins",
|
|
3
|
-
"version": "8.12.
|
|
3
|
+
"version": "8.12.10",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/entities-plugins.umd.js",
|
|
6
6
|
"module": "./dist/entities-plugins.es.js",
|
|
@@ -30,8 +30,8 @@
|
|
|
30
30
|
"axios": "^1.6.8",
|
|
31
31
|
"vue": ">= 3.3.13 < 4",
|
|
32
32
|
"vue-router": "^4.3.3",
|
|
33
|
-
"@kong-ui-public/
|
|
34
|
-
"@kong-ui-public/
|
|
33
|
+
"@kong-ui-public/entities-shared": "^3.8.6",
|
|
34
|
+
"@kong-ui-public/i18n": "^2.2.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@kong/design-tokens": "1.17.2",
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
"axios": "^1.6.8",
|
|
41
41
|
"vue": "^3.4.38",
|
|
42
42
|
"vue-router": "^4.4.3",
|
|
43
|
-
"@kong-ui-public/entities-shared": "^3.8.
|
|
44
|
-
"@kong-ui-public/
|
|
45
|
-
"@kong-ui-public/
|
|
43
|
+
"@kong-ui-public/entities-shared": "^3.8.6",
|
|
44
|
+
"@kong-ui-public/i18n": "^2.2.2",
|
|
45
|
+
"@kong-ui-public/entities-vaults": "^3.13.1"
|
|
46
46
|
},
|
|
47
47
|
"repository": {
|
|
48
48
|
"type": "git",
|
|
@@ -59,12 +59,12 @@
|
|
|
59
59
|
"errorLimit": "2.5MB"
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
-
"marked": "^14.1.
|
|
63
|
-
"@kong-ui-public/entities-consumer-groups": "^3.5.
|
|
64
|
-
"@kong-ui-public/entities-gateway-services": "^3.7.
|
|
65
|
-
"@kong-ui-public/entities-
|
|
66
|
-
"@kong-ui-public/entities-
|
|
67
|
-
"@kong-ui-public/forms": "^4.5.
|
|
62
|
+
"marked": "^14.1.1",
|
|
63
|
+
"@kong-ui-public/entities-consumer-groups": "^3.5.8",
|
|
64
|
+
"@kong-ui-public/entities-gateway-services": "^3.7.8",
|
|
65
|
+
"@kong-ui-public/entities-consumers": "^3.5.8",
|
|
66
|
+
"@kong-ui-public/entities-routes": "^3.7.11",
|
|
67
|
+
"@kong-ui-public/forms": "^4.5.4"
|
|
68
68
|
},
|
|
69
69
|
"scripts": {
|
|
70
70
|
"dev": "cross-env USE_SANDBOX=true vite",
|