@kong-ui-public/entities-plugins 9.4.1 → 9.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities-plugins.es.js +267 -267
- package/dist/entities-plugins.umd.js +1 -1
- package/package.json +4 -4
|
@@ -63,6 +63,6 @@ Please report this to https://github.com/markedjs/marked.`,n){const o="<p>An err
|
|
|
63
63
|
will be generated for you.`,inputType:"text",encrypted:!0}},{client_secret:{submitWhenNull:!1,hint:`You can optionally set your own unique client_secret. If missing,
|
|
64
64
|
it will be generated for you.`,inputType:"password",encrypted:!0}},{redirect_uris:Tt.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
65
65
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})},{tags:Tt.tags}]},vl={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"]}}]},Gi={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
66
|
-
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:ft}]},Ml={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."}}]},Ke={"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]},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",scope:[c.GLOBAL,c.SERVICE]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]}},St={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:xi,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:mt(xi),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Vi,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:mt(Vi)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ni,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:mt(Ni)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Gi,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:mt(Gi)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Pi,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:mt(Pi)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Di,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:mt(Di)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Il,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Rl={acls:wl,basicauth_credentials:Cl,keyauth_credentials:Bl,keyauth_enc_credentials:Ml,oauth2_credentials:vl,hmacauth_credentials:kl,jwt_secrets:Ol},Ui=e=>{var a;const n=((a=Ke[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":xr,"../assets/images/plugin-icons/acme.png":Vr,"../assets/images/plugin-icons/ai-azure-content-safety.png":Nr,"../assets/images/plugin-icons/ai-data-sanitization.png":Dr,"../assets/images/plugin-icons/ai-prompt-decorator.png":Pr,"../assets/images/plugin-icons/ai-prompt-guard.png":Gr,"../assets/images/plugin-icons/ai-prompt-template.png":Ur,"../assets/images/plugin-icons/ai-proxy-advanced.png":Lr,"../assets/images/plugin-icons/ai-proxy.png":jr,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":Yr,"../assets/images/plugin-icons/ai-request-transformer.png":Hr,"../assets/images/plugin-icons/ai-response-transformer.png":Fr,"../assets/images/plugin-icons/ai-semantic-cache.png":Kr,"../assets/images/plugin-icons/ai-semantic-prompt-guard.png":zr,"../assets/images/plugin-icons/app-dynamics.png":qr,"../assets/images/plugin-icons/application-registration.png":Jr,"../assets/images/plugin-icons/aws-lambda.png":Xr,"../assets/images/plugin-icons/azure-functions.png":Qr,"../assets/images/plugin-icons/basic-auth.png":Zr,"../assets/images/plugin-icons/bot-detection.png":Wr,"../assets/images/plugin-icons/canary.png":_r,"../assets/images/plugin-icons/collector.png":$r,"../assets/images/plugin-icons/confluent.png":es,"../assets/images/plugin-icons/correlation-id.png":ts,"../assets/images/plugin-icons/cors.png":ns,"../assets/images/plugin-icons/datadog.png":is,"../assets/images/plugin-icons/degraphql.png":as,"../assets/images/plugin-icons/dynamic-ssl.png":os,"../assets/images/plugin-icons/exit-transformer.png":rs,"../assets/images/plugin-icons/file-log.png":ss,"../assets/images/plugin-icons/forward-proxy.png":ls,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":cs,"../assets/images/plugin-icons/graphql.png":ds,"../assets/images/plugin-icons/grpc-gateway.png":us,"../assets/images/plugin-icons/grpc-web.png":ps,"../assets/images/plugin-icons/hmac-auth.png":As,"../assets/images/plugin-icons/http-log.png":gs,"../assets/images/plugin-icons/injection-protection.png":ms,"../assets/images/plugin-icons/ip-restriction.png":fs,"../assets/images/plugin-icons/jq.png":hs,"../assets/images/plugin-icons/json-threat-protection.png":ys,"../assets/images/plugin-icons/jwe-decrypt.png":bs,"../assets/images/plugin-icons/jwt-signer.png":Es,"../assets/images/plugin-icons/jwt.png":ws,"../assets/images/plugin-icons/kafka-log.png":Cs,"../assets/images/plugin-icons/kafka-upstream.png":Bs,"../assets/images/plugin-icons/key-auth-enc.png":ks,"../assets/images/plugin-icons/key-auth.png":Is,"../assets/images/plugin-icons/kong-function.png":Os,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":vs,"../assets/images/plugin-icons/ldap-auth-advanced.png":Ms,"../assets/images/plugin-icons/ldap-auth.png":Rs,"../assets/images/plugin-icons/loggly.png":Ts,"../assets/images/plugin-icons/missing.png":Ss,"../assets/images/plugin-icons/mocking.png":xs,"../assets/images/plugin-icons/mtls-auth.png":Vs,"../assets/images/plugin-icons/new.png":Ns,"../assets/images/plugin-icons/oas-validation.png":Ds,"../assets/images/plugin-icons/oauth2-introspection.png":Ps,"../assets/images/plugin-icons/oauth2.png":Gs,"../assets/images/plugin-icons/opa.png":Us,"../assets/images/plugin-icons/openid-connect.png":Ls,"../assets/images/plugin-icons/opentelemetry.png":js,"../assets/images/plugin-icons/openwhisk.png":Ys,"../assets/images/plugin-icons/prometheus.png":Hs,"../assets/images/plugin-icons/proxy-cache.png":Fs,"../assets/images/plugin-icons/rate-limiting-advanced.png":Ks,"../assets/images/plugin-icons/rate-limiting.png":zs,"../assets/images/plugin-icons/request-size-limiting.png":qs,"../assets/images/plugin-icons/request-termination.png":Js,"../assets/images/plugin-icons/request-transformer-advanced.png":Xs,"../assets/images/plugin-icons/request-transformer.png":Qs,"../assets/images/plugin-icons/request-validator.png":Zs,"../assets/images/plugin-icons/response-ratelimiting.png":Ws,"../assets/images/plugin-icons/response-transformer-advanced.png":_s,"../assets/images/plugin-icons/response-transformer.png":$s,"../assets/images/plugin-icons/route-by-header.png":el,"../assets/images/plugin-icons/route-transformer-advanced.png":tl,"../assets/images/plugin-icons/runscope.png":nl,"../assets/images/plugin-icons/saml.png":il,"../assets/images/plugin-icons/service-protection.png":al,"../assets/images/plugin-icons/session.png":ol,"../assets/images/plugin-icons/standard-webhooks.png":rl,"../assets/images/plugin-icons/statsd-advanced.png":sl,"../assets/images/plugin-icons/statsd.png":ll,"../assets/images/plugin-icons/syslog.png":cl,"../assets/images/plugin-icons/tcp-log.png":dl,"../assets/images/plugin-icons/tls-handshake-modifier.png":ul,"../assets/images/plugin-icons/tls-metadata-headers.png":pl,"../assets/images/plugin-icons/udp-log.png":Al,"../assets/images/plugin-icons/upstream-timeout.png":gl,"../assets/images/plugin-icons/upstream-tls.png":ml,"../assets/images/plugin-icons/vault-auth.png":fl,"../assets/images/plugin-icons/websocket-size-limit.png":hl,"../assets/images/plugin-icons/websocket-validator.png":yl,"../assets/images/plugin-icons/xml-threat-protection.png":bl,"../assets/images/plugin-icons/zipkin.png":El})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Je&&Je.tagName.toUpperCase()==="SCRIPT"&&Je.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:Je&&Je.tagName.toUpperCase()==="SCRIPT"&&Je.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},Tl=()=>{const{i18n:{t:e}}=cn(),n={},i={};for(const[o,r]of Object.entries(Ke))n[o]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[o,r]of Object.entries(St))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:St,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function Li(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function Sl(e){return function(n,i,a){for(var o=-1,r=Object(n),s=a(n),l=s.length;l--;){var d=s[++o];if(i(r[d],d,r)===!1)break}return n}}var xl=Sl();function Vl(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var ji=typeof global=="object"&&global&&global.Object===Object&&global,Nl=typeof self=="object"&&self&&self.Object===Object&&self,Ge=ji||Nl||Function("return this")(),et=Ge.Symbol,Yi=Object.prototype,Dl=Yi.hasOwnProperty,Pl=Yi.toString,Kt=et?et.toStringTag:void 0;function Gl(e){var n=Dl.call(e,Kt),i=e[Kt];try{e[Kt]=void 0;var a=!0}catch{}var o=Pl.call(e);return a&&(n?e[Kt]=i:delete e[Kt]),o}var Ul=Object.prototype,Ll=Ul.toString;function jl(e){return Ll.call(e)}var Yl="[object Null]",Hl="[object Undefined]",Hi=et?et.toStringTag:void 0;function tt(e){return e==null?e===void 0?Hl:Yl:Hi&&Hi in Object(e)?Gl(e):jl(e)}function nt(e){return e!=null&&typeof e=="object"}var Fl="[object Arguments]";function Fi(e){return nt(e)&&tt(e)==Fl}var Ki=Object.prototype,Kl=Ki.hasOwnProperty,zl=Ki.propertyIsEnumerable,ql=Fi(function(){return arguments}())?Fi:function(e){return nt(e)&&Kl.call(e,"callee")&&!zl.call(e,"callee")},it=Array.isArray;function Jl(){return!1}var zi=typeof W=="object"&&W&&!W.nodeType&&W,qi=zi&&typeof module=="object"&&module&&!module.nodeType&&module,Xl=qi&&qi.exports===zi,Ji=Xl?Ge.Buffer:void 0,Ql=Ji?Ji.isBuffer:void 0,Xi=Ql||Jl,Zl=9007199254740991,Wl=/^(?:0|[1-9]\d*)$/;function Qi(e,n){var i=typeof e;return n=n??Zl,!!n&&(i=="number"||i!="symbol"&&Wl.test(e))&&e>-1&&e%1==0&&e<n}var _l=9007199254740991;function Zi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_l}var $l="[object Arguments]",ec="[object Array]",tc="[object Boolean]",nc="[object Date]",ic="[object Error]",ac="[object Function]",oc="[object Map]",rc="[object Number]",sc="[object Object]",lc="[object RegExp]",cc="[object Set]",dc="[object String]",uc="[object WeakMap]",pc="[object ArrayBuffer]",Ac="[object DataView]",gc="[object Float32Array]",mc="[object Float64Array]",fc="[object Int8Array]",hc="[object Int16Array]",yc="[object Int32Array]",bc="[object Uint8Array]",Ec="[object Uint8ClampedArray]",wc="[object Uint16Array]",Cc="[object Uint32Array]",Ae={};Ae[gc]=Ae[mc]=Ae[fc]=Ae[hc]=Ae[yc]=Ae[bc]=Ae[Ec]=Ae[wc]=Ae[Cc]=!0,Ae[$l]=Ae[ec]=Ae[pc]=Ae[tc]=Ae[Ac]=Ae[nc]=Ae[ic]=Ae[ac]=Ae[oc]=Ae[rc]=Ae[sc]=Ae[lc]=Ae[cc]=Ae[dc]=Ae[uc]=!1;function Bc(e){return nt(e)&&Zi(e.length)&&!!Ae[tt(e)]}function Dn(e){return function(n){return e(n)}}var Wi=typeof W=="object"&&W&&!W.nodeType&&W,zt=Wi&&typeof module=="object"&&module&&!module.nodeType&&module,kc=zt&&zt.exports===Wi,Pn=kc&&ji.process,xt=function(){try{var e=zt&&zt.require&&zt.require("util").types;return e||Pn&&Pn.binding&&Pn.binding("util")}catch{}}(),_i=xt&&xt.isTypedArray,Ic=_i?Dn(_i):Bc,Oc=Object.prototype,vc=Oc.hasOwnProperty;function $i(e,n){var i=it(e),a=!i&&ql(e),o=!i&&!a&&Xi(e),r=!i&&!a&&!o&&Ic(e),s=i||a||o||r,l=s?Vl(e.length,String):[],d=l.length;for(var p in e)(n||vc.call(e,p))&&!(s&&(p=="length"||o&&(p=="offset"||p=="parent")||r&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||Qi(p,d)))&&l.push(p);return l}var Mc=Object.prototype;function Gn(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||Mc;return e===i}function ea(e,n){return function(i){return e(n(i))}}var Rc=ea(Object.keys,Object),Tc=Object.prototype,Sc=Tc.hasOwnProperty;function xc(e){if(!Gn(e))return Rc(e);var n=[];for(var i in Object(e))Sc.call(e,i)&&i!="constructor"&&n.push(i);return n}function Ve(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Vc="[object AsyncFunction]",Nc="[object Function]",Dc="[object GeneratorFunction]",Pc="[object Proxy]";function ge(e){if(!Ve(e))return!1;var n=tt(e);return n==Nc||n==Dc||n==Vc||n==Pc}function dn(e){return e!=null&&Zi(e.length)&&!ge(e)}function un(e){return dn(e)?$i(e):xc(e)}function Gc(e,n){return e&&xl(e,n,un)}function Uc(e,n){return function(i,a){if(i==null)return i;if(!dn(i))return e(i,a);for(var o=i.length,r=-1,s=Object(i);++r<o&&a(s[r],r,s)!==!1;);return i}}var Lc=Uc(Gc);function Un(e){return e}function jc(e){return typeof e=="function"?e:Un}function ve(e,n){var i=it(e)?Li:Lc;return i(e,jc(n))}var Yc="[object Symbol]";function pn(e){return typeof e=="symbol"||nt(e)&&tt(e)==Yc}var Hc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fc=/^\w*$/;function Kc(e,n){if(it(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||pn(e)?!0:Fc.test(e)||!Hc.test(e)||n!=null&&e in Object(n)}var Ln=Ge["__core-js_shared__"],ta=function(){var e=/[^.]+$/.exec(Ln&&Ln.keys&&Ln.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zc(e){return!!ta&&ta in e}var qc=Function.prototype,Jc=qc.toString;function ht(e){if(e!=null){try{return Jc.call(e)}catch{}try{return e+""}catch{}}return""}var Xc=/[\\^$.*+?()[\]{}|]/g,Qc=/^\[object .+?Constructor\]$/,Zc=Function.prototype,Wc=Object.prototype,_c=Zc.toString,$c=Wc.hasOwnProperty,ed=RegExp("^"+_c.call($c).replace(Xc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function td(e){if(!Ve(e)||zc(e))return!1;var n=ge(e)?ed:Qc;return n.test(ht(e))}function nd(e,n){return e==null?void 0:e[n]}function yt(e,n){var i=nd(e,n);return td(i)?i:void 0}var qt=yt(Object,"create");function id(){this.__data__=qt?qt(null):{},this.size=0}function ad(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var od="__lodash_hash_undefined__",rd=Object.prototype,sd=rd.hasOwnProperty;function ld(e){var n=this.__data__;if(qt){var i=n[e];return i===od?void 0:i}return sd.call(n,e)?n[e]:void 0}var cd=Object.prototype,dd=cd.hasOwnProperty;function ud(e){var n=this.__data__;return qt?n[e]!==void 0:dd.call(n,e)}var pd="__lodash_hash_undefined__";function Ad(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=qt&&n===void 0?pd: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=id,bt.prototype.delete=ad,bt.prototype.get=ld,bt.prototype.has=ud,bt.prototype.set=Ad;function gd(){this.__data__=[],this.size=0}function An(e,n){return e===n||e!==e&&n!==n}function gn(e,n){for(var i=e.length;i--;)if(An(e[i][0],n))return i;return-1}var md=Array.prototype,fd=md.splice;function hd(e){var n=this.__data__,i=gn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():fd.call(n,i,1),--this.size,!0}function yd(e){var n=this.__data__,i=gn(n,e);return i<0?void 0:n[i][1]}function bd(e){return gn(this.__data__,e)>-1}function Ed(e,n){var i=this.__data__,a=gn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function Xe(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])}}Xe.prototype.clear=gd,Xe.prototype.delete=hd,Xe.prototype.get=yd,Xe.prototype.has=bd,Xe.prototype.set=Ed;var Jt=yt(Ge,"Map");function wd(){this.size=0,this.__data__={hash:new bt,map:new(Jt||Xe),string:new bt}}function Cd(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function mn(e,n){var i=e.__data__;return Cd(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Bd(e){var n=mn(this,e).delete(e);return this.size-=n?1:0,n}function kd(e){return mn(this,e).get(e)}function Id(e){return mn(this,e).has(e)}function Od(e,n){var i=mn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function Qe(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])}}Qe.prototype.clear=wd,Qe.prototype.delete=Bd,Qe.prototype.get=kd,Qe.prototype.has=Id,Qe.prototype.set=Od;var vd="Expected a function";function jn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(vd);var i=function(){var a=arguments,o=n?n.apply(this,a):a[0],r=i.cache;if(r.has(o))return r.get(o);var s=e.apply(this,a);return i.cache=r.set(o,s)||r,s};return i.cache=new(jn.Cache||Qe),i}jn.Cache=Qe;var Md=500;function Rd(e){var n=jn(e,function(a){return i.size===Md&&i.clear(),a}),i=n.cache;return n}var Td=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sd=/\\(\\)?/g,xd=Rd(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Td,function(i,a,o,r){n.push(o?r.replace(Sd,"$1"):a||i)}),n});function Vd(e,n){for(var i=-1,a=e==null?0:e.length,o=Array(a);++i<a;)o[i]=n(e[i],i,e);return o}var Nd=1/0,na=et?et.prototype:void 0,ia=na?na.toString:void 0;function aa(e){if(typeof e=="string")return e;if(it(e))return Vd(e,aa)+"";if(pn(e))return ia?ia.call(e):"";var n=e+"";return n=="0"&&1/e==-Nd?"-0":n}function oa(e){return e==null?"":aa(e)}function Dd(e,n){return it(e)?e:Kc(e,n)?[e]:xd(oa(e))}var Pd=1/0;function Gd(e){if(typeof e=="string"||pn(e))return e;var n=e+"";return n=="0"&&1/e==-Pd?"-0":n}function Ud(e,n){n=Dd(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[Gd(n[i++])];return i&&i==a?e:void 0}function le(e,n,i){var a=e==null?void 0:Ud(e,n);return a===void 0?i:a}function Ce(e){return e==null}const at="kong-ui-forms-api",ot="autofill",Ue="autofillSlot";function Ld(){this.__data__=new Xe,this.size=0}function jd(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function Yd(e){return this.__data__.get(e)}function Hd(e){return this.__data__.has(e)}var Fd=200;function Kd(e,n){var i=this.__data__;if(i instanceof Xe){var a=i.__data__;if(!Jt||a.length<Fd-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new Qe(a)}return i.set(e,n),this.size=i.size,this}function Vt(e){var n=this.__data__=new Xe(e);this.size=n.size}Vt.prototype.clear=Ld,Vt.prototype.delete=jd,Vt.prototype.get=Yd,Vt.prototype.has=Hd,Vt.prototype.set=Kd;var fn=function(){try{var e=yt(Object,"defineProperty");return e({},"",{}),e}catch{}}();function ra(e,n,i){n=="__proto__"&&fn?fn(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var zd=Object.prototype,qd=zd.hasOwnProperty;function sa(e,n,i){var a=e[n];(!(qd.call(e,n)&&An(a,i))||i===void 0&&!(n in e))&&ra(e,n,i)}function hn(e,n,i,a){var o=!i;i||(i={});for(var r=-1,s=n.length;++r<s;){var l=n[r],d=void 0;d===void 0&&(d=e[l]),o?ra(i,l,d):sa(i,l,d)}return i}function Jd(e,n){return e&&hn(n,un(n),e)}function Xd(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var Qd=Object.prototype,Zd=Qd.hasOwnProperty;function Wd(e){if(!Ve(e))return Xd(e);var n=Gn(e),i=[];for(var a in e)a=="constructor"&&(n||!Zd.call(e,a))||i.push(a);return i}function yn(e){return dn(e)?$i(e,!0):Wd(e)}function _d(e,n){return e&&hn(n,yn(n),e)}var la=typeof W=="object"&&W&&!W.nodeType&&W,ca=la&&typeof module=="object"&&module&&!module.nodeType&&module,$d=ca&&ca.exports===la,da=$d?Ge.Buffer:void 0,ua=da?da.allocUnsafe:void 0;function eu(e,n){if(n)return e.slice();var i=e.length,a=ua?ua(i):new e.constructor(i);return e.copy(a),a}function tu(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function nu(e,n){for(var i=-1,a=e==null?0:e.length,o=0,r=[];++i<a;){var s=e[i];n(s,i,e)&&(r[o++]=s)}return r}function pa(){return[]}var iu=Object.prototype,au=iu.propertyIsEnumerable,Aa=Object.getOwnPropertySymbols,Yn=Aa?function(e){return e==null?[]:(e=Object(e),nu(Aa(e),function(n){return au.call(e,n)}))}:pa;function ou(e,n){return hn(e,Yn(e),n)}function ga(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var ma=ea(Object.getPrototypeOf,Object),ru=Object.getOwnPropertySymbols,fa=ru?function(e){for(var n=[];e;)ga(n,Yn(e)),e=ma(e);return n}:pa;function su(e,n){return hn(e,fa(e),n)}function ha(e,n,i){var a=n(e);return it(e)?a:ga(a,i(e))}function lu(e){return ha(e,un,Yn)}function cu(e){return ha(e,yn,fa)}var Hn=yt(Ge,"DataView"),Fn=yt(Ge,"Promise"),Nt=yt(Ge,"Set"),Kn=yt(Ge,"WeakMap"),ya="[object Map]",du="[object Object]",ba="[object Promise]",Ea="[object Set]",wa="[object WeakMap]",Ca="[object DataView]",uu=ht(Hn),pu=ht(Jt),Au=ht(Fn),gu=ht(Nt),mu=ht(Kn),Ze=tt;(Hn&&Ze(new Hn(new ArrayBuffer(1)))!=Ca||Jt&&Ze(new Jt)!=ya||Fn&&Ze(Fn.resolve())!=ba||Nt&&Ze(new Nt)!=Ea||Kn&&Ze(new Kn)!=wa)&&(Ze=function(e){var n=tt(e),i=n==du?e.constructor:void 0,a=i?ht(i):"";if(a)switch(a){case uu:return Ca;case pu:return ya;case Au:return ba;case gu:return Ea;case mu:return wa}return n});var fu=Object.prototype,hu=fu.hasOwnProperty;function yu(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&hu.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var Ba=Ge.Uint8Array;function zn(e){var n=new e.constructor(e.byteLength);return new Ba(n).set(new Ba(e)),n}function bu(e,n){var i=n?zn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var Eu=/\w*$/;function wu(e){var n=new e.constructor(e.source,Eu.exec(e));return n.lastIndex=e.lastIndex,n}var ka=et?et.prototype:void 0,Ia=ka?ka.valueOf:void 0;function Cu(e){return Ia?Object(Ia.call(e)):{}}function Bu(e,n){var i=n?zn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var ku="[object Boolean]",Iu="[object Date]",Ou="[object Map]",vu="[object Number]",Mu="[object RegExp]",Ru="[object Set]",Tu="[object String]",Su="[object Symbol]",xu="[object ArrayBuffer]",Vu="[object DataView]",Nu="[object Float32Array]",Du="[object Float64Array]",Pu="[object Int8Array]",Gu="[object Int16Array]",Uu="[object Int32Array]",Lu="[object Uint8Array]",ju="[object Uint8ClampedArray]",Yu="[object Uint16Array]",Hu="[object Uint32Array]";function Fu(e,n,i){var a=e.constructor;switch(n){case xu:return zn(e);case ku:case Iu:return new a(+e);case Vu:return bu(e,i);case Nu:case Du:case Pu:case Gu:case Uu:case Lu:case ju:case Yu:case Hu:return Bu(e,i);case Ou:return new a;case vu:case Tu:return new a(e);case Mu:return wu(e);case Ru:return new a;case Su:return Cu(e)}}var Oa=Object.create,Ku=function(){function e(){}return function(n){if(!Ve(n))return{};if(Oa)return Oa(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function zu(e){return typeof e.constructor=="function"&&!Gn(e)?Ku(ma(e)):{}}var qu="[object Map]";function Ju(e){return nt(e)&&Ze(e)==qu}var va=xt&&xt.isMap,Xu=va?Dn(va):Ju,Qu="[object Set]";function Zu(e){return nt(e)&&Ze(e)==Qu}var Ma=xt&&xt.isSet,Wu=Ma?Dn(Ma):Zu,_u=1,$u=2,ep=4,Ra="[object Arguments]",tp="[object Array]",np="[object Boolean]",ip="[object Date]",ap="[object Error]",Ta="[object Function]",op="[object GeneratorFunction]",rp="[object Map]",sp="[object Number]",Sa="[object Object]",lp="[object RegExp]",cp="[object Set]",dp="[object String]",up="[object Symbol]",pp="[object WeakMap]",Ap="[object ArrayBuffer]",gp="[object DataView]",mp="[object Float32Array]",fp="[object Float64Array]",hp="[object Int8Array]",yp="[object Int16Array]",bp="[object Int32Array]",Ep="[object Uint8Array]",wp="[object Uint8ClampedArray]",Cp="[object Uint16Array]",Bp="[object Uint32Array]",pe={};pe[Ra]=pe[tp]=pe[Ap]=pe[gp]=pe[np]=pe[ip]=pe[mp]=pe[fp]=pe[hp]=pe[yp]=pe[bp]=pe[rp]=pe[sp]=pe[Sa]=pe[lp]=pe[cp]=pe[dp]=pe[up]=pe[Ep]=pe[wp]=pe[Cp]=pe[Bp]=!0,pe[ap]=pe[Ta]=pe[pp]=!1;function Xt(e,n,i,a,o,r){var s,l=n&_u,d=n&$u,p=n&ep;if(s!==void 0)return s;if(!Ve(e))return e;var u=it(e);if(u){if(s=yu(e),!l)return tu(e,s)}else{var A=Ze(e),g=A==Ta||A==op;if(Xi(e))return eu(e,l);if(A==Sa||A==Ra||g&&!o){if(s=d||g?{}:zu(e),!l)return d?su(e,_d(s,e)):ou(e,Jd(s,e))}else{if(!pe[A])return o?e:{};s=Fu(e,A,l)}}r||(r=new Vt);var I=r.get(e);if(I)return I;r.set(e,s),Wu(e)?e.forEach(function(v){s.add(Xt(v,n,i,v,e,r))}):Xu(e)&&e.forEach(function(v,T){s.set(T,Xt(v,n,i,T,e,r))});var S=p?d?cu:lu:d?yn:un,y=u?void 0:S(e);return Li(y||e,function(v,T){y&&(T=v,v=e[T]),sa(s,T,Xt(v,n,i,T,e,r))}),s}var kp=1,Ip=4;function We(e){return Xt(e,kp|Ip)}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,""),xa=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var Op="[object String]";function Et(e){return typeof e=="string"||!it(e)&&nt(e)&&tt(e)==Op}const Va={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[le(this.options,"validationErrorClass","error")]:n,[le(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?ve(e.styleClasses,a=>i[a]=!0):Et(e.styleClasses)&&(i[e.styleClasses]=!0),Ce(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 ge(e.disabled)?e.disabled.call(this,this.model,e,this):Ce(e.disabled)?!1:e.disabled},fieldReadonly(e){return ge(e.readonly)?e.readonly.call(this,this.model,e,this):Ce(e.readonly)?!1:e.readonly},fieldFeatured(e){return ge(e.featured)?e.featured.call(this,this.model,e,this):Ce(e.featured)?!1:e.featured},fieldRequired(e){return ge(e.required)?e.required.call(this,this.model,e,this):Ce(e.required)?!1:e.required}}};var Jn=function(){return Ge.Date.now()},vp=/\s/;function Mp(e){for(var n=e.length;n--&&vp.test(e.charAt(n)););return n}var Rp=/^\s+/;function Tp(e){return e&&e.slice(0,Mp(e)+1).replace(Rp,"")}var Na=NaN,Sp=/^[-+]0x[0-9a-f]+$/i,xp=/^0b[01]+$/i,Vp=/^0o[0-7]+$/i,Np=parseInt;function Xn(e){if(typeof e=="number")return e;if(pn(e))return Na;if(Ve(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ve(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Tp(e);var i=xp.test(e);return i||Vp.test(e)?Np(e.slice(2),i?2:8):Sp.test(e)?Na:+e}var Dp="Expected a function",Pp=Math.max,Gp=Math.min;function Qt(e,n,i){var a,o,r,s,l,d,p=0,u=!1,A=!1,g=!0;if(typeof e!="function")throw new TypeError(Dp);n=Xn(n)||0,Ve(i)&&(u=!!i.leading,A="maxWait"in i,r=A?Pp(Xn(i.maxWait)||0,n):r,g="trailing"in i?!!i.trailing:g);function I(f){var k=a,O=o;return a=o=void 0,p=f,s=e.apply(O,k),s}function S(f){return p=f,l=setTimeout(T,n),u?I(f):s}function y(f){var k=f-d,O=f-p,H=n-k;return A?Gp(H,r-O):H}function v(f){var k=f-d,O=f-p;return d===void 0||k>=n||k<0||A&&O>=r}function T(){var f=Jn();if(v(f))return P(f);l=setTimeout(T,y(f))}function P(f){return l=void 0,g&&a?I(f):(a=o=void 0,s)}function w(){l!==void 0&&clearTimeout(l),p=0,a=d=o=l=void 0}function m(){return l===void 0?s:P(Jn())}function B(){var f=Jn(),k=v(f);if(a=arguments,o=this,d=f,k){if(l===void 0)return S(d);if(A)return clearTimeout(l),l=setTimeout(T,n),I(d)}return l===void 0&&(l=setTimeout(T,n)),s}return B.cancel=w,B.flush=m,B}var Up="__lodash_hash_undefined__";function Lp(e){return this.__data__.set(e,Up),this}function jp(e){return this.__data__.has(e)}function bn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new Qe;++n<i;)this.add(e[n])}bn.prototype.add=bn.prototype.push=Lp,bn.prototype.has=jp;function Yp(e,n,i,a){for(var o=e.length,r=i+-1;++r<o;)if(n(e[r],r,e))return r;return-1}function Hp(e){return e!==e}function Fp(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function Kp(e,n,i){return n===n?Fp(e,n,i):Yp(e,Hp,i)}function zp(e,n){var i=e==null?0:e.length;return!!i&&Kp(e,n,0)>-1}function qp(e,n){return e.has(n)}function Jp(){}function Da(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var Xp=1/0,Qp=Nt&&1/Da(new Nt([,-0]))[1]==Xp?function(e){return new Nt(e)}:Jp,Zp=200;function Wp(e,n,i){var a=-1,o=zp,r=e.length,s=!0,l=[],d=l;if(r>=Zp){var p=Qp(e);if(p)return Da(p);s=!1,o=qp,d=new bn}else d=l;e:for(;++a<r;){var u=e[a],A=u;if(u=u!==0?u:0,s&&A===A){for(var g=d.length;g--;)if(d[g]===A)continue e;l.push(u)}else o(d,A,i)||(d!==l&&d.push(A),l.push(u))}return l}function Pa(e){return e&&e.length?Wp(e):[]}var _p=0;function Ga(e){var n=++_p;return oa(e)+n}function $p(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 Ua=Math.max;function eA(e,n,i){return n=Ua(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=Ua(a.length-n,0),s=Array(r);++o<r;)s[o]=a[n+o];o=-1;for(var l=Array(n+1);++o<n;)l[o]=a[o];return l[n]=i(s),$p(e,this,l)}}function tA(e){return function(){return e}}var nA=fn?function(e,n){return fn(e,"toString",{configurable:!0,enumerable:!1,value:tA(n),writable:!0})}:Un,iA=800,aA=16,oA=Date.now;function rA(e){var n=0,i=0;return function(){var a=oA(),o=aA-(a-i);if(i=a,o>0){if(++n>=iA)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var sA=rA(nA);function lA(e,n){return sA(eA(e,n,Un),e+"")}function cA(e,n,i){if(!Ve(i))return!1;var a=typeof n;return(a=="number"?dn(i)&&Qi(n,i.length):a=="string"&&n in i)?An(i[n],e):!1}var La=Object.prototype,dA=La.hasOwnProperty,uA=lA(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&cA(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=yn(r),l=-1,d=s.length;++l<d;){var p=s[l],u=e[p];(u===void 0||An(u,La[p])&&!dA.call(e,p))&&(e[p]=r[p])}return e}),pA=Ge.isFinite;function AA(e){return typeof e=="number"&&pA(e)}var ja=1/0,gA=17976931348623157e292;function mA(e){if(!e)return e===0?e:0;if(e=Xn(e),e===ja||e===-ja){var n=e<0?-1:1;return n*gA}return e===e?e:0}function fA(e){var n=mA(e),i=n%1;return n===n?i?n-i:n:0}function hA(e){return typeof e=="number"&&e==fA(e)}var yA="[object Number]";function Qn(e){return typeof e=="number"||nt(e)&&tt(e)==yA}var Ya=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,rt="\\d\\d?",st="\\d\\d",bA="\\d{3}",EA="\\d{4}",Zt="[^\\s]+",Ha=/\[([^]*?)\]/gm;function Fa(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var Ka=function(e){return function(n,i){var a=i[e].map(function(r){return r.toLowerCase()}),o=a.indexOf(n.toLowerCase());return o>-1?o:null}};function wt(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var a=0,o=n;a<o.length;a++){var r=o[a];for(var s in r)e[s]=r[s]}return e}var za=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],qa=["January","February","March","April","May","June","July","August","September","October","November","December"],wA=Fa(qa,3),CA=Fa(za,3),Ja={dayNamesShort:CA,dayNames:za,monthNamesShort:wA,monthNames:qa,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},En=wt({},Ja),BA=function(e){return En=wt(En,e)},Xa=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Me=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},kA={D:function(e){return String(e.getDate())},DD:function(e){return Me(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Me(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 Me(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 Me(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Me(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Me(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Me(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Me(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Me(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Me(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Me(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?"-":"+")+Me(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Me(Math.floor(Math.abs(n)/60),2)+":"+Me(Math.abs(n)%60,2)}},Qa=function(e){return+e-1},Za=[null,rt],Wa=[null,Zt],_a=["isPm",Zt,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],$a=["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}],IA={D:["day",rt],DD:["day",st],Do:["day",rt+Zt,function(e){return parseInt(e,10)}],M:["month",rt,Qa],MM:["month",st,Qa],YY:["year",st,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",rt,void 0,"isPm"],hh:["hour",st,void 0,"isPm"],H:["hour",rt],HH:["hour",st],m:["minute",rt],mm:["minute",st],s:["second",rt],ss:["second",st],YYYY:["year",EA],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",st,function(e){return+e*10}],SSS:["millisecond",bA],d:Za,dd:Za,ddd:Wa,dddd:Wa,MMM:["month",Zt,Ka("monthNamesShort")],MMMM:["month",Zt,Ka("monthNames")],a:_a,A:_a,ZZ:$a,Z:$a},wn={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"},OA=function(e){return wt(wn,e)},vA=function(e,n,i){if(n===void 0&&(n=wn.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=wn[n]||n;var a=[];n=n.replace(Ha,function(r,s){return a.push(s),"@@@"});var o=wt(wt({},En),i);return n=n.replace(Ya,function(r){return kA[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function MA(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=wn[n]||n,e.length>1e3)return null;var a=new Date,o={year:a.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},r=[],s=[],l=n.replace(Ha,function(m,B){return s.push(Xa(B)),"@@@"}),d={},p={};l=Xa(l).replace(Ya,function(m){var B=IA[m],f=B[0],k=B[1],O=B[3];if(d[f])throw new Error("Invalid format. "+f+" specified twice in format");return d[f]=!0,O&&(p[O]=!0),r.push(B),"("+k+")"}),Object.keys(p).forEach(function(m){if(!d[m])throw new Error("Invalid format. "+m+" is required in specified format")}),l=l.replace(/@@@/g,function(){return s.shift()});var u=e.match(new RegExp(l,"i"));if(!u)return null;for(var A=wt(wt({},En),i),g=1;g<u.length;g++){var I=r[g-1],S=I[0],y=I[2],v=y?y(u[g],A):+u[g];if(v==null)return null;o[S]=v}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var T;if(o.timezoneOffset==null){T=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var P=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,w=P.length;g<w;g++)if(d[P[g][0]]&&o[P[g][0]]!==T[P[g][1]]())return null}else if(T=new Date(Date.UTC(o.year,o.month,o.day,o.hour,o.minute-o.timezoneOffset,o.second,o.millisecond)),o.month>11||o.month<0||o.day>31||o.day<1||o.hour>23||o.hour<0||o.minute>59||o.minute<0||o.second>59||o.second<0)return null;return T}var Dt={format:vA,parse:MA,defaultI18n:Ja,setGlobalDateI18n:BA,setGlobalDateMasks:OA};const Ie={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 Le(e,n,i=Ie){return Ce(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:Ie,required(e,n,i,a=Ie){return Le(e,n.required,a)},number(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=[];return AA(e)?(!Ce(n.min)&&e<n.min&&r.push(be(a.numberTooSmall,n.min)),!Ce(n.max)&&e>n.max&&r.push(be(a.numberTooBig,n.max))):r.push(be(a.invalidNumber)),r},integer(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=Ct.number(e,n,i,a);return hA(e)||r.push(be(a.invalidInteger)),r},double(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!Qn(e)||isNaN(e))return[be(a.invalidNumber)]},string(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=[];return Et(e)?(!Ce(n.min)&&e.length<n.min&&r.push(be(a.textTooSmall,e.length,n.min)),!Ce(n.max)&&e.length>n.max&&r.push(be(a.textTooBig,e.length,n.max))):r.push(be(a.thisNotText)),r},array(e,n,i,a=Ie){if(n.required){if(!Array.isArray(e))return[be(a.thisNotArray)];if(e.length===0)return[be(a.fieldIsRequired)]}if(!Ce(e)){if(!Ce(n.min)&&e.length<n.min)return[be(a.selectMinItems,n.min)];if(!Ce(n.max)&&e.length>n.max)return[be(a.selectMaxItems,n.max)]}},date(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=new Date(e);if(isNaN(r.getDate()))return[be(a.invalidDate)];const s=[];if(!Ce(n.min)){const l=new Date(n.min);r.valueOf()<l.valueOf()&&s.push(be(a.dateIsEarly,Dt.format(r),Dt.format(l)))}if(!Ce(n.max)){const l=new Date(n.max);r.valueOf()>l.valueOf()&&s.push(be(a.dateIsLate,Dt.format(r),Dt.format(l)))}return s},regexp(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!Ce(n.pattern)&&!new RegExp(n.pattern).test(e))return[be(a.invalidFormat)]},email(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;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=Ie){const o=Le(e,n.required,a);if(o!=null)return o;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=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!r.test(s))return[be(a.invalidCard)];let l=0,d,p,u;for(let A=s.length-1;A>=0;A--)d=s.substring(A,A+1),p=parseInt(d,10),u?(p*=2,p>=10?l+=p%10+1:l+=p):l+=p,u=!u;if(!(l%10===0&&s))return[be(a.invalidCardNumber)]},alpha(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z]*$/.test(e))return[be(a.invalidTextContainNumber)]},alphaNumeric(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z0-9]*$/.test(e))return[be(a.invalidTextContainSpec)]}};Object.keys(Ct).forEach(e=>{const n=Ct[e];ge(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,uA(i,Ie)))});function eo(e){return Et(e)?Ct[e]!=null?Ct[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function Zn(e,n,i){let a=le(i.context,"schema.attributes",{});const o=n.value||"input";Et(o)&&(a=le(a,o)||a),ve(a,(r,s)=>{e.setAttribute(s,r)})}const ze={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:Zn,updated:Zn,componentUpdated:Zn}},computed:{value:{cache:!1,get(){let e;return ge(le(this.schema,"get"))?e=this.schema.get(this.model):e=le(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),ge(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=le(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const o=[];Array.isArray(this.schema.validator)?ve(this.schema.validator,r=>{o.push(eo(r).bind(this))}):o.push(eo(this.schema.validator).bind(this)),ve(o,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const s=r(this.value,this.schema,this.model);s&&ge(s.then)?s.then(l=>{l&&(this.errors=this.errors.concat(l));const d=this.errors.length===0;this.$emit("validated",d,this.errors,this)}):s&&(i=i.concat(s))}})}const a=o=>{let r=[];ve(Pa(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):Et(l)&&r.push(l)}),ge(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,r,this.schema);const s=r.length===0;return e||this.$emit("validated",s,r,this),this.errors=r,r};return n?Promise.all(i).then(a):a(i)},debouncedValidate(){ge(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Qt(this.validate.bind(this),le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;ge(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),ge(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),le(this.formOptions,"validateAfterChanged",!1)===!0&&(le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");let a=this.model;const o=i.split(".");let r=0;const s=o.length;for(;r<s;){const l=o[r];if(r<s-1)a[l]!==void 0||(a[l]={}),a=a[l];else{a[l]=n;return}++r}},getFieldID(e,n=!1){const i=le(this.formOptions,"fieldIdPrefix","");return qn(e,i)+(n?"-"+Ga():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return le(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},me=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},RA={mixins:[ze],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)}}},TA={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},SA={class:"material-icons"};function xA(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",TA,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",SA,t.toDisplayString(o.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(r.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",r.openClass])},[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const VA=me(RA,[["render",xA],["__scopeId","data-v-6f4089bd"]]),NA={class:"array-card-container"},DA=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null},index:{type:Number,default:void 0}},emits:["remove-item"],setup(e){return t.provide("vfg-array-item-index",e.index),(n,i)=>{const a=t.resolveComponent("KCard"),o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",NA,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(o,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.TrashIcon))]),_:1})])}}}),to=me(DA,[["__scopeId","data-v-96055692"]]),PA={class:"array-item-wrapper"},GA={class:"array-item"},UA={class:"array-item-after"},LA=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",PA,[t.createElementVNode("div",GA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.TrashIcon))]),_:1})]),t.createElementVNode("div",UA,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),no=me(LA,[["__scopeId","data-v-eb9975cc"]]),jA={class:"multi-item-wrapper"},YA=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",jA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>i[1]||(i[1]=[t.createTextVNode(" - Remove Field ")])),_:1}),i[2]||(i[2]=t.createElementVNode("hr",null,null,-1))])}}}),io=me(YA,[["__scopeId","data-v-37458a0a"]]),HA="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function FA(e){return e?e.length===36&&new RegExp(`^${HA}$`).test(e):!1}const Wn=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 KA(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 zA={mixins:[ze],inject:[at],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return KA(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[at]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[at].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=Qt(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],a=this.getInputFields(),o=new Set;FA(e)&&a.includes("id")?i.push((async()=>{const r=await this.fetchExact(e);n.push({...r,label:this.getSuggestionLabel(r),value:r.id})})()):i.push(...a.filter(r=>r!=="id").map(async r=>{(await this.fetchSuggestions(e,r)).forEach(s=>{o.has(s.id)||(o.add(s.id),n.push({...s,label:this.getSuggestionLabel(s),value:s.id}))})})),await Promise.all(i),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let i=null;if(!this[at])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<Wn;){const a=await this[at].getAll(this.entity,{size:Wn,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,Wn)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[at]?(await this[at].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}}},qA={class:"field-wrap autosuggest"},JA=["data-testid","data-testlabel"],XA=["data-testid"],QA={class:"autosuggest__results_message"};function ZA(e,n,i,a,o,r){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",qA,[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:o.idValue,"onUpdate:modelValue":n[0]||(n[0]=l=>o.idValue=l),clearable:"","enable-filtering":"","filter-function":()=>!0,items:o.items,loading:o.loading,placeholder:e.schema.placeholder,width:"100%",onChange:r.onSelected,onQueryChange:r.onQueryChange},{"item-template":t.withCtx(({item:l})=>[t.createElementVNode("span",{class:"first-part","data-testid":l.id&&`${l.id}-0`,"data-testlabel":l.label},t.toDisplayString(r.getSuggestionLabel(l).split(" - ")[0]),9,JA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(l).split(" - ").slice(1),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,class:"field-span","data-testid":l.id&&`${l.id}-${p+1}`||p+1},t.toDisplayString(d),9,XA))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",QA,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const ao=me(zA,[["render",ZA],["__scopeId","data-v-dd2fda9e"]]);function WA(e){const n=t.ref([]),i=t.ref(null),a=y=>Et(y)?Ct[y]!=null?Ct[y]:(console.warn(`'${y}' is not a validator function!`),null):y,o=t.computed({get(){var y,v;let T;return ge(le(e.schema,"get"))?T=e.schema.get((y=e.model)==null?void 0:y.value):T=le((v=e.model)==null?void 0:v.value,e.schema.model),I(T)},set(y){const v=o;y=S(y),ge(y)?y(y,v):l(y,v)}}),r=y=>{var v;d();const T=(v=e.schema)==null?void 0:v.validator,P=le(e.formOptions,"validateAsync",!1);let w=[];if(T&&e.schema.readonly!==!0&&e.disabled!==!0){const B=[];Array.isArray(T)?ve(T,f=>{B.push(a(f))}):B.push(a(T)),ve(B,f=>{var k,O;if(P)w.push(f(o.value,e.schema,(k=e.model)==null?void 0:k.value));else{const H=f(o.value,e.schema,(O=e.model)==null?void 0:O.value);H&&ge(H.then)?H.then(V=>{V&&(n.value=n.value.concat(V));const N=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:N,errors:n.value,field:e.schema})}):H&&(w=w.concat(H))}})}const m=B=>{var f,k;let O=[];if(ve(Pa(B),H=>{Array.isArray(H)&&H.length>0?O=O.concat(H):Et(H)&&O.push(H)}),ge((f=e.schema)==null?void 0:f.onValidated)&&e.schema.onValidated((k=e.model)==null?void 0:k.value,O,e.schema),!y){const H=O.length===0;e.emitValidated&&e.emitValidated({isValid:H,errors:O,field:e.schema})}return B=O,O};return P?Promise.all(w).then(m):m(w)},s=()=>{ge(i.value)?i.value():i.value=Qt(r,le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",500)))},l=(y,v)=>{var T,P,w;let m=!1;ge(e.schema.set)?(e.schema.set((T=e.model)==null?void 0:T.value,y),m=!0):e.schema.model&&(p(e.schema.model,y),m=!0),m&&(e.emitModelUpdated&&(P=e.model)!=null&&P.value&&e.emitModelUpdated({value:y,model:e.schema.model}),ge(e.schema.onChanged)&&e.schema.onChanged((w=e.model)==null?void 0:w.value,y,v,e.schema),le(e.formOptions,"validateAfterChanged",!1)===!0&&(le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",0))>0?s():r()))},d=()=>{n.value.splice(0)},p=(y,v)=>{var T;let P=y.replace(/\[(\w+)\]/g,".$1");P=P.replace(/^\./,"");let w=((T=e.model)==null?void 0:T.value)||{},m=0;const B=P.split("."),f=B.length;for(;m<f;){const k=B[m];if(m<f-1)w[k]!==void 0||(w[k]={}),w=w[k];else{w[k]=v;return}++m}},u=(y,v=!1)=>{const T=le(e.formOptions,"fieldIdPrefix","");return qn(y,T)+(v?"-"+Ga():"")},A=y=>`${u(y)}-label`,g=()=>le(e.schema,"fieldClasses",[]),I=y=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(y):y,S=y=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(y):y;return{value:o,clearValidationErrors:d,getFieldID:u,getLabelId:A,getFieldClasses:g,updateModelValue:l}}const kt={useAbstractFields:WA},_A={class:"form-field-wrapper"},$A=t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Ue,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:w=>{o("modelUpdated",w.value,w.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{var w;const m=(w=a.schema)==null?void 0:w.inputType.toLowerCase();switch(m){case"string":return"text";case"datetime":return"datetime-local";default:return m||"text"}}),g={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},I=(w,m)=>{var B,f;let k=w;const O=g[A.value]||"",H=Dt.parse(w,O);H&&((B=a.schema)!=null&&B.format?k=Dt.format(H,(f=a.schema)==null?void 0:f.format):k=H.valueOf()),l(k,m)},S=(w,m)=>{Qn(w)||(w=NaN),l(w,m)},y=w=>{let m=w;switch(A.value){case"number":case"range":Qn(parseFloat(w))&&(m=parseFloat(w));break}u.value=m,l(m,w)},v=w=>{u.value=w,l(w,w)},T=t.ref(null),P=()=>{var w;ge(T.value)&&((w=T.value)==null||w.flush())};return t.onMounted(()=>{switch(A.value){case"number":case"range":T.value=Qt((w,m)=>{S(w,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":T.value=Qt((w,m)=>{I(w,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{A.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):A.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):A.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(w,m)=>{const B=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",_A,[t.createVNode(B,t.mergeProps(w.$attrs,{id:t.unref(d)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:A.value==="color"||A.value==="range"?t.unref(u):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(u),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":A.value==="password",type:A.value,width:e.schema.width,onBlur:P,"onUpdate:modelValue":y}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:v,value:t.unref(u)},null,8,["schema","value"]))])}}}),oo=me($A,[["__scopeId","data-v-fe1132bb"]]),eg={name:"FieldMetric",components:{AddIcon:Fe.AddIcon,TrashIcon:Fe.TrashIcon},mixins:[ze],emits:["remove-item"],data(){return{contentVisible:!1}}},tg={key:0,class:"content"};function ng(e,n,i,a,o,r){const s=t.resolveComponent("AddIcon"),l=t.resolveComponent("TrashIcon"),d=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:o.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=p=>o.contentVisible=!o.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(s,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[o.contentVisible?(t.openBlock(),t.createElementBlock("div",tg,[t.renderSlot(e.$slots,"default"),t.createVNode(d,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=p=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(l)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const ro=me(eg,[["render",ng]]),ig={mixins:[ze],emits:["modelUpdated"],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let i=0;i<e.length;i++){const a=e[i];n[a]=typeof this.value[a]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const i=this.keyTypes;delete i[e],this.keyTypes=JSON.parse(JSON.stringify(i))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""},updateModel(e,n){this.$emit("modelUpdated",e,n)}}},ag={class:"field-object-container"},og={key:1},rg=["id"],sg={key:0},lg=["onUpdate:modelValue"],cg={key:1},dg=["onUpdate:modelValue"],ug={key:2},pg=["onUpdate:modelValue"],Ag=["onClick"];function gg(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator"),l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",ag,[e.schema.schema?(t.openBlock(),t.createBlock(s,{key:0,model:e.value,options:e.formOptions,schema:e.schema.schema,onModelUpdated:r.updateModel},null,8,["model","options","schema","onModelUpdated"])):(t.openBlock(),t.createElementBlock("div",og,[t.createElementVNode("table",{id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("tr",{key:p},[t.createElementVNode("td",null,t.toDisplayString(p),1),o.keyTypes[p]==="string"?(t.openBlock(),t.createElementBlock("td",sg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"text"},null,8,lg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="boolean"?(t.openBlock(),t.createElementBlock("td",cg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"checkbox"},null,8,dg),[[t.vModelCheckbox,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="number"?(t.openBlock(),t.createElementBlock("td",ug,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"number"},null,8,pg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>r.removeElement(p)},null,8,Ag)])]))),128))],10,rg),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.newKeyType=d)},n[3]||(n[3]=[t.createElementVNode("option",{value:"string"}," String ",-1),t.createElementVNode("option",{value:"number"}," Number ",-1),t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)]),512),[[t.vModelSelect,o.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=d=>o.newKeyName=d),type:"text"},null,512),[[t.vModelText,o.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...d)=>r.addKey&&r.addKey(...d))})]))])),[[l,o.attributes]])}const so=me(ig,[["render",gg],["__scopeId","data-v-b7e3dcd7"]]),mg={components:{TrashIcon:Fe.TrashIcon},mixins:[ze],inject:{autofillSlot:{from:Ue,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(o=>{const r=o.indexOf(i+"-");if(r>-1&&Array.isArray(n))if(n.length>0){const s=o.split("-").filter(d=>n.find(p=>p.model===d)),l=o.split(`-${s}`)[0].split(`${i}-`)[1];s.length?a[l]={...a[l],[s]:e[o]}:a[o.substring(r+`${i}-`.length)]=e[o]}else a[o.substring(`${i}-`.length)]=e[o];else{const s=o.split("-").filter(d=>d===this.schema.model),l=o.split(`-${s}`)[0].split(`${i}-`)[1];l&&(a[l]=e[o])}return o}),a},addKey(){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)}}},fg=["id"],hg=["data-testid"],yg={class:"item-wrapper"},bg={class:"index-wrapper"},Eg={key:0},wg={key:1},Cg=["onUpdate:modelValue","placeholder","onInput"],Bg={key:0,class:"hint"},kg={class:"input-item"},Ig=["placeholder"],Og={key:0,class:"hint"};function vg(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton"),d=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",yg,[t.createElementVNode("div",bg,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:A=>r.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["onClick"])])]),n[1]||(n[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),r.subSchema?(t.openBlock(),t.createElementBlock("div",Eg,[t.createVNode(d,{model:r.transformedModel[u],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",wg,[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=>r.updateModel(e.value[u],e.model[e.schema.model])},null,40,Cg),[[t.vModelText,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",Bg,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema.fields&&e.schema.fields[0].schema||e.schema.values,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))])),n[2]||(n[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,hg))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",kg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>o.newKeyName=p),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,Ig),[[t.vModelText,o.newKeyName]]),t.createVNode(l,{appearance:"tertiary","data-testid":"add-key",disabled:!o.newKeyName,onClick:r.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(e.schema.buttonLabel||e.schema.label),1)]),_:1},8,["disabled","onClick"])]),e.schema.hintText?(t.openBlock(),t.createElementBlock("p",Og,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,fg)}const lo=me(mg,[["render",vg],["__scopeId","data-v-3a00058c"]]),Mg={class:"radio-selection-group"},Rg=t.defineComponent({__name:"FieldRadio",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{updateModelValue:s,value:l,clearValidationErrors:d}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:u=>{o("modelUpdated",u.value,u.model)}});n({clearValidationErrors:d});const p=u=>{let A=u;typeof u=="string"&&(A=u.split(","),a.schema.array||(A=A.toString())),s(A,u)};return(u,A)=>{const g=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Mg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(I,S)=>(t.openBlock(),t.createBlock(g,{id:e.schema.name+"-"+S,key:I.value,modelValue:t.unref(l),"onUpdate:modelValue":A[0]||(A[0]=y=>t.isRef(l)?l.value=y:null),label:I.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":I.value,onChange:p},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),co=me(Rg,[["__scopeId","data-v-09b8afda"]]),uo=t.defineComponent({__name:"FieldSelect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.computed(()=>a.schema.selectOptions||{}),s=y=>Ce(y)?null:y,l=t.toRefs(a),{getFieldID:d,clearValidationErrors:p,value:u}=kt.useAbstractFields({model:l.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,emitModelUpdated:y=>{o("modelUpdated",y.value,y.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{const y=a.schema.values;return g(typeof y=="function"?y.apply(this,[a.model,a.schema]):y)}),g=y=>{const v=[];return y.forEach(T=>{v.push({label:S(T),value:I(T),disabled:typeof T=="object"&&T.disabled||void 0,group:typeof T=="object"&&String(T.group||"").toUpperCase()||void 0})}),v},I=y=>{if(Ve(y)){if(r.value&&typeof r.value.value<"u")return y[r.value.value];if(typeof y.id<"u")return String(y.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 y},S=y=>{if(Ve(y)){if(r.value&&typeof r.value.name<"u")return y[r.value.name];if(typeof y.name<"u")return String(y.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(y)};return(y,v)=>{const T=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(T,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":v[0]||(v[0]=P=>t.isRef(u)?u.value=P:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:A.value,"kpop-attributes":{"data-testid":`${t.unref(d)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:r.value.hideNoneSelectedText?void 0:r.value.noneSelectedText||"Nothing Selected",required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","class","clearable","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),Tg={name:"FieldArray",components:{FieldArrayItem:no,FieldArrayMultiItem:io,FieldSelect:uo,FieldMetric:ro,FieldObject:so,FieldObjectAdvanced:lo,FieldAutoSuggest:ao,FieldRadio:co,FieldArrayCardContainer:to,FieldInput:oo},mixins:[ze],inject:{autofillSlot:{from:Ue,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,i){var a,o,r;let s;return n&&(s=JSON.parse(JSON.stringify(n)),(r=(o=(a=s.schema)==null?void 0:a.fields)==null?void 0:o.map)==null||r.call(o,l=>(l.id=`${l.id||l.model}-${i}`,l))),{...s,set(l,d){e[i]=d},get(){return e[i]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,i)=>i!==e)},getFieldType(e){return"field-"+e.type},modelUpdated(){this.$emit("refreshModel")},handleInput(e,n){this.value=this.value.map((i,a)=>a===n?e:i)}}},Sg=["id"],xg={key:1},Vg=["onUpdate:modelValue","aria-labelledby","type"],Ng=["onUpdate:modelValue","aria-labelledby"];function Dg(e,n,i,a,o,r){const s=t.resolveComponent("KTextArea"),l=t.resolveComponent("KInput"),d=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,index:u,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",xg,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${u}`,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var A;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[u],"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),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=>{r.handleInput(g,u)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((A=e.schema.inputAttributes)==null?void 0:A.type)||"text"}),null,16,Vg)),[[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,Ng),[[t.vModelText,e.value[u]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:r.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,Sg)):t.createCommentVNode("",!0)}const Pg=me(Tg,[["render",Dg],["__scopeId","data-v-367d2ee8"]]),Gg={class:"form-field-wrapper field-checkbox"},Ug=t.defineComponent({__name:"FieldCheckbox",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{getFieldID:s,value:l,clearValidationErrors:d}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:p=>{o("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:d}),(p,u)=>{const A=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",Gg,[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"])])}}}),Lg=me(Ug,[["__scopeId","data-v-6b4ee1cd"]]);var jg=4;function po(e){return Xt(e,jg)}const Yg={class:"wrapper"},Hg=["disabled"],Fg=["id","checked","disabled","onChange","name"],Kg=["disabled"],zg={class:"info"},qg={class:"dropList"},Jg=["id","checked","disabled","onChange","name"];function Xg(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Yg,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,Fg),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,Hg)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:o.comboExpanded}]),onClick:n[0]||(n[0]=(...l)=>r.onExpandCombo&&r.onExpandCombo(...l))},[t.createElementVNode("div",zg,t.toDisplayString(r.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",qg,[o.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,Jg),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Kg))])),[[s,"wrapper"]])}const Qg={mixins:[ze],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?xa(this.schema.inputName+"_"+this.getItemValue(e)):xa(this.getItemValue(e))},getItemValue(e){if(Ve(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(Ve(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((Ce(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=po(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=po(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},Zg=me(Qg,[["render",Xg]]),Wg={name:"FieldKeyValuePairs",components:{TrashIcon:Fe.TrashIcon},mixins:[ze],inject:{autofillSlot:{from:Ue,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)}}},_g={class:"key-value-pairs-editor"},$g={class:"pair-item-cell"},em=["data-testid","placeholder","value","onInput"],tm={class:"pair-item-cell"},nm=["data-testid","placeholder","value","onInput"];function im(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",_g,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.pairs,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:"pair-item"},[t.createElementVNode("div",$g,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${p}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:d.key,onInput:u=>{r.onInput(u,p,"key")}},null,40,em),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"key"),value:d.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",tm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${p}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:d.value,onInput:u=>{r.onInput(u,p,"value")}},null,40,nm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"value"),value:d.value},null,8,["schema","update","value"]))]),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${p}`,onClick:()=>{r.removePair(p)}},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["data-testid","onClick"])]))),128)),t.createVNode(l,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:r.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const am=me(Wg,[["render",im],["__scopeId","data-v-70998d5b"]]),om=t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,i=t.toRefs(n),{getFieldID:a,value:o}=kt.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(r,s)=>{const l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(l,{id:t.unref(a)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)),1)]),_:1},8,["id"])],2)}}}),rm=me(om,[["__scopeId","data-v-d046a15a"]]),sm={mixins:[ze],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function lm(e,n,i,a,o,r){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":r.onUpdate},null,8,["aria-labelledby","items","label-attributes","model-value","placeholder","required","onUpdate:modelValue"])}const cm=me(sm,[["render",lm]]),dm={mixins:[ze],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(o=>this.updateModel("",o.model)),i&&i.forEach(o=>this.updateModel(this.fieldModel[o.model],o.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{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)}}},um={class:"selection-group"},pm={class:"form-group horizontal-radios"},Am={class:"radio-group"},gm=["value"],mm={class:"control-help"},fm={class:"option-field"},hm={class:"option-field-container"};function ym(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",um,[t.createElementVNode("div",pm,[t.createElementVNode("div",Am,[(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=>o.checkedGroup=p),class:"k-input",type:"radio",value:d},null,8,gm),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",mm,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",fm,[t.createElementVNode("div",hm,[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:{fields:l.fields},onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,l.fields&&o.checkedGroup===d]])]))),128))])}const bm=me(dm,[["render",ym],["__scopeId","data-v-0aaaf597"]]),Em={packageName:"forms"},wm={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"}},Cm={labels:{on:"On",off:"Off"}},Cn={general:Em,"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:wm,vfg:Cm},Bm={class:"form-field-wrapper"},km=t.defineComponent({__name:"FieldSwitch",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,{t:r}=$e.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}=kt.useAbstractFields({model:d.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,formatValueToModel:l,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});return n({clearValidationErrors:A}),(g,I)=>{const S=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",Bm,[t.createVNode(S,{id:t.unref(p)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":I[0]||(I[0]=y=>t.isRef(u)?u.value=y:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(u)?e.schema.textOn||t.unref(r)("vfg.labels.on"):e.schema.textOff||t.unref(r)("vfg.labels.off"),"label-attributes":{info:e.schema.help},name:e.schema.inputName,required:e.schema.required||void 0},null,8,["id","modelValue","autocomplete","class","disabled","label","label-attributes","name","required"])])}}}),Im={class:"field-textarea"},Om=t.defineComponent({__name:"FieldTextArea",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Ue,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});n({clearValidationErrors:p});const A=g=>{u.value=g,l(g,g)};return(g,I)=>{const S=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",Im,[t.createVNode(S,t.mergeProps(g.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":I[0]||(I[0]=y=>t.isRef(u)?u.value=y: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"]))])}}}),vm=me(Om,[["__scopeId","data-v-b6cec018"]]),Mm=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:VA,FieldArray:Pg,FieldArrayCardContainer:to,FieldArrayItem:no,FieldArrayMultiItem:io,FieldAutoSuggest:ao,FieldCheckbox:Lg,FieldChecklist:Zg,FieldInput:oo,FieldKeyValuePairs:am,FieldLabel:rm,FieldMetric:ro,FieldMultiselect:cm,FieldObject:so,FieldObjectAdvanced:lo,FieldRadio:co,FieldSelect:uo,FieldSelectionGroup:bm,FieldSwitch:km,FieldTextArea:vm},Symbol.toStringTag,{value:"Module"})),Rm={name:"FormGroup",components:Mm,mixins:[Va],inject:{"vfg-array-item-index":{default:void 0}},props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated","refreshModel"],data(){return{child:t.ref()}},computed:{schema(){var e;if(!((e=this.field)!=null&&e.schema)||!Array.isArray(this.field.schema.fields))return this.field;const n=this["vfg-array-item-index"];return typeof n!="number"||Number.isNaN(n)?this.field:{...this.field,schema:{...this.field.schema,fields:this.field.schema.fields.map(i=>({...i,...i.id?{id:`${i.id}-${n}`}:void 0}))}}}},methods:{fieldTypeHasLabel(e){if(Ce(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=le(this.options,"fieldIdPrefix","");return qn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return le(e,"type","button")},onFieldValidated(e,n,i){this.$emit("validated",e,n,i)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,i){return e.onclick.call(this,this.model,n,i,this)},fieldHint(e){return ge(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},Tm=["innerHTML"],Sm={class:"icon-wrapper"},xm=["innerHTML"],Vm={key:0,class:"link-wrapper"},Nm={class:"field-wrap"},Dm={key:0,class:"buttons"},Pm=["type","onClick","textContent"],Gm=["innerHTML"],Um={key:2,class:"errors help-block"},Lm=["innerHTML"];function jm(e,n,i,a,o,r){const s=t.resolveComponent("KExternalLink"),l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[r.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(l,{key:0,"aria-describedby":i.field.help?r.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:r.getFieldID(i.field),info:!i.options.helpAsHtml&&i.field.help?i.field.help:void 0,"tooltip-attributes":i.field.help?{maxWidth:"300",placement:"top",tooltipId:r.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",Sm,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,xm)]),i.field.link?(t.openBlock(),t.createElementBlock("div",Vm,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>n[0]||(n[0]=[t.createElementVNode("span",{class:"section-header"},"More info",-1)])),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[i.options.helpAsHtml&&i.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.field.help},null,8,Tm)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",Nm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&r.getFieldType(i.field)==="field-input"?r.fieldHint(i.field):void 0,model:i.model,schema:r.schema,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onRefreshModel","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",Dm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(d,p)=>(t.openBlock(),t.createElementBlock("button",{key:p,class:t.normalizeClass(d.classes),type:r.getButtonType(d),onClick:u=>r.buttonClickHandler(d,i.field,u),textContent:t.toDisplayString(d.label)},null,10,Pm))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&r.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:r.fieldHint(i.field)},null,8,Gm)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Um,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,innerHTML:d},null,8,Lm))),128))])):t.createCommentVNode("",!0)],2)}const Ym=me(Rm,[["render",jm],["__scopeId","data-v-49ca89d6"]]),Hm={name:"FormGenerator",components:{formGroup:Ym},mixins:[Va],inject:{autofillSlot:{from:Ue,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[Ue]:(e=this.$slots)==null?void 0:e[ot]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated","refreshModel"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&ve(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&ve(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 ge(e.visible)?e.visible.call(this,this.model,e,this):Ce(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(o=>o.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&ve(n,o=>{this.errors.push({field:i.schema,error:o})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=le(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];ve(this.$refs.children,o=>{ge(o.validate)&&(n.push(o.$refs.child),i.push(o.$refs.child.validate(!0)))});const a=o=>{const r=[];ve(o,(l,d)=>{Array.isArray(l)&&l.length>0&&ve(l,p=>{r.push({field:n[d].schema,error:p})})}),this.errors=r;const s=r.length===0;return this.$emit("validated",s,r,this),e?r:s};return e?Promise.all(i).then(a):a(i)},clearValidationErrors(){this.errors.splice(0),ve(this.$refs.children,e=>{e.clearValidationErrors()})}}},Fm={key:0,class:"vue-form-generator"},Km={key:0};function zm(e,n,i,a,o,r){const s=t.resolveComponent("form-group"),l=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",Fm,[i.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fields,d=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:d.model},[r.fieldVisible(d)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:d,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(d,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${p}`},[d.collapsible!==void 0&&d.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:d.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,A,g,I;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,(I=d.slots)==null?void 0:I.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),d.collapsible!==!0&&d.collapsible.nestedCollapsible&&d.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${p}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${p}-nested`]??!0?d.collapsible.nestedCollapsible.triggerLabel.expand:d.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":S=>o.collapseStates[`group-${p}-nested`]=S},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.collapsible.nestedCollapsible.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[d.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[d.legend?(t.openBlock(),t.createElementBlock("legend",Km,t.toDisplayString(d.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[r.fieldVisible(u)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:u,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Re=me(Hm,[["render",zm]]),Ao=new Set(["config-client_id","config-client_secret","config-issuer"]),go=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"]),qm={name:"OIDCForm",components:{VueFormGenerator:Re},provide(){var e;return{[Ue]:(e=this.$slots)==null?void 0:e[ot]}},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(Ao).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.authFieldsSchema={fields:Array.from(go).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"&&!Ao.has(i.model)&&!go.has(i.model)||i.model==="tags").reduce((i,a)=>{var o,r,s,l;switch(a.model){case"config-client_jwk":{if(Array.isArray((r=(o=a.items)==null?void 0:o.schema)==null?void 0:r.fields))for(const d of a.items.schema.fields)d.label=d.model;i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record",newElementButtonLabel:"+ Add Client JWK",...Array.isArray((l=(s=a.items)==null?void 0:s.schema)==null?void 0:l.fields)&&a.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-session_redis_cluster_nodes":{i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record",newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(a)}return i},[])},this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const a of i.fields){const o=(e=n[a.model])==null?void 0:e.help;a.help===void 0&&typeof o=="string"&&(a.help=o)}}},getAuthMethodsValue(e,n){const i=[];for(let a=0;a<this.authMethods.length;a++)this.authMethods[a].prop&&this.authMethods[a].value!==e&&i.push(this.authMethods[a].value);return this.sessionManagement&&e&&i.push("session"),n&&(e?i.push(e):i.push("session")),i},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()}}},Jm={class:"general-settings"},Xm={class:"link-wrapper"},Qm={class:"auth-method-container"},Zm={class:"general-settings"},Wm={class:"link-wrapper"},_m={class:"general-settings"},$m={class:"link-wrapper"};function ef(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel"),p=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),A=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:o.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(A,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Jm,[t.createElementVNode("div",Xm,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>n[1]||(n[1]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])),_:1})]),n[3]||(n[3]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(d,null,{default:t.withCtx(()=>n[2]||(n[2]=[t.createTextVNode("Auth Methods")])),_:1}),t.createElementVNode("div",Qm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":I=>g.prop=I,onChange:I=>r.handleUpdate(I,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>o.sessionManagement=g),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Zm,[t.createElementVNode("div",Wm,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>n[4]||(n[4]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])),_:1})]),n[5]||(n[5]=t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.authFieldsSchema,onModelUpdated:i.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",_m,[t.createElementVNode("div",$m,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>n[6]||(n[6]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])),_:1})]),n[7]||(n[7]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const tf=me(qm,[["render",ef],["__scopeId","data-v-bb72c68e"]]),nf=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(Ue,(n=t.useSlots())==null?void 0:n[ot]);const{t:i,te:a}=$e.createI18n("en-us",Cn),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`post-function.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="post-function-array-item-container",d.fieldItemsClasses="post-function-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),af=me(nf,[["__scopeId","data-v-f54f37ae"]]),of=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(Ue,(n=t.useSlots())==null?void 0:n[ot]);const{t:i,te:a}=$e.createI18n("en-us",Cn),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`exit-transformer.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="exit-transformer-array-item-container",d.fieldItemsClasses="exit-transformer-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),rf=me(of,[["__scopeId","data-v-0d5c541f"]]),sf={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}]},lf={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}]},cf={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}]},df={class:"general-settings"},uf={class:"sub-form"},pf={class:"general-settings"},Af={class:"sub-form"},gf={class:"general-settings"},mf=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(Ue,(n=t.useSlots())==null?void 0:n[ot]);const i=e,a=t.ref("zeroSsl"),o=t.ref("shm"),r=t.computed(()=>{var f;const k={};if((f=i.formSchema)!=null&&f.fields)for(const O of i.formSchema.fields)k[O.model]=O;return k}),s=t.computed(()=>{var f;const k=We(sf);for(const O of k.fields){const H=(f=r.value[O.model])==null?void 0:f.help;O.help===void 0&&typeof H=="string"&&(O.help=H)}return k}),l=t.computed(()=>{var f;const k=We(lf);for(const O of k.fields){const H=(f=r.value[O.model])==null?void 0:f.help;O.help===void 0&&typeof H=="string"&&(O.help=H)}return k}),d=t.computed(()=>{var f;const k=We(cf);for(const O of k.fields){const H=(f=r.value[O.model])==null?void 0:f.help;O.help===void 0&&typeof H=="string"&&(O.help=H)}return k}),p=t.computed(()=>({fields:i.formSchema.fields.filter(f=>!f.model.startsWith("config")&&f.model!=="tags")})),u=t.computed(()=>({fields:s.value.fields.filter(f=>!l.value.fields.some(k=>k.model===f.model)&&!d.value.fields.some(k=>k.model===f.model))})),A=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage")&&!f.model.startsWith("config-storage_config-consul")&&!f.model.startsWith("config-storage_config-redis")&&!f.model.startsWith("config-storage_config-shm")&&!f.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-consul"))})),I=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-redis"))})),S=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-shm"))})),y=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-vault"))})),v=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config")&&!u.value.fields.filter(k=>k.model===f.model).length&&!A.value.fields.filter(k=>k.model===f.model).length||f.model==="tags")})),T=t.computed(()=>i.formModel.id&&i.isEditing||!i.isEditing),P=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],w=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{a.value==="zeroSsl"&&(i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const m=f=>{a.value=f.value,(f.value==="zeroSsl"||f.value==="other")&&(f.value==="zeroSsl"?i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":i.formModel["config-api_uri"]="https://acme.example.com/",i.formModel["config-tos_accepted"]=!1),f.value==="letsEncrypt"&&(i.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",i.formModel["config-eab_hmac_key"]="",i.formModel["config-eab_kid"]=""),i.onModelUpdated()},B=(f,k)=>{k==="config-storage"&&(o.value=f),i.onModelUpdated()};return(f,k)=>{const O=t.resolveComponent("KSelect"),H=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Re,{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(H,{tabs:P},{general:t.withCtx(()=>[t.createElementVNode("div",df,[k[0]||(k[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),k[1]||(k[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),T.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),k[2]||(k[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(O,{class:"issuer-select",items:w,label:"Issuer",onChange:m}),t.createElementVNode("div",uf,[a.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Re,{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(Re,{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",pf,[k[3]||(k[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),k[4]||(k[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),T.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:A.value,onModelUpdated:B},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",Af,[o.value==="consul"?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Re,{key:1,model:e.formModel,options:e.formOptions,schema:I.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Re,{key:2,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Re,{key:3,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",gf,[k[5]||(k[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),k[6]||(k[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),T.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:v.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),ff=me(mf,[["__scopeId","data-v-bb5a3a33"]]),hf={class:"rla-form-basic-fields"},yf={class:"rla-form-request-limits-subtitle"},bf={class:"rla-form-request-limits-content"},Ef={class:"rla-form-window-type"},wf=["innerHTML"],Cf={class:"rla-form-window-type-radios"},Bf={class:"rla-form-request-limits-items"},kf={class:"rla-form-request-limits-row"},If=["id"],Of={class:"rla-form-request-limits-actions"},vf={key:0,class:"rla-form-request-limits-examples"},Mf={class:"rla-form-request-limits-examples-badges"},Rf=["innerHTML"],Tf={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Sf=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{type:Boolean}},setup(e){var n;t.provide(Ue,(n=t.useSlots())==null?void 0:n[ot]);const i={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
|
|
66
|
+
client. If missing, it will be generated for you.`,inputType:"password",encrypted:!0}},{tags:ft}]},Ml={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."}}]},Ke={"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,c.CONSUMER_GROUP],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]},"service-protection":{descriptionKey:"plugins.meta.service-protection.description",group:R.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.service-protection.name",scope:[c.GLOBAL,c.SERVICE]},"injection-protection":{descriptionKey:"plugins.meta.injection-protection.description",group:R.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.injection-protection.name",scope:[c.GLOBAL,c.SERVICE,c.ROUTE]}},St={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:xi,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:mt(xi),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Vi,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:mt(Vi)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ni,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:mt(Ni)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Gi,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:mt(Gi)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Pi,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:mt(Pi)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Di,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:mt(Di)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:Il,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},Rl={acls:wl,basicauth_credentials:Cl,keyauth_credentials:Bl,keyauth_enc_credentials:Ml,oauth2_credentials:vl,hmacauth_credentials:kl,jwt_secrets:Ol},Ui=e=>{var a;const n=((a=Ke[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":xr,"../assets/images/plugin-icons/acme.png":Vr,"../assets/images/plugin-icons/ai-azure-content-safety.png":Nr,"../assets/images/plugin-icons/ai-data-sanitization.png":Dr,"../assets/images/plugin-icons/ai-prompt-decorator.png":Pr,"../assets/images/plugin-icons/ai-prompt-guard.png":Gr,"../assets/images/plugin-icons/ai-prompt-template.png":Ur,"../assets/images/plugin-icons/ai-proxy-advanced.png":Lr,"../assets/images/plugin-icons/ai-proxy.png":jr,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":Yr,"../assets/images/plugin-icons/ai-request-transformer.png":Hr,"../assets/images/plugin-icons/ai-response-transformer.png":Fr,"../assets/images/plugin-icons/ai-semantic-cache.png":Kr,"../assets/images/plugin-icons/ai-semantic-prompt-guard.png":zr,"../assets/images/plugin-icons/app-dynamics.png":qr,"../assets/images/plugin-icons/application-registration.png":Jr,"../assets/images/plugin-icons/aws-lambda.png":Xr,"../assets/images/plugin-icons/azure-functions.png":Qr,"../assets/images/plugin-icons/basic-auth.png":Zr,"../assets/images/plugin-icons/bot-detection.png":Wr,"../assets/images/plugin-icons/canary.png":_r,"../assets/images/plugin-icons/collector.png":$r,"../assets/images/plugin-icons/confluent.png":es,"../assets/images/plugin-icons/correlation-id.png":ts,"../assets/images/plugin-icons/cors.png":ns,"../assets/images/plugin-icons/datadog.png":is,"../assets/images/plugin-icons/degraphql.png":as,"../assets/images/plugin-icons/dynamic-ssl.png":os,"../assets/images/plugin-icons/exit-transformer.png":rs,"../assets/images/plugin-icons/file-log.png":ss,"../assets/images/plugin-icons/forward-proxy.png":ls,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":cs,"../assets/images/plugin-icons/graphql.png":ds,"../assets/images/plugin-icons/grpc-gateway.png":us,"../assets/images/plugin-icons/grpc-web.png":ps,"../assets/images/plugin-icons/hmac-auth.png":As,"../assets/images/plugin-icons/http-log.png":gs,"../assets/images/plugin-icons/injection-protection.png":ms,"../assets/images/plugin-icons/ip-restriction.png":fs,"../assets/images/plugin-icons/jq.png":hs,"../assets/images/plugin-icons/json-threat-protection.png":ys,"../assets/images/plugin-icons/jwe-decrypt.png":bs,"../assets/images/plugin-icons/jwt-signer.png":Es,"../assets/images/plugin-icons/jwt.png":ws,"../assets/images/plugin-icons/kafka-log.png":Cs,"../assets/images/plugin-icons/kafka-upstream.png":Bs,"../assets/images/plugin-icons/key-auth-enc.png":ks,"../assets/images/plugin-icons/key-auth.png":Is,"../assets/images/plugin-icons/kong-function.png":Os,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":vs,"../assets/images/plugin-icons/ldap-auth-advanced.png":Ms,"../assets/images/plugin-icons/ldap-auth.png":Rs,"../assets/images/plugin-icons/loggly.png":Ts,"../assets/images/plugin-icons/missing.png":Ss,"../assets/images/plugin-icons/mocking.png":xs,"../assets/images/plugin-icons/mtls-auth.png":Vs,"../assets/images/plugin-icons/new.png":Ns,"../assets/images/plugin-icons/oas-validation.png":Ds,"../assets/images/plugin-icons/oauth2-introspection.png":Ps,"../assets/images/plugin-icons/oauth2.png":Gs,"../assets/images/plugin-icons/opa.png":Us,"../assets/images/plugin-icons/openid-connect.png":Ls,"../assets/images/plugin-icons/opentelemetry.png":js,"../assets/images/plugin-icons/openwhisk.png":Ys,"../assets/images/plugin-icons/prometheus.png":Hs,"../assets/images/plugin-icons/proxy-cache.png":Fs,"../assets/images/plugin-icons/rate-limiting-advanced.png":Ks,"../assets/images/plugin-icons/rate-limiting.png":zs,"../assets/images/plugin-icons/request-size-limiting.png":qs,"../assets/images/plugin-icons/request-termination.png":Js,"../assets/images/plugin-icons/request-transformer-advanced.png":Xs,"../assets/images/plugin-icons/request-transformer.png":Qs,"../assets/images/plugin-icons/request-validator.png":Zs,"../assets/images/plugin-icons/response-ratelimiting.png":Ws,"../assets/images/plugin-icons/response-transformer-advanced.png":_s,"../assets/images/plugin-icons/response-transformer.png":$s,"../assets/images/plugin-icons/route-by-header.png":el,"../assets/images/plugin-icons/route-transformer-advanced.png":tl,"../assets/images/plugin-icons/runscope.png":nl,"../assets/images/plugin-icons/saml.png":il,"../assets/images/plugin-icons/service-protection.png":al,"../assets/images/plugin-icons/session.png":ol,"../assets/images/plugin-icons/standard-webhooks.png":rl,"../assets/images/plugin-icons/statsd-advanced.png":sl,"../assets/images/plugin-icons/statsd.png":ll,"../assets/images/plugin-icons/syslog.png":cl,"../assets/images/plugin-icons/tcp-log.png":dl,"../assets/images/plugin-icons/tls-handshake-modifier.png":ul,"../assets/images/plugin-icons/tls-metadata-headers.png":pl,"../assets/images/plugin-icons/udp-log.png":Al,"../assets/images/plugin-icons/upstream-timeout.png":gl,"../assets/images/plugin-icons/upstream-tls.png":ml,"../assets/images/plugin-icons/vault-auth.png":fl,"../assets/images/plugin-icons/websocket-size-limit.png":hl,"../assets/images/plugin-icons/websocket-validator.png":yl,"../assets/images/plugin-icons/xml-threat-protection.png":bl,"../assets/images/plugin-icons/zipkin.png":El})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Je&&Je.tagName.toUpperCase()==="SCRIPT"&&Je.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:Je&&Je.tagName.toUpperCase()==="SCRIPT"&&Je.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},Tl=()=>{const{i18n:{t:e}}=cn(),n={},i={};for(const[o,r]of Object.entries(Ke))n[o]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[o,r]of Object.entries(St))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:St,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function Li(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function Sl(e){return function(n,i,a){for(var o=-1,r=Object(n),s=a(n),l=s.length;l--;){var d=s[++o];if(i(r[d],d,r)===!1)break}return n}}var xl=Sl();function Vl(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var ji=typeof global=="object"&&global&&global.Object===Object&&global,Nl=typeof self=="object"&&self&&self.Object===Object&&self,Ge=ji||Nl||Function("return this")(),et=Ge.Symbol,Yi=Object.prototype,Dl=Yi.hasOwnProperty,Pl=Yi.toString,Kt=et?et.toStringTag:void 0;function Gl(e){var n=Dl.call(e,Kt),i=e[Kt];try{e[Kt]=void 0;var a=!0}catch{}var o=Pl.call(e);return a&&(n?e[Kt]=i:delete e[Kt]),o}var Ul=Object.prototype,Ll=Ul.toString;function jl(e){return Ll.call(e)}var Yl="[object Null]",Hl="[object Undefined]",Hi=et?et.toStringTag:void 0;function tt(e){return e==null?e===void 0?Hl:Yl:Hi&&Hi in Object(e)?Gl(e):jl(e)}function nt(e){return e!=null&&typeof e=="object"}var Fl="[object Arguments]";function Fi(e){return nt(e)&&tt(e)==Fl}var Ki=Object.prototype,Kl=Ki.hasOwnProperty,zl=Ki.propertyIsEnumerable,ql=Fi(function(){return arguments}())?Fi:function(e){return nt(e)&&Kl.call(e,"callee")&&!zl.call(e,"callee")},it=Array.isArray;function Jl(){return!1}var zi=typeof W=="object"&&W&&!W.nodeType&&W,qi=zi&&typeof module=="object"&&module&&!module.nodeType&&module,Xl=qi&&qi.exports===zi,Ji=Xl?Ge.Buffer:void 0,Ql=Ji?Ji.isBuffer:void 0,Xi=Ql||Jl,Zl=9007199254740991,Wl=/^(?:0|[1-9]\d*)$/;function Qi(e,n){var i=typeof e;return n=n??Zl,!!n&&(i=="number"||i!="symbol"&&Wl.test(e))&&e>-1&&e%1==0&&e<n}var _l=9007199254740991;function Zi(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=_l}var $l="[object Arguments]",ec="[object Array]",tc="[object Boolean]",nc="[object Date]",ic="[object Error]",ac="[object Function]",oc="[object Map]",rc="[object Number]",sc="[object Object]",lc="[object RegExp]",cc="[object Set]",dc="[object String]",uc="[object WeakMap]",pc="[object ArrayBuffer]",Ac="[object DataView]",gc="[object Float32Array]",mc="[object Float64Array]",fc="[object Int8Array]",hc="[object Int16Array]",yc="[object Int32Array]",bc="[object Uint8Array]",Ec="[object Uint8ClampedArray]",wc="[object Uint16Array]",Cc="[object Uint32Array]",Ae={};Ae[gc]=Ae[mc]=Ae[fc]=Ae[hc]=Ae[yc]=Ae[bc]=Ae[Ec]=Ae[wc]=Ae[Cc]=!0,Ae[$l]=Ae[ec]=Ae[pc]=Ae[tc]=Ae[Ac]=Ae[nc]=Ae[ic]=Ae[ac]=Ae[oc]=Ae[rc]=Ae[sc]=Ae[lc]=Ae[cc]=Ae[dc]=Ae[uc]=!1;function Bc(e){return nt(e)&&Zi(e.length)&&!!Ae[tt(e)]}function Dn(e){return function(n){return e(n)}}var Wi=typeof W=="object"&&W&&!W.nodeType&&W,zt=Wi&&typeof module=="object"&&module&&!module.nodeType&&module,kc=zt&&zt.exports===Wi,Pn=kc&&ji.process,xt=function(){try{var e=zt&&zt.require&&zt.require("util").types;return e||Pn&&Pn.binding&&Pn.binding("util")}catch{}}(),_i=xt&&xt.isTypedArray,Ic=_i?Dn(_i):Bc,Oc=Object.prototype,vc=Oc.hasOwnProperty;function $i(e,n){var i=it(e),a=!i&&ql(e),o=!i&&!a&&Xi(e),r=!i&&!a&&!o&&Ic(e),s=i||a||o||r,l=s?Vl(e.length,String):[],d=l.length;for(var p in e)(n||vc.call(e,p))&&!(s&&(p=="length"||o&&(p=="offset"||p=="parent")||r&&(p=="buffer"||p=="byteLength"||p=="byteOffset")||Qi(p,d)))&&l.push(p);return l}var Mc=Object.prototype;function Gn(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||Mc;return e===i}function ea(e,n){return function(i){return e(n(i))}}var Rc=ea(Object.keys,Object),Tc=Object.prototype,Sc=Tc.hasOwnProperty;function xc(e){if(!Gn(e))return Rc(e);var n=[];for(var i in Object(e))Sc.call(e,i)&&i!="constructor"&&n.push(i);return n}function Ve(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Vc="[object AsyncFunction]",Nc="[object Function]",Dc="[object GeneratorFunction]",Pc="[object Proxy]";function ge(e){if(!Ve(e))return!1;var n=tt(e);return n==Nc||n==Dc||n==Vc||n==Pc}function dn(e){return e!=null&&Zi(e.length)&&!ge(e)}function un(e){return dn(e)?$i(e):xc(e)}function Gc(e,n){return e&&xl(e,n,un)}function Uc(e,n){return function(i,a){if(i==null)return i;if(!dn(i))return e(i,a);for(var o=i.length,r=-1,s=Object(i);++r<o&&a(s[r],r,s)!==!1;);return i}}var Lc=Uc(Gc);function Un(e){return e}function jc(e){return typeof e=="function"?e:Un}function ve(e,n){var i=it(e)?Li:Lc;return i(e,jc(n))}var Yc="[object Symbol]";function pn(e){return typeof e=="symbol"||nt(e)&&tt(e)==Yc}var Hc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Fc=/^\w*$/;function Kc(e,n){if(it(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||pn(e)?!0:Fc.test(e)||!Hc.test(e)||n!=null&&e in Object(n)}var Ln=Ge["__core-js_shared__"],ta=function(){var e=/[^.]+$/.exec(Ln&&Ln.keys&&Ln.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function zc(e){return!!ta&&ta in e}var qc=Function.prototype,Jc=qc.toString;function ht(e){if(e!=null){try{return Jc.call(e)}catch{}try{return e+""}catch{}}return""}var Xc=/[\\^$.*+?()[\]{}|]/g,Qc=/^\[object .+?Constructor\]$/,Zc=Function.prototype,Wc=Object.prototype,_c=Zc.toString,$c=Wc.hasOwnProperty,ed=RegExp("^"+_c.call($c).replace(Xc,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function td(e){if(!Ve(e)||zc(e))return!1;var n=ge(e)?ed:Qc;return n.test(ht(e))}function nd(e,n){return e==null?void 0:e[n]}function yt(e,n){var i=nd(e,n);return td(i)?i:void 0}var qt=yt(Object,"create");function id(){this.__data__=qt?qt(null):{},this.size=0}function ad(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var od="__lodash_hash_undefined__",rd=Object.prototype,sd=rd.hasOwnProperty;function ld(e){var n=this.__data__;if(qt){var i=n[e];return i===od?void 0:i}return sd.call(n,e)?n[e]:void 0}var cd=Object.prototype,dd=cd.hasOwnProperty;function ud(e){var n=this.__data__;return qt?n[e]!==void 0:dd.call(n,e)}var pd="__lodash_hash_undefined__";function Ad(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=qt&&n===void 0?pd: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=id,bt.prototype.delete=ad,bt.prototype.get=ld,bt.prototype.has=ud,bt.prototype.set=Ad;function gd(){this.__data__=[],this.size=0}function An(e,n){return e===n||e!==e&&n!==n}function gn(e,n){for(var i=e.length;i--;)if(An(e[i][0],n))return i;return-1}var md=Array.prototype,fd=md.splice;function hd(e){var n=this.__data__,i=gn(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():fd.call(n,i,1),--this.size,!0}function yd(e){var n=this.__data__,i=gn(n,e);return i<0?void 0:n[i][1]}function bd(e){return gn(this.__data__,e)>-1}function Ed(e,n){var i=this.__data__,a=gn(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function Xe(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])}}Xe.prototype.clear=gd,Xe.prototype.delete=hd,Xe.prototype.get=yd,Xe.prototype.has=bd,Xe.prototype.set=Ed;var Jt=yt(Ge,"Map");function wd(){this.size=0,this.__data__={hash:new bt,map:new(Jt||Xe),string:new bt}}function Cd(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function mn(e,n){var i=e.__data__;return Cd(n)?i[typeof n=="string"?"string":"hash"]:i.map}function Bd(e){var n=mn(this,e).delete(e);return this.size-=n?1:0,n}function kd(e){return mn(this,e).get(e)}function Id(e){return mn(this,e).has(e)}function Od(e,n){var i=mn(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function Qe(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])}}Qe.prototype.clear=wd,Qe.prototype.delete=Bd,Qe.prototype.get=kd,Qe.prototype.has=Id,Qe.prototype.set=Od;var vd="Expected a function";function jn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(vd);var i=function(){var a=arguments,o=n?n.apply(this,a):a[0],r=i.cache;if(r.has(o))return r.get(o);var s=e.apply(this,a);return i.cache=r.set(o,s)||r,s};return i.cache=new(jn.Cache||Qe),i}jn.Cache=Qe;var Md=500;function Rd(e){var n=jn(e,function(a){return i.size===Md&&i.clear(),a}),i=n.cache;return n}var Td=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Sd=/\\(\\)?/g,xd=Rd(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Td,function(i,a,o,r){n.push(o?r.replace(Sd,"$1"):a||i)}),n});function Vd(e,n){for(var i=-1,a=e==null?0:e.length,o=Array(a);++i<a;)o[i]=n(e[i],i,e);return o}var Nd=1/0,na=et?et.prototype:void 0,ia=na?na.toString:void 0;function aa(e){if(typeof e=="string")return e;if(it(e))return Vd(e,aa)+"";if(pn(e))return ia?ia.call(e):"";var n=e+"";return n=="0"&&1/e==-Nd?"-0":n}function oa(e){return e==null?"":aa(e)}function Dd(e,n){return it(e)?e:Kc(e,n)?[e]:xd(oa(e))}var Pd=1/0;function Gd(e){if(typeof e=="string"||pn(e))return e;var n=e+"";return n=="0"&&1/e==-Pd?"-0":n}function Ud(e,n){n=Dd(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[Gd(n[i++])];return i&&i==a?e:void 0}function le(e,n,i){var a=e==null?void 0:Ud(e,n);return a===void 0?i:a}function Ce(e){return e==null}const at="kong-ui-forms-api",ot="autofill",Ue="autofillSlot";function Ld(){this.__data__=new Xe,this.size=0}function jd(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function Yd(e){return this.__data__.get(e)}function Hd(e){return this.__data__.has(e)}var Fd=200;function Kd(e,n){var i=this.__data__;if(i instanceof Xe){var a=i.__data__;if(!Jt||a.length<Fd-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new Qe(a)}return i.set(e,n),this.size=i.size,this}function Vt(e){var n=this.__data__=new Xe(e);this.size=n.size}Vt.prototype.clear=Ld,Vt.prototype.delete=jd,Vt.prototype.get=Yd,Vt.prototype.has=Hd,Vt.prototype.set=Kd;var fn=function(){try{var e=yt(Object,"defineProperty");return e({},"",{}),e}catch{}}();function ra(e,n,i){n=="__proto__"&&fn?fn(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var zd=Object.prototype,qd=zd.hasOwnProperty;function sa(e,n,i){var a=e[n];(!(qd.call(e,n)&&An(a,i))||i===void 0&&!(n in e))&&ra(e,n,i)}function hn(e,n,i,a){var o=!i;i||(i={});for(var r=-1,s=n.length;++r<s;){var l=n[r],d=void 0;d===void 0&&(d=e[l]),o?ra(i,l,d):sa(i,l,d)}return i}function Jd(e,n){return e&&hn(n,un(n),e)}function Xd(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var Qd=Object.prototype,Zd=Qd.hasOwnProperty;function Wd(e){if(!Ve(e))return Xd(e);var n=Gn(e),i=[];for(var a in e)a=="constructor"&&(n||!Zd.call(e,a))||i.push(a);return i}function yn(e){return dn(e)?$i(e,!0):Wd(e)}function _d(e,n){return e&&hn(n,yn(n),e)}var la=typeof W=="object"&&W&&!W.nodeType&&W,ca=la&&typeof module=="object"&&module&&!module.nodeType&&module,$d=ca&&ca.exports===la,da=$d?Ge.Buffer:void 0,ua=da?da.allocUnsafe:void 0;function eu(e,n){if(n)return e.slice();var i=e.length,a=ua?ua(i):new e.constructor(i);return e.copy(a),a}function tu(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function nu(e,n){for(var i=-1,a=e==null?0:e.length,o=0,r=[];++i<a;){var s=e[i];n(s,i,e)&&(r[o++]=s)}return r}function pa(){return[]}var iu=Object.prototype,au=iu.propertyIsEnumerable,Aa=Object.getOwnPropertySymbols,Yn=Aa?function(e){return e==null?[]:(e=Object(e),nu(Aa(e),function(n){return au.call(e,n)}))}:pa;function ou(e,n){return hn(e,Yn(e),n)}function ga(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var ma=ea(Object.getPrototypeOf,Object),ru=Object.getOwnPropertySymbols,fa=ru?function(e){for(var n=[];e;)ga(n,Yn(e)),e=ma(e);return n}:pa;function su(e,n){return hn(e,fa(e),n)}function ha(e,n,i){var a=n(e);return it(e)?a:ga(a,i(e))}function lu(e){return ha(e,un,Yn)}function cu(e){return ha(e,yn,fa)}var Hn=yt(Ge,"DataView"),Fn=yt(Ge,"Promise"),Nt=yt(Ge,"Set"),Kn=yt(Ge,"WeakMap"),ya="[object Map]",du="[object Object]",ba="[object Promise]",Ea="[object Set]",wa="[object WeakMap]",Ca="[object DataView]",uu=ht(Hn),pu=ht(Jt),Au=ht(Fn),gu=ht(Nt),mu=ht(Kn),Ze=tt;(Hn&&Ze(new Hn(new ArrayBuffer(1)))!=Ca||Jt&&Ze(new Jt)!=ya||Fn&&Ze(Fn.resolve())!=ba||Nt&&Ze(new Nt)!=Ea||Kn&&Ze(new Kn)!=wa)&&(Ze=function(e){var n=tt(e),i=n==du?e.constructor:void 0,a=i?ht(i):"";if(a)switch(a){case uu:return Ca;case pu:return ya;case Au:return ba;case gu:return Ea;case mu:return wa}return n});var fu=Object.prototype,hu=fu.hasOwnProperty;function yu(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&hu.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var Ba=Ge.Uint8Array;function zn(e){var n=new e.constructor(e.byteLength);return new Ba(n).set(new Ba(e)),n}function bu(e,n){var i=n?zn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var Eu=/\w*$/;function wu(e){var n=new e.constructor(e.source,Eu.exec(e));return n.lastIndex=e.lastIndex,n}var ka=et?et.prototype:void 0,Ia=ka?ka.valueOf:void 0;function Cu(e){return Ia?Object(Ia.call(e)):{}}function Bu(e,n){var i=n?zn(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var ku="[object Boolean]",Iu="[object Date]",Ou="[object Map]",vu="[object Number]",Mu="[object RegExp]",Ru="[object Set]",Tu="[object String]",Su="[object Symbol]",xu="[object ArrayBuffer]",Vu="[object DataView]",Nu="[object Float32Array]",Du="[object Float64Array]",Pu="[object Int8Array]",Gu="[object Int16Array]",Uu="[object Int32Array]",Lu="[object Uint8Array]",ju="[object Uint8ClampedArray]",Yu="[object Uint16Array]",Hu="[object Uint32Array]";function Fu(e,n,i){var a=e.constructor;switch(n){case xu:return zn(e);case ku:case Iu:return new a(+e);case Vu:return bu(e,i);case Nu:case Du:case Pu:case Gu:case Uu:case Lu:case ju:case Yu:case Hu:return Bu(e,i);case Ou:return new a;case vu:case Tu:return new a(e);case Mu:return wu(e);case Ru:return new a;case Su:return Cu(e)}}var Oa=Object.create,Ku=function(){function e(){}return function(n){if(!Ve(n))return{};if(Oa)return Oa(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function zu(e){return typeof e.constructor=="function"&&!Gn(e)?Ku(ma(e)):{}}var qu="[object Map]";function Ju(e){return nt(e)&&Ze(e)==qu}var va=xt&&xt.isMap,Xu=va?Dn(va):Ju,Qu="[object Set]";function Zu(e){return nt(e)&&Ze(e)==Qu}var Ma=xt&&xt.isSet,Wu=Ma?Dn(Ma):Zu,_u=1,$u=2,ep=4,Ra="[object Arguments]",tp="[object Array]",np="[object Boolean]",ip="[object Date]",ap="[object Error]",Ta="[object Function]",op="[object GeneratorFunction]",rp="[object Map]",sp="[object Number]",Sa="[object Object]",lp="[object RegExp]",cp="[object Set]",dp="[object String]",up="[object Symbol]",pp="[object WeakMap]",Ap="[object ArrayBuffer]",gp="[object DataView]",mp="[object Float32Array]",fp="[object Float64Array]",hp="[object Int8Array]",yp="[object Int16Array]",bp="[object Int32Array]",Ep="[object Uint8Array]",wp="[object Uint8ClampedArray]",Cp="[object Uint16Array]",Bp="[object Uint32Array]",pe={};pe[Ra]=pe[tp]=pe[Ap]=pe[gp]=pe[np]=pe[ip]=pe[mp]=pe[fp]=pe[hp]=pe[yp]=pe[bp]=pe[rp]=pe[sp]=pe[Sa]=pe[lp]=pe[cp]=pe[dp]=pe[up]=pe[Ep]=pe[wp]=pe[Cp]=pe[Bp]=!0,pe[ap]=pe[Ta]=pe[pp]=!1;function Xt(e,n,i,a,o,r){var s,l=n&_u,d=n&$u,p=n&ep;if(s!==void 0)return s;if(!Ve(e))return e;var u=it(e);if(u){if(s=yu(e),!l)return tu(e,s)}else{var A=Ze(e),g=A==Ta||A==op;if(Xi(e))return eu(e,l);if(A==Sa||A==Ra||g&&!o){if(s=d||g?{}:zu(e),!l)return d?su(e,_d(s,e)):ou(e,Jd(s,e))}else{if(!pe[A])return o?e:{};s=Fu(e,A,l)}}r||(r=new Vt);var I=r.get(e);if(I)return I;r.set(e,s),Wu(e)?e.forEach(function(v){s.add(Xt(v,n,i,v,e,r))}):Xu(e)&&e.forEach(function(v,T){s.set(T,Xt(v,n,i,T,e,r))});var S=p?d?cu:lu:d?yn:un,y=u?void 0:S(e);return Li(y||e,function(v,T){y&&(T=v,v=e[T]),sa(s,T,Xt(v,n,i,T,e,r))}),s}var kp=1,Ip=4;function We(e){return Xt(e,kp|Ip)}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,""),xa=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var Op="[object String]";function Et(e){return typeof e=="string"||!it(e)&&nt(e)&&tt(e)==Op}const Va={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[le(this.options,"validationErrorClass","error")]:n,[le(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?ve(e.styleClasses,a=>i[a]=!0):Et(e.styleClasses)&&(i[e.styleClasses]=!0),Ce(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 ge(e.disabled)?e.disabled.call(this,this.model,e,this):Ce(e.disabled)?!1:e.disabled},fieldReadonly(e){return ge(e.readonly)?e.readonly.call(this,this.model,e,this):Ce(e.readonly)?!1:e.readonly},fieldFeatured(e){return ge(e.featured)?e.featured.call(this,this.model,e,this):Ce(e.featured)?!1:e.featured},fieldRequired(e){return ge(e.required)?e.required.call(this,this.model,e,this):Ce(e.required)?!1:e.required}}};var Jn=function(){return Ge.Date.now()},vp=/\s/;function Mp(e){for(var n=e.length;n--&&vp.test(e.charAt(n)););return n}var Rp=/^\s+/;function Tp(e){return e&&e.slice(0,Mp(e)+1).replace(Rp,"")}var Na=NaN,Sp=/^[-+]0x[0-9a-f]+$/i,xp=/^0b[01]+$/i,Vp=/^0o[0-7]+$/i,Np=parseInt;function Xn(e){if(typeof e=="number")return e;if(pn(e))return Na;if(Ve(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ve(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Tp(e);var i=xp.test(e);return i||Vp.test(e)?Np(e.slice(2),i?2:8):Sp.test(e)?Na:+e}var Dp="Expected a function",Pp=Math.max,Gp=Math.min;function Qt(e,n,i){var a,o,r,s,l,d,p=0,u=!1,A=!1,g=!0;if(typeof e!="function")throw new TypeError(Dp);n=Xn(n)||0,Ve(i)&&(u=!!i.leading,A="maxWait"in i,r=A?Pp(Xn(i.maxWait)||0,n):r,g="trailing"in i?!!i.trailing:g);function I(f){var k=a,O=o;return a=o=void 0,p=f,s=e.apply(O,k),s}function S(f){return p=f,l=setTimeout(T,n),u?I(f):s}function y(f){var k=f-d,O=f-p,H=n-k;return A?Gp(H,r-O):H}function v(f){var k=f-d,O=f-p;return d===void 0||k>=n||k<0||A&&O>=r}function T(){var f=Jn();if(v(f))return P(f);l=setTimeout(T,y(f))}function P(f){return l=void 0,g&&a?I(f):(a=o=void 0,s)}function w(){l!==void 0&&clearTimeout(l),p=0,a=d=o=l=void 0}function m(){return l===void 0?s:P(Jn())}function B(){var f=Jn(),k=v(f);if(a=arguments,o=this,d=f,k){if(l===void 0)return S(d);if(A)return clearTimeout(l),l=setTimeout(T,n),I(d)}return l===void 0&&(l=setTimeout(T,n)),s}return B.cancel=w,B.flush=m,B}var Up="__lodash_hash_undefined__";function Lp(e){return this.__data__.set(e,Up),this}function jp(e){return this.__data__.has(e)}function bn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new Qe;++n<i;)this.add(e[n])}bn.prototype.add=bn.prototype.push=Lp,bn.prototype.has=jp;function Yp(e,n,i,a){for(var o=e.length,r=i+-1;++r<o;)if(n(e[r],r,e))return r;return-1}function Hp(e){return e!==e}function Fp(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function Kp(e,n,i){return n===n?Fp(e,n,i):Yp(e,Hp,i)}function zp(e,n){var i=e==null?0:e.length;return!!i&&Kp(e,n,0)>-1}function qp(e,n){return e.has(n)}function Jp(){}function Da(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var Xp=1/0,Qp=Nt&&1/Da(new Nt([,-0]))[1]==Xp?function(e){return new Nt(e)}:Jp,Zp=200;function Wp(e,n,i){var a=-1,o=zp,r=e.length,s=!0,l=[],d=l;if(r>=Zp){var p=Qp(e);if(p)return Da(p);s=!1,o=qp,d=new bn}else d=l;e:for(;++a<r;){var u=e[a],A=u;if(u=u!==0?u:0,s&&A===A){for(var g=d.length;g--;)if(d[g]===A)continue e;l.push(u)}else o(d,A,i)||(d!==l&&d.push(A),l.push(u))}return l}function Pa(e){return e&&e.length?Wp(e):[]}var _p=0;function Ga(e){var n=++_p;return oa(e)+n}function $p(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 Ua=Math.max;function eA(e,n,i){return n=Ua(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=Ua(a.length-n,0),s=Array(r);++o<r;)s[o]=a[n+o];o=-1;for(var l=Array(n+1);++o<n;)l[o]=a[o];return l[n]=i(s),$p(e,this,l)}}function tA(e){return function(){return e}}var nA=fn?function(e,n){return fn(e,"toString",{configurable:!0,enumerable:!1,value:tA(n),writable:!0})}:Un,iA=800,aA=16,oA=Date.now;function rA(e){var n=0,i=0;return function(){var a=oA(),o=aA-(a-i);if(i=a,o>0){if(++n>=iA)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var sA=rA(nA);function lA(e,n){return sA(eA(e,n,Un),e+"")}function cA(e,n,i){if(!Ve(i))return!1;var a=typeof n;return(a=="number"?dn(i)&&Qi(n,i.length):a=="string"&&n in i)?An(i[n],e):!1}var La=Object.prototype,dA=La.hasOwnProperty,uA=lA(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&cA(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=yn(r),l=-1,d=s.length;++l<d;){var p=s[l],u=e[p];(u===void 0||An(u,La[p])&&!dA.call(e,p))&&(e[p]=r[p])}return e}),pA=Ge.isFinite;function AA(e){return typeof e=="number"&&pA(e)}var ja=1/0,gA=17976931348623157e292;function mA(e){if(!e)return e===0?e:0;if(e=Xn(e),e===ja||e===-ja){var n=e<0?-1:1;return n*gA}return e===e?e:0}function fA(e){var n=mA(e),i=n%1;return n===n?i?n-i:n:0}function hA(e){return typeof e=="number"&&e==fA(e)}var yA="[object Number]";function Qn(e){return typeof e=="number"||nt(e)&&tt(e)==yA}var Ya=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,rt="\\d\\d?",st="\\d\\d",bA="\\d{3}",EA="\\d{4}",Zt="[^\\s]+",Ha=/\[([^]*?)\]/gm;function Fa(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var Ka=function(e){return function(n,i){var a=i[e].map(function(r){return r.toLowerCase()}),o=a.indexOf(n.toLowerCase());return o>-1?o:null}};function wt(e){for(var n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];for(var a=0,o=n;a<o.length;a++){var r=o[a];for(var s in r)e[s]=r[s]}return e}var za=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],qa=["January","February","March","April","May","June","July","August","September","October","November","December"],wA=Fa(qa,3),CA=Fa(za,3),Ja={dayNamesShort:CA,dayNames:za,monthNamesShort:wA,monthNames:qa,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},En=wt({},Ja),BA=function(e){return En=wt(En,e)},Xa=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Me=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},kA={D:function(e){return String(e.getDate())},DD:function(e){return Me(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Me(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 Me(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 Me(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Me(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Me(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Me(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Me(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Me(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Me(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Me(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?"-":"+")+Me(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Me(Math.floor(Math.abs(n)/60),2)+":"+Me(Math.abs(n)%60,2)}},Qa=function(e){return+e-1},Za=[null,rt],Wa=[null,Zt],_a=["isPm",Zt,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],$a=["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}],IA={D:["day",rt],DD:["day",st],Do:["day",rt+Zt,function(e){return parseInt(e,10)}],M:["month",rt,Qa],MM:["month",st,Qa],YY:["year",st,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",rt,void 0,"isPm"],hh:["hour",st,void 0,"isPm"],H:["hour",rt],HH:["hour",st],m:["minute",rt],mm:["minute",st],s:["second",rt],ss:["second",st],YYYY:["year",EA],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",st,function(e){return+e*10}],SSS:["millisecond",bA],d:Za,dd:Za,ddd:Wa,dddd:Wa,MMM:["month",Zt,Ka("monthNamesShort")],MMMM:["month",Zt,Ka("monthNames")],a:_a,A:_a,ZZ:$a,Z:$a},wn={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"},OA=function(e){return wt(wn,e)},vA=function(e,n,i){if(n===void 0&&(n=wn.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=wn[n]||n;var a=[];n=n.replace(Ha,function(r,s){return a.push(s),"@@@"});var o=wt(wt({},En),i);return n=n.replace(Ya,function(r){return kA[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function MA(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=wn[n]||n,e.length>1e3)return null;var a=new Date,o={year:a.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},r=[],s=[],l=n.replace(Ha,function(m,B){return s.push(Xa(B)),"@@@"}),d={},p={};l=Xa(l).replace(Ya,function(m){var B=IA[m],f=B[0],k=B[1],O=B[3];if(d[f])throw new Error("Invalid format. "+f+" specified twice in format");return d[f]=!0,O&&(p[O]=!0),r.push(B),"("+k+")"}),Object.keys(p).forEach(function(m){if(!d[m])throw new Error("Invalid format. "+m+" is required in specified format")}),l=l.replace(/@@@/g,function(){return s.shift()});var u=e.match(new RegExp(l,"i"));if(!u)return null;for(var A=wt(wt({},En),i),g=1;g<u.length;g++){var I=r[g-1],S=I[0],y=I[2],v=y?y(u[g],A):+u[g];if(v==null)return null;o[S]=v}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var T;if(o.timezoneOffset==null){T=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var P=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],g=0,w=P.length;g<w;g++)if(d[P[g][0]]&&o[P[g][0]]!==T[P[g][1]]())return null}else if(T=new Date(Date.UTC(o.year,o.month,o.day,o.hour,o.minute-o.timezoneOffset,o.second,o.millisecond)),o.month>11||o.month<0||o.day>31||o.day<1||o.hour>23||o.hour<0||o.minute>59||o.minute<0||o.second>59||o.second<0)return null;return T}var Dt={format:vA,parse:MA,defaultI18n:Ja,setGlobalDateI18n:BA,setGlobalDateMasks:OA};const Ie={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 Le(e,n,i=Ie){return Ce(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:Ie,required(e,n,i,a=Ie){return Le(e,n.required,a)},number(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=[];return AA(e)?(!Ce(n.min)&&e<n.min&&r.push(be(a.numberTooSmall,n.min)),!Ce(n.max)&&e>n.max&&r.push(be(a.numberTooBig,n.max))):r.push(be(a.invalidNumber)),r},integer(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=Ct.number(e,n,i,a);return hA(e)||r.push(be(a.invalidInteger)),r},double(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!Qn(e)||isNaN(e))return[be(a.invalidNumber)]},string(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=[];return Et(e)?(!Ce(n.min)&&e.length<n.min&&r.push(be(a.textTooSmall,e.length,n.min)),!Ce(n.max)&&e.length>n.max&&r.push(be(a.textTooBig,e.length,n.max))):r.push(be(a.thisNotText)),r},array(e,n,i,a=Ie){if(n.required){if(!Array.isArray(e))return[be(a.thisNotArray)];if(e.length===0)return[be(a.fieldIsRequired)]}if(!Ce(e)){if(!Ce(n.min)&&e.length<n.min)return[be(a.selectMinItems,n.min)];if(!Ce(n.max)&&e.length>n.max)return[be(a.selectMaxItems,n.max)]}},date(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=new Date(e);if(isNaN(r.getDate()))return[be(a.invalidDate)];const s=[];if(!Ce(n.min)){const l=new Date(n.min);r.valueOf()<l.valueOf()&&s.push(be(a.dateIsEarly,Dt.format(r),Dt.format(l)))}if(!Ce(n.max)){const l=new Date(n.max);r.valueOf()>l.valueOf()&&s.push(be(a.dateIsLate,Dt.format(r),Dt.format(l)))}return s},regexp(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!Ce(n.pattern)&&!new RegExp(n.pattern).test(e))return[be(a.invalidFormat)]},email(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;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=Ie){const o=Le(e,n.required,a);if(o!=null)return o;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=Ie){const o=Le(e,n.required,a);if(o!=null)return o;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!r.test(s))return[be(a.invalidCard)];let l=0,d,p,u;for(let A=s.length-1;A>=0;A--)d=s.substring(A,A+1),p=parseInt(d,10),u?(p*=2,p>=10?l+=p%10+1:l+=p):l+=p,u=!u;if(!(l%10===0&&s))return[be(a.invalidCardNumber)]},alpha(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z]*$/.test(e))return[be(a.invalidTextContainNumber)]},alphaNumeric(e,n,i,a=Ie){const o=Le(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z0-9]*$/.test(e))return[be(a.invalidTextContainSpec)]}};Object.keys(Ct).forEach(e=>{const n=Ct[e];ge(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,uA(i,Ie)))});function eo(e){return Et(e)?Ct[e]!=null?Ct[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function Zn(e,n,i){let a=le(i.context,"schema.attributes",{});const o=n.value||"input";Et(o)&&(a=le(a,o)||a),ve(a,(r,s)=>{e.setAttribute(s,r)})}const ze={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:Zn,updated:Zn,componentUpdated:Zn}},computed:{value:{cache:!1,get(){let e;return ge(le(this.schema,"get"))?e=this.schema.get(this.model):e=le(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),ge(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=le(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const o=[];Array.isArray(this.schema.validator)?ve(this.schema.validator,r=>{o.push(eo(r).bind(this))}):o.push(eo(this.schema.validator).bind(this)),ve(o,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const s=r(this.value,this.schema,this.model);s&&ge(s.then)?s.then(l=>{l&&(this.errors=this.errors.concat(l));const d=this.errors.length===0;this.$emit("validated",d,this.errors,this)}):s&&(i=i.concat(s))}})}const a=o=>{let r=[];ve(Pa(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):Et(l)&&r.push(l)}),ge(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,r,this.schema);const s=r.length===0;return e||this.$emit("validated",s,r,this),this.errors=r,r};return n?Promise.all(i).then(a):a(i)},debouncedValidate(){ge(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Qt(this.validate.bind(this),le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;ge(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),ge(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),le(this.formOptions,"validateAfterChanged",!1)===!0&&(le(this.schema,"validateDebounceTime",le(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let i=e.replace(/\[(\w+)\]/g,".$1");i=i.replace(/^\./,"");let a=this.model;const o=i.split(".");let r=0;const s=o.length;for(;r<s;){const l=o[r];if(r<s-1)a[l]!==void 0||(a[l]={}),a=a[l];else{a[l]=n;return}++r}},getFieldID(e,n=!1){const i=le(this.formOptions,"fieldIdPrefix","");return qn(e,i)+(n?"-"+Ga():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return le(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},me=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},RA={mixins:[ze],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)}}},TA={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},SA={class:"material-icons"};function xA(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",TA,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",SA,t.toDisplayString(o.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(r.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",r.openClass])},[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:e.schema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])],2)])}const VA=me(RA,[["render",xA],["__scopeId","data-v-6f4089bd"]]),NA={class:"array-card-container"},DA=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null},index:{type:Number,default:void 0}},emits:["remove-item"],setup(e){return t.provide("vfg-array-item-index",e.index),(n,i)=>{const a=t.resolveComponent("KCard"),o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",NA,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(n.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(o,{appearance:"tertiary",class:"array-card-remove-button",onClick:i[0]||(i[0]=r=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.TrashIcon))]),_:1})])}}}),to=me(DA,[["__scopeId","data-v-96055692"]]),PA={class:"array-item-wrapper"},GA={class:"array-item"},UA={class:"array-item-after"},LA=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",PA,[t.createElementVNode("div",GA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"tertiary",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.TrashIcon))]),_:1})]),t.createElementVNode("div",UA,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),no=me(LA,[["__scopeId","data-v-eb9975cc"]]),jA={class:"multi-item-wrapper"},YA=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",jA,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(a,{appearance:"danger",class:"delete",onClick:i[0]||(i[0]=o=>n.$emit("remove-item"))},{default:t.withCtx(()=>i[1]||(i[1]=[t.createTextVNode(" - Remove Field ")])),_:1}),i[2]||(i[2]=t.createElementVNode("hr",null,null,-1))])}}}),io=me(YA,[["__scopeId","data-v-37458a0a"]]),HA="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function FA(e){return e?e.length===36&&new RegExp(`^${HA}$`).test(e):!1}const Wn=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 KA(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 zA={mixins:[ze],inject:[at],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return KA(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[at]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[at].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=Qt(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],i=[],a=this.getInputFields(),o=new Set;FA(e)&&a.includes("id")?i.push((async()=>{const r=await this.fetchExact(e);n.push({...r,label:this.getSuggestionLabel(r),value:r.id})})()):i.push(...a.filter(r=>r!=="id").map(async r=>{(await this.fetchSuggestions(e,r)).forEach(s=>{o.has(s.id)||(o.add(s.id),n.push({...s,label:this.getSuggestionLabel(s),value:s.id}))})})),await Promise.all(i),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let i=null;if(!this[at])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<Wn;){const a=await this[at].getAll(this.entity,{size:Wn,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,Wn)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[at]?(await this[at].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}}},qA={class:"field-wrap autosuggest"},JA=["data-testid","data-testlabel"],XA=["data-testid"],QA={class:"autosuggest__results_message"};function ZA(e,n,i,a,o,r){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",qA,[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:o.idValue,"onUpdate:modelValue":n[0]||(n[0]=l=>o.idValue=l),clearable:"","enable-filtering":"","filter-function":()=>!0,items:o.items,loading:o.loading,placeholder:e.schema.placeholder,width:"100%",onChange:r.onSelected,onQueryChange:r.onQueryChange},{"item-template":t.withCtx(({item:l})=>[t.createElementVNode("span",{class:"first-part","data-testid":l.id&&`${l.id}-0`,"data-testlabel":l.label},t.toDisplayString(r.getSuggestionLabel(l).split(" - ")[0]),9,JA),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(l).split(" - ").slice(1),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,class:"field-span","data-testid":l.id&&`${l.id}-${p+1}`||p+1},t.toDisplayString(d),9,XA))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",QA,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const ao=me(zA,[["render",ZA],["__scopeId","data-v-dd2fda9e"]]);function WA(e){const n=t.ref([]),i=t.ref(null),a=y=>Et(y)?Ct[y]!=null?Ct[y]:(console.warn(`'${y}' is not a validator function!`),null):y,o=t.computed({get(){var y,v;let T;return ge(le(e.schema,"get"))?T=e.schema.get((y=e.model)==null?void 0:y.value):T=le((v=e.model)==null?void 0:v.value,e.schema.model),I(T)},set(y){const v=o;y=S(y),ge(y)?y(y,v):l(y,v)}}),r=y=>{var v;d();const T=(v=e.schema)==null?void 0:v.validator,P=le(e.formOptions,"validateAsync",!1);let w=[];if(T&&e.schema.readonly!==!0&&e.disabled!==!0){const B=[];Array.isArray(T)?ve(T,f=>{B.push(a(f))}):B.push(a(T)),ve(B,f=>{var k,O;if(P)w.push(f(o.value,e.schema,(k=e.model)==null?void 0:k.value));else{const H=f(o.value,e.schema,(O=e.model)==null?void 0:O.value);H&&ge(H.then)?H.then(V=>{V&&(n.value=n.value.concat(V));const N=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:N,errors:n.value,field:e.schema})}):H&&(w=w.concat(H))}})}const m=B=>{var f,k;let O=[];if(ve(Pa(B),H=>{Array.isArray(H)&&H.length>0?O=O.concat(H):Et(H)&&O.push(H)}),ge((f=e.schema)==null?void 0:f.onValidated)&&e.schema.onValidated((k=e.model)==null?void 0:k.value,O,e.schema),!y){const H=O.length===0;e.emitValidated&&e.emitValidated({isValid:H,errors:O,field:e.schema})}return B=O,O};return P?Promise.all(w).then(m):m(w)},s=()=>{ge(i.value)?i.value():i.value=Qt(r,le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",500)))},l=(y,v)=>{var T,P,w;let m=!1;ge(e.schema.set)?(e.schema.set((T=e.model)==null?void 0:T.value,y),m=!0):e.schema.model&&(p(e.schema.model,y),m=!0),m&&(e.emitModelUpdated&&(P=e.model)!=null&&P.value&&e.emitModelUpdated({value:y,model:e.schema.model}),ge(e.schema.onChanged)&&e.schema.onChanged((w=e.model)==null?void 0:w.value,y,v,e.schema),le(e.formOptions,"validateAfterChanged",!1)===!0&&(le(e.schema,"validateDebounceTime",le(e.formOptions,"validateDebounceTime",0))>0?s():r()))},d=()=>{n.value.splice(0)},p=(y,v)=>{var T;let P=y.replace(/\[(\w+)\]/g,".$1");P=P.replace(/^\./,"");let w=((T=e.model)==null?void 0:T.value)||{},m=0;const B=P.split("."),f=B.length;for(;m<f;){const k=B[m];if(m<f-1)w[k]!==void 0||(w[k]={}),w=w[k];else{w[k]=v;return}++m}},u=(y,v=!1)=>{const T=le(e.formOptions,"fieldIdPrefix","");return qn(y,T)+(v?"-"+Ga():"")},A=y=>`${u(y)}-label`,g=()=>le(e.schema,"fieldClasses",[]),I=y=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(y):y,S=y=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(y):y;return{value:o,clearValidationErrors:d,getFieldID:u,getLabelId:A,getFieldClasses:g,updateModelValue:l}}const kt={useAbstractFields:WA},_A={class:"form-field-wrapper"},$A=t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Ue,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:w=>{o("modelUpdated",w.value,w.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{var w;const m=(w=a.schema)==null?void 0:w.inputType.toLowerCase();switch(m){case"string":return"text";case"datetime":return"datetime-local";default:return m||"text"}}),g={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},I=(w,m)=>{var B,f;let k=w;const O=g[A.value]||"",H=Dt.parse(w,O);H&&((B=a.schema)!=null&&B.format?k=Dt.format(H,(f=a.schema)==null?void 0:f.format):k=H.valueOf()),l(k,m)},S=(w,m)=>{Qn(w)||(w=NaN),l(w,m)},y=w=>{let m=w;switch(A.value){case"number":case"range":Qn(parseFloat(w))&&(m=parseFloat(w));break}u.value=m,l(m,w)},v=w=>{u.value=w,l(w,w)},T=t.ref(null),P=()=>{var w;ge(T.value)&&((w=T.value)==null||w.flush())};return t.onMounted(()=>{switch(A.value){case"number":case"range":T.value=Qt((w,m)=>{S(w,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":T.value=Qt((w,m)=>{I(w,m)},parseInt(le(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{A.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):A.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):A.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(w,m)=>{const B=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",_A,[t.createVNode(B,t.mergeProps(w.$attrs,{id:t.unref(d)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:A.value==="color"||A.value==="range"?t.unref(u):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(u),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":A.value==="password",type:A.value,width:e.schema.width,onBlur:P,"onUpdate:modelValue":y}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:v,value:t.unref(u)},null,8,["schema","value"]))])}}}),oo=me($A,[["__scopeId","data-v-fe1132bb"]]),eg={name:"FieldMetric",components:{AddIcon:Fe.AddIcon,TrashIcon:Fe.TrashIcon},mixins:[ze],emits:["remove-item"],data(){return{contentVisible:!1}}},tg={key:0,class:"content"};function ng(e,n,i,a,o,r){const s=t.resolveComponent("AddIcon"),l=t.resolveComponent("TrashIcon"),d=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:o.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=p=>o.contentVisible=!o.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(s,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[o.contentVisible?(t.openBlock(),t.createElementBlock("div",tg,[t.renderSlot(e.$slots,"default"),t.createVNode(d,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=p=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(l)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const ro=me(eg,[["render",ng]]),ig={mixins:[ze],emits:["modelUpdated"],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let i=0;i<e.length;i++){const a=e[i];n[a]=typeof this.value[a]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const i=this.keyTypes;delete i[e],this.keyTypes=JSON.parse(JSON.stringify(i))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""},updateModel(e,n){this.$emit("modelUpdated",e,n)}}},ag={class:"field-object-container"},og={key:1},rg=["id"],sg={key:0},lg=["onUpdate:modelValue"],cg={key:1},dg=["onUpdate:modelValue"],ug={key:2},pg=["onUpdate:modelValue"],Ag=["onClick"];function gg(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator"),l=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",ag,[e.schema.schema?(t.openBlock(),t.createBlock(s,{key:0,model:e.value,options:e.formOptions,schema:e.schema.schema,onModelUpdated:r.updateModel},null,8,["model","options","schema","onModelUpdated"])):(t.openBlock(),t.createElementBlock("div",og,[t.createElementVNode("table",{id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(d,p)=>(t.openBlock(),t.createElementBlock("tr",{key:p},[t.createElementVNode("td",null,t.toDisplayString(p),1),o.keyTypes[p]==="string"?(t.openBlock(),t.createElementBlock("td",sg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"text"},null,8,lg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="boolean"?(t.openBlock(),t.createElementBlock("td",cg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"checkbox"},null,8,dg),[[t.vModelCheckbox,e.value[p]]])])):t.createCommentVNode("",!0),o.keyTypes[p]==="number"?(t.openBlock(),t.createElementBlock("td",ug,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[p]=u,type:"number"},null,8,pg),[[t.vModelText,e.value[p]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>r.removeElement(p)},null,8,Ag)])]))),128))],10,rg),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.newKeyType=d)},n[3]||(n[3]=[t.createElementVNode("option",{value:"string"}," String ",-1),t.createElementVNode("option",{value:"number"}," Number ",-1),t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)]),512),[[t.vModelSelect,o.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=d=>o.newKeyName=d),type:"text"},null,512),[[t.vModelText,o.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...d)=>r.addKey&&r.addKey(...d))})]))])),[[l,o.attributes]])}const so=me(ig,[["render",gg],["__scopeId","data-v-b7e3dcd7"]]),mg={components:{TrashIcon:Fe.TrashIcon},mixins:[ze],inject:{autofillSlot:{from:Ue,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(o=>{const r=o.indexOf(i+"-");if(r>-1&&Array.isArray(n))if(n.length>0){const s=o.split("-").filter(d=>n.find(p=>p.model===d)),l=o.split(`-${s}`)[0].split(`${i}-`)[1];s.length?a[l]={...a[l],[s]:e[o]}:a[o.substring(r+`${i}-`.length)]=e[o]}else a[o.substring(`${i}-`.length)]=e[o];else{const s=o.split("-").filter(d=>d===this.schema.model),l=o.split(`-${s}`)[0].split(`${i}-`)[1];l&&(a[l]=e[o])}return o}),a},addKey(){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)}}},fg=["id"],hg=["data-testid"],yg={class:"item-wrapper"},bg={class:"index-wrapper"},Eg={key:0},wg={key:1},Cg=["onUpdate:modelValue","placeholder","onInput"],Bg={key:0,class:"hint"},kg={class:"input-item"},Ig=["placeholder"],Og={key:0,class:"hint"};function vg(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton"),d=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",{id:e.getFieldID(e.schema),class:t.normalizeClass(["object-advanced-wrapper",e.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",yg,[t.createElementVNode("div",bg,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:A=>r.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["onClick"])])]),n[1]||(n[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),r.subSchema?(t.openBlock(),t.createElementBlock("div",Eg,[t.createVNode(d,{model:r.transformedModel[u],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",wg,[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=>r.updateModel(e.value[u],e.model[e.schema.model])},null,40,Cg),[[t.vModelText,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",Bg,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema.fields&&e.schema.fields[0].schema||e.schema.values,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))])),n[2]||(n[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,hg))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",kg,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=p=>o.newKeyName=p),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,Ig),[[t.vModelText,o.newKeyName]]),t.createVNode(l,{appearance:"tertiary","data-testid":"add-key",disabled:!o.newKeyName,onClick:r.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(e.schema.buttonLabel||e.schema.label),1)]),_:1},8,["disabled","onClick"])]),e.schema.hintText?(t.openBlock(),t.createElementBlock("p",Og,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,fg)}const lo=me(mg,[["render",vg],["__scopeId","data-v-3a00058c"]]),Mg={class:"radio-selection-group"},Rg=t.defineComponent({__name:"FieldRadio",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{updateModelValue:s,value:l,clearValidationErrors:d}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:u=>{o("modelUpdated",u.value,u.model)}});n({clearValidationErrors:d});const p=u=>{let A=u;typeof u=="string"&&(A=u.split(","),a.schema.array||(A=A.toString())),s(A,u)};return(u,A)=>{const g=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Mg,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(I,S)=>(t.openBlock(),t.createBlock(g,{id:e.schema.name+"-"+S,key:I.value,modelValue:t.unref(l),"onUpdate:modelValue":A[0]||(A[0]=y=>t.isRef(l)?l.value=y:null),label:I.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":I.value,onChange:p},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),co=me(Rg,[["__scopeId","data-v-09b8afda"]]),uo=t.defineComponent({__name:"FieldSelect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.computed(()=>a.schema.selectOptions||{}),s=y=>Ce(y)?null:y,l=t.toRefs(a),{getFieldID:d,clearValidationErrors:p,value:u}=kt.useAbstractFields({model:l.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,emitModelUpdated:y=>{o("modelUpdated",y.value,y.model)}});n({clearValidationErrors:p});const A=t.computed(()=>{const y=a.schema.values;return g(typeof y=="function"?y.apply(this,[a.model,a.schema]):y)}),g=y=>{const v=[];return y.forEach(T=>{v.push({label:S(T),value:I(T),disabled:typeof T=="object"&&T.disabled||void 0,group:typeof T=="object"&&String(T.group||"").toUpperCase()||void 0})}),v},I=y=>{if(Ve(y)){if(r.value&&typeof r.value.value<"u")return y[r.value.value];if(typeof y.id<"u")return String(y.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 y},S=y=>{if(Ve(y)){if(r.value&&typeof r.value.name<"u")return y[r.value.name];if(typeof y.name<"u")return String(y.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(y)};return(y,v)=>{const T=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(T,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":v[0]||(v[0]=P=>t.isRef(u)?u.value=P:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:A.value,"kpop-attributes":{"data-testid":`${t.unref(d)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:r.value.hideNoneSelectedText?void 0:r.value.noneSelectedText||"Nothing Selected",required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","class","clearable","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),Tg={name:"FieldArray",components:{FieldArrayItem:no,FieldArrayMultiItem:io,FieldSelect:uo,FieldMetric:ro,FieldObject:so,FieldObjectAdvanced:lo,FieldAutoSuggest:ao,FieldRadio:co,FieldArrayCardContainer:to,FieldInput:oo},mixins:[ze],inject:{autofillSlot:{from:Ue,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,i){var a,o,r;let s;return n&&(s=JSON.parse(JSON.stringify(n)),(r=(o=(a=s.schema)==null?void 0:a.fields)==null?void 0:o.map)==null||r.call(o,l=>(l.id=`${l.id||l.model}-${i}`,l))),{...s,set(l,d){e[i]=d},get(){return e[i]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,i)=>i!==e)},getFieldType(e){return"field-"+e.type},modelUpdated(){this.$emit("refreshModel")},handleInput(e,n){this.value=this.value.map((i,a)=>a===n?e:i)}}},Sg=["id"],xg={key:1},Vg=["onUpdate:modelValue","aria-labelledby","type"],Ng=["onUpdate:modelValue","aria-labelledby"];function Dg(e,n,i,a,o,r){const s=t.resolveComponent("KTextArea"),l=t.resolveComponent("KInput"),d=t.resolveComponent("KButton");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(p,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,index:u,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",xg,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:2,"data-testid":`${e.getFieldID(e.schema)}-item-${u}`,model:p,schema:r.generateSchema(e.value,e.schema.items,u),onRemoveItem:A=>r.removeElement(u)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var A;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(s,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[u],"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),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=>{r.handleInput(g,u)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":g=>e.value[u]=g,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((A=e.schema.inputAttributes)==null?void 0:A.type)||"text"}),null,16,Vg)),[[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,Ng),[[t.vModelText,e.value[u]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:A=>e.value[u]=A,value:e.value[u]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:r.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||i.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,Sg)):t.createCommentVNode("",!0)}const Pg=me(Tg,[["render",Dg],["__scopeId","data-v-367d2ee8"]]),Gg={class:"form-field-wrapper field-checkbox"},Ug=t.defineComponent({__name:"FieldCheckbox",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),{getFieldID:s,value:l,clearValidationErrors:d}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:p=>{o("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:d}),(p,u)=>{const A=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",Gg,[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"])])}}}),Lg=me(Ug,[["__scopeId","data-v-6b4ee1cd"]]);var jg=4;function po(e){return Xt(e,jg)}const Yg={class:"wrapper"},Hg=["disabled"],Fg=["id","checked","disabled","onChange","name"],Kg=["disabled"],zg={class:"info"},qg={class:"dropList"},Jg=["id","checked","disabled","onChange","name"];function Xg(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Yg,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,Fg),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,Hg)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:o.comboExpanded}]),onClick:n[0]||(n[0]=(...l)=>r.onExpandCombo&&r.onExpandCombo(...l))},[t.createElementVNode("div",zg,t.toDisplayString(r.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",qg,[o.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":r.isItemChecked(l)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:r.isItemChecked(l)||null,disabled:e.disabled||null,onChange:d=>r.onChanged(d,l),name:r.getInputName(l)},null,40,Jg),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Kg))])),[[s,"wrapper"]])}const Qg={mixins:[ze],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?xa(this.schema.inputName+"_"+this.getItemValue(e)):xa(this.getItemValue(e))},getItemValue(e){if(Ve(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(Ve(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((Ce(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=po(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=po(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},Zg=me(Qg,[["render",Xg]]),Wg={name:"FieldKeyValuePairs",components:{TrashIcon:Fe.TrashIcon},mixins:[ze],inject:{autofillSlot:{from:Ue,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)}}},_g={class:"key-value-pairs-editor"},$g={class:"pair-item-cell"},em=["data-testid","placeholder","value","onInput"],tm={class:"pair-item-cell"},nm=["data-testid","placeholder","value","onInput"];function im(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",_g,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.pairs,(d,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:"pair-item"},[t.createElementVNode("div",$g,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${p}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:d.key,onInput:u=>{r.onInput(u,p,"key")}},null,40,em),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"key"),value:d.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",tm,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${p}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:d.value,onInput:u=>{r.onInput(u,p,"value")}},null,40,nm),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.autofillSlot),{schema:e.schema,update:u=>r.onInput({target:{value:u}},p,"value"),value:d.value},null,8,["schema","update","value"]))]),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${p}`,onClick:()=>{r.removePair(p)}},{default:t.withCtx(()=>[t.createVNode(s)]),_:2},1032,["data-testid","onClick"])]))),128)),t.createVNode(l,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:r.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const am=me(Wg,[["render",im],["__scopeId","data-v-70998d5b"]]),om=t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,i=t.toRefs(n),{getFieldID:a,value:o}=kt.useAbstractFields({model:i.model,schema:n.schema,formOptions:n.formOptions});return(r,s)=>{const l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(l,{id:t.unref(a)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(o)),1)]),_:1},8,["id"])],2)}}}),rm=me(om,[["__scopeId","data-v-d046a15a"]]),sm={mixins:[ze],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function lm(e,n,i,a,o,r){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":r.onUpdate},null,8,["aria-labelledby","items","label-attributes","model-value","placeholder","required","onUpdate:modelValue"])}const cm=me(sm,[["render",lm]]),dm={mixins:[ze],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(o=>this.updateModel("",o.model)),i&&i.forEach(o=>this.updateModel(this.fieldModel[o.model],o.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{e.fields&&e.fields.forEach(i=>{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)}}},um={class:"selection-group"},pm={class:"form-group horizontal-radios"},Am={class:"radio-group"},gm=["value"],mm={class:"control-help"},fm={class:"option-field"},hm={class:"option-field-container"};function ym(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",um,[t.createElementVNode("div",pm,[t.createElementVNode("div",Am,[(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=>o.checkedGroup=p),class:"k-input",type:"radio",value:d},null,8,gm),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",mm,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",fm,[t.createElementVNode("div",hm,[t.createVNode(s,{model:e.model,options:{helpAsHtml:!0},schema:{fields:l.fields},onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])],512),[[t.vShow,l.fields&&o.checkedGroup===d]])]))),128))])}const bm=me(dm,[["render",ym],["__scopeId","data-v-0aaaf597"]]),Em={packageName:"forms"},wm={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"}},Cm={labels:{on:"On",off:"Off"}},Cn={general:Em,"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:wm,vfg:Cm},Bm={class:"form-field-wrapper"},km=t.defineComponent({__name:"FieldSwitch",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,{t:r}=$e.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}=kt.useAbstractFields({model:d.model,schema:a.schema,formOptions:a.formOptions,formatValueToField:s,formatValueToModel:l,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});return n({clearValidationErrors:A}),(g,I)=>{const S=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",Bm,[t.createVNode(S,{id:t.unref(p)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":I[0]||(I[0]=y=>t.isRef(u)?u.value=y:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(u)?e.schema.textOn||t.unref(r)("vfg.labels.on"):e.schema.textOff||t.unref(r)("vfg.labels.off"),"label-attributes":{info:e.schema.help},name:e.schema.inputName,required:e.schema.required||void 0},null,8,["id","modelValue","autocomplete","class","disabled","label","label-attributes","name","required"])])}}}),Im={class:"field-textarea"},Om=t.defineComponent({__name:"FieldTextArea",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:i}){const a=e,o=i,r=t.toRefs(a),s=t.inject(Ue,void 0),{updateModelValue:l,getFieldID:d,clearValidationErrors:p,value:u}=kt.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:g=>{o("modelUpdated",g.value,g.model)}});n({clearValidationErrors:p});const A=g=>{u.value=g,l(g,g)};return(g,I)=>{const S=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",Im,[t.createVNode(S,t.mergeProps(g.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":I[0]||(I[0]=y=>t.isRef(u)?u.value=y: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"]))])}}}),vm=me(Om,[["__scopeId","data-v-b6cec018"]]),Mm=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:VA,FieldArray:Pg,FieldArrayCardContainer:to,FieldArrayItem:no,FieldArrayMultiItem:io,FieldAutoSuggest:ao,FieldCheckbox:Lg,FieldChecklist:Zg,FieldInput:oo,FieldKeyValuePairs:am,FieldLabel:rm,FieldMetric:ro,FieldMultiselect:cm,FieldObject:so,FieldObjectAdvanced:lo,FieldRadio:co,FieldSelect:uo,FieldSelectionGroup:bm,FieldSwitch:km,FieldTextArea:vm},Symbol.toStringTag,{value:"Module"})),Rm={name:"FormGroup",components:Mm,mixins:[Va],inject:{"vfg-array-item-index":{default:void 0}},props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated","refreshModel"],data(){return{child:t.ref()}},computed:{schema(){var e;if(!((e=this.field)!=null&&e.schema)||!Array.isArray(this.field.schema.fields))return this.field;const n=this["vfg-array-item-index"];return typeof n!="number"||Number.isNaN(n)?this.field:{...this.field,schema:{...this.field.schema,fields:this.field.schema.fields.map(i=>({...i,...i.id?{id:`${i.id}-${n}`}:void 0}))}}}},methods:{fieldTypeHasLabel(e){if(Ce(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=le(this.options,"fieldIdPrefix","");return qn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return le(e,"type","button")},onFieldValidated(e,n,i){this.$emit("validated",e,n,i)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,i){return e.onclick.call(this,this.model,n,i,this)},fieldHint(e){return ge(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},Tm=["innerHTML"],Sm={class:"icon-wrapper"},xm=["innerHTML"],Vm={key:0,class:"link-wrapper"},Nm={class:"field-wrap"},Dm={key:0,class:"buttons"},Pm=["type","onClick","textContent"],Gm=["innerHTML"],Um={key:2,class:"errors help-block"},Lm=["innerHTML"];function jm(e,n,i,a,o,r){const s=t.resolveComponent("KExternalLink"),l=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(i.field)])},[r.fieldTypeHasLabel(i.field)?(t.openBlock(),t.createBlock(l,{key:0,"aria-describedby":i.field.help?r.getTooltipId(i.field):void 0,class:t.normalizeClass([i.field.labelClasses,"form-group-label"]),for:r.getFieldID(i.field),info:!i.options.helpAsHtml&&i.field.help?i.field.help:void 0,"tooltip-attributes":i.field.help?{maxWidth:"300",placement:"top",tooltipId:r.getTooltipId(i.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",Sm,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,xm)]),i.field.link?(t.openBlock(),t.createElementBlock("div",Vm,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>n[0]||(n[0]=[t.createElementVNode("span",{class:"section-header"},"More info",-1)])),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[i.options.helpAsHtml&&i.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.field.help},null,8,Tm)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",Nm,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(i.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(i.field)||null,"form-options":i.options,hint:i.field.hint&&r.getFieldType(i.field)==="field-input"?r.fieldHint(i.field):void 0,model:i.model,schema:r.schema,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onRefreshModel","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",Dm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(d,p)=>(t.openBlock(),t.createElementBlock("button",{key:p,class:t.normalizeClass(d.classes),type:r.getButtonType(d),onClick:u=>r.buttonClickHandler(d,i.field,u),textContent:t.toDisplayString(d.label)},null,10,Pm))),128))])):t.createCommentVNode("",!0)]),i.field.hint&&r.getFieldType(i.field)!=="field-input"?(t.openBlock(),t.createElementBlock("div",{key:1,class:"hint",innerHTML:r.fieldHint(i.field)},null,8,Gm)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Um,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(d,p)=>(t.openBlock(),t.createElementBlock("span",{key:p,innerHTML:d},null,8,Lm))),128))])):t.createCommentVNode("",!0)],2)}const Ym=me(Rm,[["render",jm],["__scopeId","data-v-49ca89d6"]]),Hm={name:"FormGenerator",components:{formGroup:Ym},mixins:[Va],inject:{autofillSlot:{from:Ue,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[Ue]:(e=this.$slots)==null?void 0:e[ot]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated","refreshModel"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&ve(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&ve(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 ge(e.visible)?e.visible.call(this,this.model,e,this):Ce(e.visible)?!0:e.visible},onFieldValidated(e,n,i){this.errors=this.errors.filter(o=>o.field.fieldName!==i.schema.fieldName),!e&&n&&n.length>0&&ve(n,o=>{this.errors.push({field:i.schema,error:o})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=le(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];ve(this.$refs.children,o=>{ge(o.validate)&&(n.push(o.$refs.child),i.push(o.$refs.child.validate(!0)))});const a=o=>{const r=[];ve(o,(l,d)=>{Array.isArray(l)&&l.length>0&&ve(l,p=>{r.push({field:n[d].schema,error:p})})}),this.errors=r;const s=r.length===0;return this.$emit("validated",s,r,this),e?r:s};return e?Promise.all(i).then(a):a(i)},clearValidationErrors(){this.errors.splice(0),ve(this.$refs.children,e=>{e.clearValidationErrors()})}}},Fm={key:0,class:"vue-form-generator"},Km={key:0};function zm(e,n,i,a,o,r){const s=t.resolveComponent("form-group"),l=t.resolveComponent("KCollapse");return i.schema!=null?(t.openBlock(),t.createElementBlock("div",Fm,[i.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fields,d=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:d.model},[r.fieldVisible(d)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:d,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(d,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${p}`},[d.collapsible!==void 0&&d.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:d.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,A,g,I;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,(I=d.slots)==null?void 0:I.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),d.collapsible!==!0&&d.collapsible.nestedCollapsible&&d.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${p}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${p}-nested`]??!0?d.collapsible.nestedCollapsible.triggerLabel.expand:d.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":S=>o.collapseStates[`group-${p}-nested`]=S},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.collapsible.nestedCollapsible.fields,S=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:S.model},[r.fieldVisible(S)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:S,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[d.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(d.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(d))},{default:t.withCtx(()=>[d.legend?(t.openBlock(),t.createElementBlock("legend",Km,t.toDisplayString(d.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[r.fieldVisible(u)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:u,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onRefreshModel:r.onRefreshModel,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Re=me(Hm,[["render",zm]]),Ao=new Set(["config-client_id","config-client_secret","config-issuer"]),go=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"]),qm={name:"OIDCForm",components:{VueFormGenerator:Re},provide(){var e;return{[Ue]:(e=this.$slots)==null?void 0:e[ot]}},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(Ao).reduce((i,a)=>(n[a]&&i.push(n[a]),i),[])},this.authFieldsSchema={fields:Array.from(go).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"&&!Ao.has(i.model)&&!go.has(i.model)||i.model==="tags").reduce((i,a)=>{var o,r,s,l;switch(a.model){case"config-client_jwk":{if(Array.isArray((r=(o=a.items)==null?void 0:o.schema)==null?void 0:r.fields))for(const d of a.items.schema.fields)d.label=d.model;i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record",newElementButtonLabel:"+ Add Client JWK",...Array.isArray((l=(s=a.items)==null?void 0:s.schema)==null?void 0:l.fields)&&a.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-session_redis_cluster_nodes":{i.push({...a,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record",newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(a)}return i},[])},this.sessionManagement=this.isEditing?this.formModel["config-auth_methods"].includes("session"):!1,this.authMethods=[{label:"Authorization Code Flow",value:"authorization_code",hint:"authorization code flow",prop:this.isEditing?this.formModel["config-auth_methods"].includes("authorization_code"):!1},{label:"Bearer Access Token",value:"bearer",hint:"JWT access token verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("bearer"):!1},{label:"Client Credentials Grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("client_credentials"):!1},{label:"Passwords Grant",value:"password",hint:"OAuth legacy password grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("password"):!1},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.isEditing?this.formModel["config-auth_methods"].includes("introspection"):!1},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.isEditing?this.formModel["config-auth_methods"].includes("userinfo"):!1},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.isEditing?this.formModel["config-auth_methods"].includes("kong_oauth2"):!1},{label:"Refresh Token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.isEditing?this.formModel["config-auth_methods"].includes("refresh_token"):!1}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const a of i.fields){const o=(e=n[a.model])==null?void 0:e.help;a.help===void 0&&typeof o=="string"&&(a.help=o)}}},getAuthMethodsValue(e,n){const i=[];for(let a=0;a<this.authMethods.length;a++)this.authMethods[a].prop&&this.authMethods[a].value!==e&&i.push(this.authMethods[a].value);return this.sessionManagement&&e&&i.push("session"),n&&(e?i.push(e):i.push("session")),i},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()}}},Jm={class:"general-settings"},Xm={class:"link-wrapper"},Qm={class:"auth-method-container"},Zm={class:"general-settings"},Wm={class:"link-wrapper"},_m={class:"general-settings"},$m={class:"link-wrapper"};function ef(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel"),p=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),A=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[i.formModel.id&&i.isEditing||!i.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:i.formModel,options:i.formOptions,schema:o.globalFields,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(A,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Jm,[t.createElementVNode("div",Xm,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>n[1]||(n[1]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])),_:1})]),n[3]||(n[3]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.commonFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(d,null,{default:t.withCtx(()=>n[2]||(n[2]=[t.createTextVNode("Auth Methods")])),_:1}),t.createElementVNode("div",Qm,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":I=>g.prop=I,onChange:I=>r.handleUpdate(I,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>o.sessionManagement=g),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Zm,[t.createElementVNode("div",Wm,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>n[4]||(n[4]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])),_:1})]),n[5]||(n[5]=t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.authFieldsSchema,onModelUpdated:i.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",_m,[t.createElementVNode("div",$m,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>n[6]||(n[6]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])),_:1})]),n[7]||(n[7]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.advancedFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const tf=me(qm,[["render",ef],["__scopeId","data-v-bb72c68e"]]),nf=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(Ue,(n=t.useSlots())==null?void 0:n[ot]);const{t:i,te:a}=$e.createI18n("en-us",Cn),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`post-function.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="post-function-array-item-container",d.fieldItemsClasses="post-function-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),af=me(nf,[["__scopeId","data-v-f54f37ae"]]),of=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(Ue,(n=t.useSlots())==null?void 0:n[ot]);const{t:i,te:a}=$e.createI18n("en-us",Cn),o=e,r=t.computed(()=>o.formModel.id&&o.isEditing||!o.isEditing),s=t.computed(()=>{const l=o.formSchema;return l.fields.map(d=>{const p=`exit-transformer.${d.model}`;return d.hint=a(`${p}.hint`)&&i(`${p}.hint`)||d.hint,d.help=a(`${p}.help`)&&i(`${p}.help`)||d.help,d.newElementButtonLabel=a(`${p}.newElementButtonLabel`)&&i(`${p}.newElementButtonLabel`)||d.newElementButtonLabel,d.model!=="tags"&&(d.valueType==="array"||d.type==="array")&&(d.type="array",d.valueArrayType="array",d.itemContainerComponent="FieldArrayItem",d.fieldClasses="exit-transformer-array-item-container",d.fieldItemsClasses="exit-transformer-array-item",d.inputAttributes={...d.inputAttributes,type:"textarea"}),d}),l});return(l,d)=>r.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),rf=me(of,[["__scopeId","data-v-0d5c541f"]]),sf={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}]},lf={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}]},cf={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}]},df={class:"general-settings"},uf={class:"sub-form"},pf={class:"general-settings"},Af={class:"sub-form"},gf={class:"general-settings"},mf=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(Ue,(n=t.useSlots())==null?void 0:n[ot]);const i=e,a=t.ref("zeroSsl"),o=t.ref("shm"),r=t.computed(()=>{var f;const k={};if((f=i.formSchema)!=null&&f.fields)for(const O of i.formSchema.fields)k[O.model]=O;return k}),s=t.computed(()=>{var f;const k=We(sf);for(const O of k.fields){const H=(f=r.value[O.model])==null?void 0:f.help;O.help===void 0&&typeof H=="string"&&(O.help=H)}return k}),l=t.computed(()=>{var f;const k=We(lf);for(const O of k.fields){const H=(f=r.value[O.model])==null?void 0:f.help;O.help===void 0&&typeof H=="string"&&(O.help=H)}return k}),d=t.computed(()=>{var f;const k=We(cf);for(const O of k.fields){const H=(f=r.value[O.model])==null?void 0:f.help;O.help===void 0&&typeof H=="string"&&(O.help=H)}return k}),p=t.computed(()=>({fields:i.formSchema.fields.filter(f=>!f.model.startsWith("config")&&f.model!=="tags")})),u=t.computed(()=>({fields:s.value.fields.filter(f=>!l.value.fields.some(k=>k.model===f.model)&&!d.value.fields.some(k=>k.model===f.model))})),A=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage")&&!f.model.startsWith("config-storage_config-consul")&&!f.model.startsWith("config-storage_config-redis")&&!f.model.startsWith("config-storage_config-shm")&&!f.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-consul"))})),I=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-redis"))})),S=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-shm"))})),y=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config-storage_config-vault"))})),v=t.computed(()=>({fields:i.formSchema.fields.filter(f=>f.model.startsWith("config")&&!u.value.fields.filter(k=>k.model===f.model).length&&!A.value.fields.filter(k=>k.model===f.model).length||f.model==="tags")})),T=t.computed(()=>i.formModel.id&&i.isEditing||!i.isEditing),P=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],w=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{a.value==="zeroSsl"&&(i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const m=f=>{a.value=f.value,(f.value==="zeroSsl"||f.value==="other")&&(f.value==="zeroSsl"?i.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":i.formModel["config-api_uri"]="https://acme.example.com/",i.formModel["config-tos_accepted"]=!1),f.value==="letsEncrypt"&&(i.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",i.formModel["config-eab_hmac_key"]="",i.formModel["config-eab_kid"]=""),i.onModelUpdated()},B=(f,k)=>{k==="config-storage"&&(o.value=f),i.onModelUpdated()};return(f,k)=>{const O=t.resolveComponent("KSelect"),H=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Re,{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(H,{tabs:P},{general:t.withCtx(()=>[t.createElementVNode("div",df,[k[0]||(k[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),k[1]||(k[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),T.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),k[2]||(k[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(O,{class:"issuer-select",items:w,label:"Issuer",onChange:m}),t.createElementVNode("div",uf,[a.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Re,{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(Re,{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",pf,[k[3]||(k[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),k[4]||(k[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),T.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:A.value,onModelUpdated:B},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",Af,[o.value==="consul"?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="redis"?(t.openBlock(),t.createBlock(Re,{key:1,model:e.formModel,options:e.formOptions,schema:I.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="shm"?(t.openBlock(),t.createBlock(Re,{key:2,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="vault"?(t.openBlock(),t.createBlock(Re,{key:3,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",gf,[k[5]||(k[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),k[6]||(k[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),T.value?(t.openBlock(),t.createBlock(Re,{key:0,model:e.formModel,options:e.formOptions,schema:v.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),ff=me(mf,[["__scopeId","data-v-bb5a3a33"]]),hf={class:"rla-form-basic-fields"},yf={class:"rla-form-request-limits-subtitle"},bf={class:"rla-form-request-limits-content"},Ef={class:"rla-form-window-type"},wf=["innerHTML"],Cf={class:"rla-form-window-type-radios"},Bf={class:"rla-form-request-limits-items"},kf={class:"rla-form-request-limits-row"},If=["id"],Of={class:"rla-form-request-limits-actions"},vf={key:0,class:"rla-form-request-limits-examples"},Mf={class:"rla-form-request-limits-examples-badges"},Rf=["innerHTML"],Tf={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Sf=t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},isEditing:{type:Boolean}},setup(e){var n;t.provide(Ue,(n=t.useSlots())==null?void 0:n[ot]);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
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(V=>`config-${V}`)]),o=V=>V===void 0?!1:a.has(V),{t:r}=$e.createI18n("en-us",Cn),s=e,l=t.computed(()=>{var V,N;const Y=(N=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:N.find(q=>q.type==="selectionGroup"&&q.model==="selectionGroup");if(Y)return{fields:[Y]}}),d=t.computed(()=>{var V,N;const Y=((N=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:N.filter(x=>!o(x.model)))??[],q=[],_=[],ee=[];let X=!1;for(const x of Y){const h=x.model;if(h!==void 0){if(h.startsWith("config-redis-")){(x.model==="config-redis-cluster_addresses"||x.model==="config-redis-sentinel_addresses")&&(x.inputAttributes.help=r("rla.redis.address_example")),_.push(x);continue}X?ee.push(x):q.push(x),x.model==="config-strategy"&&(X=!0)}}return{endsWithStrategy:{fields:q},redis:{fields:_},afterStrategy:{fields:ee}}}),p=t.computed(()=>{const V=s.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(i,V)?i[V]:[]}),u=t.computed(()=>{var V,N;return(N=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:N.find(Y=>Y.model==="config-identifier")}),A=t.computed(()=>{var V,N,Y;return(((Y=(N=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:N.find(q=>q.model==="config-identifier"))==null?void 0:Y.values)??[]).map(q=>({label:r(`rla.identifiers.options.${q}`),value:q}))}),g=t.ref(),I=t.ref(!0),S=t.computed(()=>{var V,N,Y;return s.formModel["config-window_type"]??((Y=(N=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:N.find(q=>q.model==="config-window_type"))==null?void 0:Y.default)}),y=t.computed(()=>{var V,N,Y,q,_,ee;const X=(Y=(N=(V=s.formSchema)==null?void 0:V.fields)==null?void 0:N.find(x=>x.model==="config-window_type"))==null?void 0:Y.default;return(((ee=(_=(q=s.formSchema)==null?void 0:q.fields)==null?void 0:_.find(x=>x.model==="config-window_type"))==null?void 0:ee.values)??[]).sort((x,h)=>x===X?-1:h===X?1:0)}),v=t.computed(()=>{var V;const N=(V=s.formModel["config-limit"])==null?void 0:V.map((Y,q)=>{var _,ee;return{limit:Y,windowSize:(ee=(_=s.formModel)==null?void 0:_["config-window_size"])==null?void 0:ee[q]}});return!Array.isArray(N)||N.length===0?[{limit:void 0,windowSize:void 0}]:N}),T=t.computed(()=>{var V,N,Y,q;return((V=s.formModel)==null?void 0:V["config-identifier"])??((q=(Y=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:Y.find(_=>_.model==="config-identifier"))==null?void 0:q.default)}),P=t.computed(()=>{var V,N,Y,q;return((V=s.formModel)==null?void 0:V["config-error_code"])??((q=(Y=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:Y.find(_=>_.model==="config-error_code"))==null?void 0:q.default)}),w=t.computed(()=>{var V,N,Y,q;return((V=s.formModel)==null?void 0:V["config-error_message"])??((q=(Y=(N=s.formSchema)==null?void 0:N.fields)==null?void 0:Y.find(_=>_.model==="config-error_message"))==null?void 0:q.default)}),m=(V,N)=>{if(N===g.value){s.onModelUpdated([],"config-limit"),s.onModelUpdated([],"config-window_size"),t.nextTick(()=>{g.value=void 0});return}s.onModelUpdated([V.config.limit],"config-limit"),s.onModelUpdated([V.config.window_size],"config-window_size"),t.nextTick(()=>{g.value=N})},B=V=>{g.value!==void 0&&(g.value=void 0),V!==null&&s.onModelUpdated(V.toString(),"config-window_type")},f=(V,N)=>{var Y;g.value!==void 0&&(g.value=void 0);const q=We(((Y=s.formModel)==null?void 0:Y["config-limit"])??[]);q[V]=N,s.onModelUpdated(q,"config-limit")},k=(V,N)=>{var Y;g.value!==void 0&&(g.value=void 0);const q=We(((Y=s.formModel)==null?void 0:Y["config-window_size"])??[]);q[V]=N,s.onModelUpdated(q,"config-window_size")},O=V=>{var N,Y;g.value!==void 0&&(g.value=void 0);const q=We(((N=s.formModel)==null?void 0:N["config-limit"])??[]),_=We(((Y=s.formModel)==null?void 0:Y["config-window_size"])??[]);q.length===0&&q.push(void 0),_.length===0&&_.push(void 0),q.splice(V+1,0,void 0),_.splice(V+1,0,void 0),s.onModelUpdated(q,"config-limit"),s.onModelUpdated(_,"config-window_size")},H=V=>{var N,Y;if(v.value.length>1){g.value!==void 0&&(g.value=void 0);const q=We(((N=s.formModel)==null?void 0:N["config-limit"])??[]),_=We(((Y=s.formModel)==null?void 0:Y["config-window_size"])??[]);q.length===0&&q.push(void 0),_.length===0&&_.push(void 0),q.splice(V,1),_.splice(V,1),s.onModelUpdated(q,"config-limit"),s.onModelUpdated(_,"config-window_size")}};return(V,N)=>{const Y=t.resolveComponent("VueFormGenerator"),q=t.resolveComponent("KLabel"),_=t.resolveComponent("KRadio"),ee=t.resolveComponent("KInput"),X=t.resolveComponent("KButton"),x=t.resolveComponent("KBadge"),h=t.resolveComponent("KTooltip"),C=t.resolveComponent("KCard"),J=t.resolveComponent("KSelect"),L=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",hf,[t.createVNode(Y,{model:V.formModel,options:V.formOptions,schema:l.value,onModelUpdated:N[0]||(N[0]=(M,Z)=>V.onModelUpdated(M,Z))},null,8,["model","options","schema"]),t.createVNode(C,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(q,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",yf,t.toDisplayString(t.unref(r)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",bf,[t.createElementVNode("div",Ef,[t.createVNode(q,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(r)("rla.window_type.help")},null,8,wf)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",Cf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,M=>(t.openBlock(),t.createBlock(_,{key:`window-type-${M}`,"model-value":S.value,name:M,"selected-value":M,"onUpdate:modelValue":B},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)(`rla.window_type.options.${M}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",Bf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(v.value,(M,Z)=>(t.openBlock(),t.createElementBlock("div",{key:Z.toString()},[t.createVNode(q,{for:`rla-form-request-limits-item-${Z}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.request_limits.label_index",{index:Z+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",kf,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${Z}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(ee,{"model-value":M.limit&&M.limit.toString(),placeholder:t.unref(r)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":te=>f(Z,Number.parseInt(te))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.interval_determiner")),1),t.createVNode(ee,{"model-value":M.windowSize&&M.windowSize.toString(),placeholder:t.unref(r)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":te=>k(Z,Number.parseInt(te))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.seconds")),1)],8,If),t.createElementVNode("div",Of,[t.createVNode(X,{appearance:"tertiary",disabled:v.value.length<=1,onClick:()=>H(Z)},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.RemoveIcon))]),_:2},1032,["disabled","onClick"]),t.createVNode(X,{appearance:"tertiary",onClick:()=>O(Z)},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.AddIcon))]),_:2},1032,["onClick"])])])]))),128))]),p.value.length>0?(t.openBlock(),t.createElementBlock("div",vf,[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Mf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(M,Z)=>(t.openBlock(),t.createBlock(h,{key:`use-case-${Z}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(M.description),1),N[9]||(N[9]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.label"))+": "+t.toDisplayString(M.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("rla.request_limits.time_interval"))+": "+t.toDisplayString(M.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(x,{appearance:g.value===`${S.value}-${Z}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>m(M,`${S.value}-${Z}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(M.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(J,{modelValue:T.value,"onUpdate:modelValue":N[1]||(N[1]=M=>T.value=M),class:"rla-form-identifiers",items:A.value,label:t.unref(r)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:N[2]||(N[2]=M=>s.onModelUpdated(M.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:u.value&&u.value.help},null,8,Rf)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(q,{for:"rla-form-error-legend",info:t.unref(r)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Tf,[t.createVNode(ee,{class:"input-error-code","model-value":P.value&&P.value.toString(),placeholder:t.unref(r)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":N[3]||(N[3]=M=>V.onModelUpdated(Number.parseInt(M),"config-error_code"))},null,8,["model-value","placeholder"]),N[10]||(N[10]=t.createElementVNode("div",null,":",-1)),t.createVNode(ee,{"model-value":w.value,placeholder:t.unref(r)("rla.error_message.message_placeholder"),"onUpdate:modelValue":N[4]||(N[4]=M=>V.onModelUpdated(M,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(L,{modelValue:I.value,"onUpdate:modelValue":N[8]||(N[8]=M=>I.value=M),"trigger-label":t.unref(r)("rla.view_advanced_fields")},{default:t.withCtx(()=>[t.createVNode(Y,{model:V.formModel,options:V.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:N[5]||(N[5]=(M,Z)=>V.onModelUpdated(M,Z))},null,8,["model","options","schema"]),V.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(C,{key:0,class:"rla-form-redis-card",title:t.unref(r)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(Y,{model:V.formModel,options:V.formOptions,schema:d.value.redis,onModelUpdated:N[6]||(N[6]=(M,Z)=>V.onModelUpdated(M,Z))},null,8,["model","options","schema"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(Y,{class:t.normalizeClass({"rla-last-vfg":V.formModel["config-strategy"]!=="redis"}),model:V.formModel,options:V.formOptions,schema:d.value.afterStrategy,onModelUpdated:N[7]||(N[7]=(M,Z)=>V.onModelUpdated(M,Z))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),xf=me(Sf,[["__scopeId","data-v-7089d0ea"]]),Vf=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:ff,ExitTransformer:rf,OIDCForm:tf,PostFunction:af,RLAForm:xf},Symbol.toStringTag,{value:"Module"})),_n=["array","metric","advanced","selectionGroup","object-advanced"],mo=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e],Pt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},Nf={"config-prompts-prepend":{...Pt,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":{...Pt,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"}]}}}},Df={"config-templates":{...Pt,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"}]}}}},Pf={shamefullyTransformPayload:({originalModel:e,model:n,payload:i})=>{const a=r=>e[r]===n[r]?!1:e[r]===null?n[r]!==""&&!Number.isNaN(n[r]):!0,o=r=>Object.keys(e).some(s=>s.startsWith(r)&&a(s));o("config-embeddings")||(i.config.embeddings=null),o("config-vectordb")||(i.config.vectordb=null)}},Gf={"config-llm_providers":{...Pt,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"}]}}}},Uf={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:Tt.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"}},Wt={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"},_t={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},Lf={"config-metrics":{..._t,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"}]}}}},jf={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Yf={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},Hf={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},fo=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Tt.fields.arrayItems({newElementButtonLabel:"Add"})}),Hf),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"}},Ff={"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":{}},Kf=["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]:Tt.fields.arrayItems({newElementButtonLabel:"Add"})}),Ff),zf={"config-parameter_schema":{..._t,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"}]}}}},qf={"config-rules":{...Pt,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"}]}}}},Jf={"config-session_redis_cluster_nodes":{...Pt,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"}]}}}},Xf={"config-metrics":{..._t,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"]}]}}}},Qf={"config-metrics":{..._t,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"]}]}}}},Zf={"config-behavior-idp_error_response_body_template":{type:"textArea",rows:4}},Wf={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},_f={"config-static_tags":{..._t,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"}]}}}},$f=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},ho=(e,n)=>(e.order??0)-(n.order??0),yo=(e,n)=>$f(e,n)||ho(e,n)||e.model.localeCompare(n.model),Ee={useI18n:cn,usePluginMetaData:Tl,usePluginHelpers:Ri,useSchemas:e=>{const{capitalize:n}=D.useStringHelpers(),{convertToDotNotation:i}=Ri(),{i18n:{t:a}}=cn(),o={"application-registration":{overwriteDefault:!0,formSchema:{...Uf}},datadog:{...Lf},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},statsd:{...Xf},"statsd-advanced":{...Qf},"route-by-header":{...qf},"ai-prompt-decorator":{...Nf},"ai-prompt-template":{...Df},"ai-proxy-advanced":{...Pf},"ai-rate-limiting-advanced":{...Gf},"vault-auth":{...Wf},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...Yf},"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":{...jf},"response-ratelimiting":{...Bn},"pre-function":{...fo},"post-function":{...fo},"request-transformer-advanced":{...Kf},"request-validator":{...zf},zipkin:{..._f},"upstream-oauth":{...Zf},saml:{...Jf}},r=()=>["created_at","updated_at","id"],s=(m,B,f)=>{let k={};(B||m)&&(k=B||(m.fields?m.fields:m));const O=r().concat(m.blacklist?m.blacklist:[]),H=Object.keys(k).filter(ee=>!O.includes(ee)),V=H.indexOf("comparator");V>-1&&H.splice(V,1);let N={fields:[]};const Y={};H.forEach(ee=>{d(k[ee],ee,k,Y,N,f)});const q=Y.name,_=Ke[q];if(mo(q)||_!=null&&_.useLegacyForm||e!=null&&e.credential)N.fields.sort((ee,X)=>(ee.order=ee.order||0,X.order=X.order||0,ee.order-X.order));else{const ee=[],X=[],x=[],h={};if(_!=null&&_.fieldRules){const L=[..._.fieldRules.atLeastOneOf??[],..._.fieldRules.onlyOneOf??[],..._.fieldRules.mutuallyRequired??[]];if(_.fieldRules.onlyOneOfMutuallyRequired)for(const M of _.fieldRules.onlyOneOfMutuallyRequired)L.push(...M);for(const M of L)for(const Z of M)h[Z.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const L of N.fields){if(L.pinned){ee.push(L);continue}if(L.required||h[L.model]!==void 0){h[L.model]===!1&&(h[L.model]=!0),X.push(L);continue}x.push(L)}const C=Object.entries(h).filter(([,L])=>!L).map(([L])=>L.replace(/-/g,".").replace(/_/g,"-"));C.length>0&&console.warn(`Unknown checked fields for plugin ${q}: ${C.join(", ")}`);const J=[];ee.length>0&&J.push({fields:ee.sort(ho)}),(X.length>0||x.length>0)&&J.push({fields:X.sort(yo),collapsible:{title:a("plugins.form.grouping.plugin_configuration.title"),description:a("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:x.sort(yo),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"}}),N={groups:J}}return{schema:N,model:Y,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},l=m=>Array.isArray(m.default)||m.default!=null&&typeof m.default!="object"&&m.default!=="function",d=(m,B,f,k,O,H)=>{const V=l(m);return k[B]=V?m.default:null,m.id=B,m.model=B,m.fields&&m.type==="record"?u(m,B,f,k,O,H):(f[B]=m,w(m,k),H&&H[B]&&p(f[B],H[B]),O.fields.push(m)),f},p=(m,B)=>(B&&(Object.assign(m,B),B.label&&(m.label=B.label)),m),u=(m,B,f,k,O,H)=>{m.fields.forEach(V=>{Object.keys(V).forEach(N=>{const Y=V[N];f=d(Y,B+"-"+N,f,k,O,H)})})},A=(m,B)=>{m.type="input",m.inputType="hidden",m.styleClasses="kong-form-hidden-field-wrapper";const f=e==null?void 0:e.entityId;B[m.model]=f?{id:f}:null},g=m=>{m.type="input",m.inputType="number",m.between&&m.between.length===2&&(m.min=m.between[0],m.max=m.between[1])},I=m=>{Object.prototype.hasOwnProperty.call(m,"one_of")?(m.type="select",m.values=m.one_of,m.selectOptions={hideNoneSelectedText:!0}):(m.type="input",m.inputType="text")},S=m=>{m.type="checkbox",m.default=!0,m.required=!1},y=m=>{if(m.type="object-advanced",m.values.type==="array"){const{type:B}=m.values.elements||{};m.schema={fields:[{schema:{fields:[{...Wt,model:m.model,valueArrayType:B==="integer"?"number":B||"string",inputAttributes:{...Wt.inputAttributes,type:B==="integer"?"number":"text",inputMode:B==="integer"?"numeric":"text"}}]}}]}}else m.values.fields&&(m.schema={fields:[{type:"object",model:"object",schema:{fields:m.values.fields.map(B=>{const f=Object.keys(B)[0];return{model:f,type:"input",label:n(f),placeholder:f,inputType:B[f].type}})}}]})},v=m=>m.fields.reduce((B,f)=>(f.fields&&f.fields.forEach(k=>{B[k.model]=k}),f.model&&(B[f.model]=f),B),{}),T=(m,B)=>{if(!_n.includes(m.model))return;const f=v(m);_n.forEach(k=>{Object.keys(f).forEach(O=>{const H=l(f[O]);B[O]=H?f[O].default:null}),delete B[k]})},P=(m,B)=>m.inputType==="hidden"?"":i(n(m.label||B.replace(/_/g," "))),w=(m,B)=>{switch(T(m,B),m.type){case"foreign":A(m,B);break;case"number":g(m),m.attributes={step:"any"};break;case"integer":g(m);break;case"string":I(m);break;case"boolean":S(m);break;case"map":y(m);break}m.inputType==="foreign"&&A(m,B),m.label=P(m,m.model)};return{buildFormSchema:d,parseSchema:s,customSchemas:o,typedefs:Tt}}},Te="/v2/control-planes/{controlPlaneId}/core-entities",Oe="/{workspace}",Be={list:{konnect:{all:`${Te}/plugins`,forEntity:`${Te}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Oe}/plugins`,forEntity:`${Oe}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${Te}/v1/available-plugins`},kongManager:{availablePlugins:`${Oe}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${Te}/plugins`,forEntity:`${Te}/{entityType}/{entityId}/plugins`},edit:{all:`${Te}/plugins/{id}`,forEntity:`${Te}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${Te}/{resourceEndpoint}`,edit:`${Te}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${Te}/v1/schemas/json/plugin/validate`,entityGetOne:`${Te}/{entity}/{id}`,entityGetAll:`${Te}/{entity}?size=1000`},kongManager:{create:{all:`${Oe}/plugins`,forEntity:`${Oe}/{entityType}/{entityId}/plugins`},edit:{all:`${Oe}/plugins/{id}`,forEntity:`${Oe}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Oe}/schemas/plugins/{plugin}`,credential:{create:`${Oe}/{resourceEndpoint}`,edit:`${Oe}/{resourceEndpoint}/{id}`},credentialSchema:`${Oe}/schemas/{plugin}`,validate:`${Oe}/schemas/plugins/validate`,entityGetOne:`${Oe}/{entity}/{id}`,entityGetAll:`${Oe}/{entity}`}},item:{konnect:{all:`${Te}/plugins/{id}`,forEntity:`${Te}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Oe}/plugins/{id}`,forEntity:`${Oe}/{entityType}/{entityId}/plugins/{id}`}}},eh={create:"New Vault",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",view:"View Details",loading:"Loading..."},th={general:"Vaults could not be retrieved",delete:"The vault could not be deleted at this time.",copy:"Failed to copy to clipboard"},nh={placeholder_for_vaults:{konnect:"Filter by exact prefix or ID"},placeholder_for_secrets:{konnect:"Filter by exact key"}},ih={title:"Vaults",list:{toolbar_actions:{new_vault:"New Vault"},table_headers:{prefix:"Prefix",name:"Vault Type",description:"Description",tags:"Tags",id:"ID"},empty_state:{title:"Configure a New Vault",description:"Improve the security of your Kong Gateway deployment with centralized secrets."}}},ah={title:"Secrets",list:{toolbar_actions:{new_secret:"Store New Secret"},table_headers:{key:"Secret Key",updated_at:"Updated At"},empty_state:{title:"No Secrets Stored",description:"Improve the security of your Kong Gateway deployment with centralized secrets."}},form:{info:{title:"Secret",description:"Enter the secret key and secret value to be stored in Konnect vault"},fields:{key:{label:"Key",placeholder:"Enter key"},value:{label:"Value",placeholder:"Enter value here, can be simple values or multi-line"}},hint:"Once saved, the secret value will not be visible"}},oh={success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"},rh={vault_type:"Vault Type"},sh={sections:{general:{title:"General Information",description:"General information helps identify and manage this Vault instance."},config:{title:"Vault Configuration",description:"Select a type of Vault and configure properties specific to each type of Vault."}},fields:{prefix:{label:"Prefix",placeholder:"Enter a unique prefix for this vault",help:"e.g. my-vault",tooltip:"The prefix is used to load the right Vault configuration and implementation when referencing secrets with the other entities."},description:{label:"Description",placeholder:"Enter some description for this vault"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3"}},config:{konnect:{label:"Konnect",description:"Access secrets stored directly in Konnect's unified platform to easily reference in Kong Gateway configuration."},env:{label:"Environment Variables",description:"Access secrets stored via variables to be made available in Kong Gateway at runtime.",fields:{prefix:{label:"Environment Variable Prefix",placeholder:"Enter your environment variable vault prefix",tooltip:"Data plane will access all the environment variables starting with this prefix."}}},aws:{label:"AWS Secrets Manager",description:"Access secrets stored in AWS Secrets Manager for Kong Gateway configuration.",fields:{region:{label:"Region",placeholder:"Select an AWS region",tooltip:"The AWS region your vault is located in",locations:{"us-east-1":{location:"N. Virginia"},"us-east-2":{location:"Ohio"},"us-west-1":{location:"N. California"},"us-west-2":{location:"Oregon"},"af-south-1":{location:"Cape Town"},"ap-east-1":{location:"Hong Kong"},"ap-southeast-3":{location:"Jakarta"},"ap-south-1":{location:"Mumbai"},"ap-northeast-1":{location:"Tokyo"},"ap-northeast-2":{location:"Seoul"},"ap-northeast-3":{location:"Osaka"},"ap-southeast-1":{location:"Singapore"},"ap-southeast-2":{location:"Sydney"},"ca-central-1":{location:"Canada"},"eu-central-1":{location:"Frankfurt"},"eu-west-1":{location:"Ireland"},"eu-west-2":{location:"London"},"eu-west-3":{location:"Paris"},"eu-south-1":{location:"Milan"},"eu-north-1":{location:"Stockholm"},"me-south-1":{location:"Bahrain"},"sa-east-1":{location:"São Paulo"},"us-gov-east-1":{location:"US East"},"us-gov-west-1":{location:"US West"}}},endpoint_url:{label:"Endpoint URL",tooltip:'The AWS SecretsManager service endpoint url. If not specified, the value used by vault will be the official AWS SecretsManager service url which is `https://secretsmanager.<region>.amazonaws.com`. You can specify a complete URL(including the "http/https" scheme) to override the endpoint that vault will connect to.'},assume_role_arn:{label:"Assume Role ARN",tooltip:"The target AWS IAM role ARN that will be assumed. Typically this is used for operating between multiple roles or cross-accounts. If you are not using assume role you should not specify this value."},role_session_name:{label:"Role Session Name",tooltip:"The role session name used for role assuming."},sts_endpoint_url:{label:"STS Endpoint URL",tooltip:"The custom STS endpoint URL used for role assuming in AWS Vault. Note that this value will override the default STS endpoint URL(which should be `https: //sts.amazonaws.com`, or `https: //sts.<region>.amazonaws.com` if you have `AWS_STS_REGIONAL_ENDPOINTS` set to `regional`). If you are not using private VPC endpoint for STS service, you should not specify this value."}}},gcp:{label:"Google Secret Manager",description:"Access secrets stored in Google Secret Manager for Kong Gateway configuration.",fields:{project_id:{label:"Project ID",placeholder:"Enter your Google Cloud Project ID",tooltip:{text:"Visit your Google API Console and select {italic-text} in the projects list to see your project ID",italicText:"Manage all projects"}}}},hcv:{label:"HashiCorp Vault",description:"Access secrets stored in HashiCorp Vault for Kong Gateway configuration.",fields:{protocol:{label:"Protocol"},host:{label:"Host"},port:{label:"Port"},mount:{label:"Mount"},kv:{label:"Kv"},namespace:{label:"Namespace"},auth_method:{label:"Authentication Method"},token:{label:"Token"},kube_role:{label:"Kubernetes Role"},kube_auth_path:{label:"Kubernetes Auth Path"},kube_api_token_file:{label:"Kubernetes API Token File"},approle_auth_path:{label:"App Role Auth Path"},approle_role_id:{label:"App Role Role ID"},approle_secret_id:{label:"App Role Secret ID"},approle_secret_id_file:{label:"App Role Secret ID File"},approle_response_wrapping:{label:"App Role Response Wrapping"}}},azure:{label:"Azure Vault",description:"Access secrets stored in Azure Key Vault for Kong Gateway configuration.",fields:{location:{label:"Location"},vault_uri:{label:"Vault URI"},credential_prefix:{label:"Credential Prefix"},type:{label:"Type",placeholder:"Select a type"},client_id:{label:"Client ID"},tenant_id:{label:"Tenant ID"}}},advancedFields:{title:"View Advanced Fields",ttl:"Time-to-Live",ttlTooltip:"Time-to-live (in seconds) of a secret from a vault when cached by this reference",negTtl:"Negative Time-to-Live",negTtlTooltip:"Time-to-live (in seconds) of a vault miss (no secret)",resurrectTtl:"Time-to-Live Resurrection",resurrectTtlTooltip:"Time (in seconds) for which stale secrets from the vault are resurrected for when they cannot be refreshed"}},unavailable:"This vault provider is available on Enterprise."},lh={title:"Look up Key in Vault",vault:{label:"Vault",placeholder:"Select a vault"},secret_id:{label:"Secret ID",input_placeholder:"Enter a secret ID",select_placeholder:"Select or enter a complete secret ID"},optional_secret_key:{label:"Secret Key",placeholder:"Enter the key or key path to access a nested secret value",help:"Optional. e.g. tokens, tokens/refresh_token"},fetch_error:{vaults:"Could not fetch available vaults",secrets:"Could not fetch available secrets",vaults_and_secrets:"Could not fetch available vaults and secrets"},no_results:"No results found",actions:{use_key:"Use Key"},provider:{complete_action:"Look up {cta}",cta:"Key in Vault"}},ch={actions:eh,delete:{title:"Delete a Vault",title_for_secret:"Delete a Secret",description:"This action cannot be reversed."},errors:th,search:nh,vaults:ih,secrets:ah,copy:oh,labels:rh,form:sh,vault_secret_picker:lh};function dh(){const e=$e.createI18n("en-us",ch);return{i18n:e,i18nT:$e.i18nTComponent(e)}}const bo={useI18n:dh},$n="/v2/control-planes/{controlPlaneId}/core-entities",Eo="/v2/control-planes/{controlPlaneId}/config-stores",ei="/{workspace}",wo={list:{konnect:{getAll:`${$n}/vaults`,deleteConfigStore:`${Eo}/{id}?force=true`},kongManager:{getAll:`${ei}/vaults`}},form:{konnect:{create:`${$n}/vaults`,createConfigStore:Eo,edit:`${$n}/vaults/{id}`},kongManager:{create:`${ei}/vaults`,edit:`${ei}/vaults/{id}`}}},Co=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},kn="/v2/control-planes/{controlPlaneId}",Bo={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}`}}},uh={class:"vault-secret-picker-provider"},ph=t.defineComponent({__name:"VaultSecretPickerProvider",props:{value:{},update:{type:Function}},emits:["open"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o},i18nT:r}=bo.useI18n();return(s,l)=>(t.openBlock(),t.createElementBlock("div",uh,[t.createVNode(t.unref(r),{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(o)("vault_secret_picker.provider.cta")),1)]),_:1})]))}}),ko=Co(ph,[["__scopeId","data-v-200e7f4d"]]),Ah=e=>{let n=e.trim();if(!n.startsWith("{")||!n.endsWith("}"))throw new Error("Invalid secret reference: must be enclosed in curly braces");if(n=n.substring(1,n.length-1).trim(),!n.startsWith("vault://"))throw new Error("Invalid secret reference: must start with vault://");const i=new URL(`http://${n.substring(8)}`);if(!i)throw new Error("Invalid secret reference: must have a vault prefix");const a=i.host,[,o,...r]=i.pathname.split("/");if(!a)throw new Error("Invalid secret reference: must have a vault prefix");return{vaultPrefix:a,secretId:o||void 0,optionalSecretKey:r==null?void 0:r.join("/")}},gh=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}}`},mh={key:1,class:"inputs-wrapper"},fh={"data-testid":"no-search-results"},hh={class:"k-select-selected-item-label"},yh={class:"vault-secret-picker-vault-dropdown-item"},bh={class:"select-item-label"},Eh={class:"select-item-description"},wh={class:"select-item-description"},Ch={"data-testid":"no-search-results"},Bh=t.defineComponent({__name:"VaultSecretPicker",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string")},setup:{type:null,required:!1,default:!1}},emits:["proceed","cancel"],setup(e,{emit:n}){var i;const{i18n:{t:a}}=bo.useI18n(),o=e,r=n,{axiosInstance:s}=D.useAxios({validateStatus:X=>X===404||X>=200&&X<300,...(i=o.config)==null?void 0:i.axiosRequestConfig}),l=t.ref(!1),d=t.ref(""),p=t.ref(""),u=t.ref(""),A=t.ref(),g=t.computed(()=>{var X,x;return o.config.app==="konnect"?Bo.list[o.config.app].replace(/{id}/gi,((x=(X=A.value)==null?void 0:X.config)==null?void 0:x.config_store_id)??""):"<not_applicable>"}),I=t.computed(()=>{if(v&&B)return a("vault_secret_picker.fetch_error.vaults_and_secrets");if(v)return a("vault_secret_picker.fetch_error.vaults");if(B)return a("vault_secret_picker.fetch_error.secrets")}),{debouncedQueryChange:S,loading:y,error:v,loadItems:T,results:P}=D.useDebouncedFilter(o.config,wo.list[o.config.app].getAll,void 0,{fetchedItemsKey:"data",searchKeys:["prefix"]}),{debouncedQueryChange:w,loading:m,error:B,loadItems:f,results:k}=D.useDebouncedFilter(o.config,g,void 0,{fetchedItemsKey:"data",searchKeys:["key"],exactMatchKey:"key"}),O=t.computed(()=>{var X;let x=!1;const h=((X=P.value)==null?void 0:X.map(C=>(C.prefix===d.value&&(x=!0),{label:C.prefix,value:C.prefix,vault:C})))??[];return!x&&A.value&&h.push({label:A.value.prefix,value:A.value.prefix,vault:A.value}),h}),H=t.computed(()=>{var X;let x=!1;const h=((X=k.value)==null?void 0:X.map(C=>(C.key===p.value&&(x=!0),{label:C.key,value:C.key})))??[];return!x&&p.value&&h.push({label:p.value,value:p.value}),h}),V=t.computed(()=>{var X;return((X=A==null?void 0:A.value)==null?void 0:X.name)==="konnect"}),N=t.computed(()=>!!A.value&&!!p.value),Y=X=>X.label?`${X.label} - (${X.vault.name} - ${X.vault.id})`:X.value,q=X=>{var x,h;let C=`${o.config.apiBaseUrl}${wo.form[o.config.app].edit}`;return o.config.app==="konnect"?C=C.replace(/{controlPlaneId}/gi,((x=o.config)==null?void 0:x.controlPlaneId)||""):o.config.app==="kongManager"&&(C=C.replace(/\/{workspace}/gi,(h=o.config)!=null&&h.workspace?`/${o.config.workspace}`:"")),C.replace(/{id}/gi,X)},_=(X,x)=>{var h;return o.config.app!=="konnect"?"<not_applicable>":`${o.config.apiBaseUrl}${Bo.form[o.config.app].edit}`.replace(/{controlPlaneId}/gi,((h=o.config)==null?void 0:h.controlPlaneId)||"").replace(/{id}/gi,x).replace(/{secretId}/gi,X)},ee=()=>{r("proceed",gh({vaultPrefix:d.value,secretId:p.value||void 0,optionalSecretKey:u.value||void 0}))};return t.watch(()=>o.setup,async X=>{if(X!==!1){if(l.value=!0,d.value="",A.value=void 0,p.value="",u.value="",typeof X=="string"&&X.trim().length>0)try{let x,h="",C="",J="";const L=Ah(X),{data:M}=await s.get(q(L.vaultPrefix));if(M!=null&&M.name)if(x=M,h=L.vaultPrefix,x.name==="konnect"){if(L.secretId){const{data:Z}=await s.get(_(L.secretId,M.config.config_store_id));Z.key===L.secretId&&(C=L.secretId,J=L.optionalSecretKey??"")}}else C=L.secretId??"",J=L.optionalSecretKey??"";await t.nextTick(()=>{d.value=h,A.value=x,p.value=C,u.value=J})}catch(x){console.debug(x)}l.value=!1,await T()}},{immediate:!0}),t.watch(d,async(X,x)=>{var h;l.value||X===x||(A.value=(h=O.value.find(C=>C.value===X))==null?void 0:h.vault,p.value="",u.value="")}),t.watch(g,async()=>{V.value&&await f()},{immediate:!0}),(X,x)=>{const h=t.resolveComponent("KEmptyState"),C=t.resolveComponent("KSelect"),J=t.resolveComponent("KInput"),L=t.resolveComponent("KModal");return t.openBlock(),t.createBlock(L,{"action-button-disabled":!N.value,"action-button-text":t.unref(a)("vault_secret_picker.actions.use_key"),class:"vault-secret-picker","data-testid":"vault-secret-picker-modal",title:t.unref(a)("vault_secret_picker.title"),visible:o.setup!==!1,onCancel:x[4]||(x[4]=()=>r("cancel")),onProceed:ee},{default:t.withCtx(()=>[t.unref(v)||t.unref(B)?(t.openBlock(),t.createBlock(h,{key:0,"data-testid":"vault-secret-picker-fetch-error","icon-variant":"error",message:I.value},null,8,["message"])):(t.openBlock(),t.createElementBlock("div",mh,[t.createVNode(C,{modelValue:d.value,"onUpdate:modelValue":x[0]||(x[0]=M=>d.value=M),clearable:"","data-testid":"vault-secret-picker-vault-select",disabled:l.value,"enable-filtering":"","filter-function":()=>!0,items:O.value,"kpop-attributes":{"data-testid":"vault-secret-picker-vault-popover"},label:t.unref(a)("vault_secret_picker.vault.label"),loading:t.unref(y),placeholder:t.unref(a)("vault_secret_picker.vault.placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(S)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",fh,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),"selected-item-template":t.withCtx(({item:M})=>[t.createElementVNode("span",hh,t.toDisplayString(Y(M)),1)]),"item-template":t.withCtx(({item:M})=>[t.createElementVNode("div",yh,[t.createElementVNode("span",bh,t.toDisplayString(M.label),1),t.createElementVNode("span",Eh,t.toDisplayString(M.vault.name),1),t.createElementVNode("span",wh,t.toDisplayString(M.vault.id),1)])]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"]),V.value?(t.openBlock(),t.createBlock(C,{key:0,modelValue:p.value,"onUpdate:modelValue":x[1]||(x[1]=M=>p.value=M),clearable:"","data-testid":"vault-secret-picker-secret-id-select",disabled:l.value||!A.value,"enable-filtering":"","filter-function":()=>!0,items:H.value,"kpop-attributes":{"data-testid":"vault-secret-picker-secret-id-popover"},label:t.unref(a)("vault_secret_picker.secret_id.label"),loading:t.unref(m),placeholder:t.unref(a)("vault_secret_picker.secret_id.select_placeholder"),required:"","reuse-item-template":"",width:"100%",onQueryChange:t.unref(w)},{loading:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("actions.loading")),1)]),empty:t.withCtx(()=>[t.createElementVNode("div",Ch,t.toDisplayString(t.unref(a)("vault_secret_picker.no_results")),1)]),_:1},8,["modelValue","disabled","items","label","loading","placeholder","onQueryChange"])):(t.openBlock(),t.createBlock(J,{key:1,modelValue:p.value,"onUpdate:modelValue":x[2]||(x[2]=M=>p.value=M),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-id-input",disabled:l.value||!A.value,label:t.unref(a)("vault_secret_picker.secret_id.label"),placeholder:t.unref(a)("vault_secret_picker.secret_id.input_placeholder"),required:"",type:"text"},null,8,["modelValue","disabled","label","placeholder"])),t.createVNode(J,{modelValue:u.value,"onUpdate:modelValue":x[3]||(x[3]=M=>u.value=M),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"vault-secret-picker-secret-key-input",disabled:l.value||!A.value,help:t.unref(a)("vault_secret_picker.optional_secret_key.help"),label:t.unref(a)("vault_secret_picker.optional_secret_key.label"),placeholder:t.unref(a)("vault_secret_picker.optional_secret_key.placeholder"),type:"text"},null,8,["modelValue","disabled","help","label","placeholder"])]))]),_:1},8,["action-button-disabled","action-button-text","title","visible"])}}}),kh=Co(Bh,[["__scopeId","data-v-df8552cc"]]),Ih={key:0},Oh=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=Ee.usePluginHelpers(),{i18n:{t:a}}=Ee.useI18n(),o=l=>l.map(d=>d.replace(/^[cC]onfig\./,"").split(".").map(p=>i(p)).join(".")).join(", "),r=(l,d)=>a(l,{parameters:o(d)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const d of n.rules.atLeastOneOf)l.push(r("plugins.form.field_rules.at_least_one_of",d));if(n.rules.onlyOneOf)for(const d of n.rules.onlyOneOf)l.push(r("plugins.form.field_rules.only_one_of",d));if(n.rules.mutuallyRequired)for(const d of n.rules.mutuallyRequired)l.push(r("plugins.form.field_rules.mutually_required",d));return l});return(l,d)=>{const p=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(p,{class:"plugin-field-rule-alerts"},{default:t.withCtx(()=>[t.createElementVNode("ul",null,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(s.value,(u,A)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${A}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",Ih,[(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,I)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${A}-combination-${I}`},t.toDisplayString(o(g)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),qe=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},vh=qe(Oh,[["__scopeId","data-v-d8eb79cf"]]),Mh={class:"kong-ui-entities-plugin-form"},Rh={key:1,class:"entity-form"},Th={class:"plugin-config-empty-state"},Sh=t.defineComponent({components:{...Vf}}),xh=t.defineComponent({...Sh,__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 ee,X;const i=n,a=e,{axiosInstance:o}=D.useAxios((ee=a.config)==null?void 0:ee.axiosRequestConfig),{parseSchema:r}=Ee.useSchemas({entityId:((X=a.entityMap.focusedEntity)==null?void 0:X.id)||void 0,credential:a.credential}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:d,unsetNullForeignKey:p}=Ee.usePluginHelpers(),{objectsAreEqual:u}=D.useHelpers(),{i18n:{t:A}}=cn(),g=(x,h)=>{let C=`${a.config.apiBaseUrl}${Be.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?C=C.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(C=C.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),C=C.replace(/{entity}/gi,x),C=C.replace(/{id}/gi,h),C},I=x=>{let h=`${a.config.apiBaseUrl}${Be.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?h=h.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(h=h.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),h=h.replace(/{entity}/gi,x),h},S=(x,h)=>{const C=g(x,h);return o.get(C)},y=(x,h)=>{const C=I(x);return a.config.app==="konnect"?o.get(C).then(J=>{const{data:{data:L}}=J;if(delete h.size,delete h.offset,L.length&&Object.keys(h).length===1){const M=Object.keys(h)[0],Z=L.filter(te=>te[M]?!!te[M].toLowerCase().includes(h[M].toLowerCase()):!1);J.data.data=Z}return J}):o.get(C,{params:h})};t.provide(at,{getOne:S,getAll:y});const v=t.ref(""),T=t.ref(null),P=t.ref({}),w=t.reactive({}),m=t.reactive({}),B=t.computed(()=>{var x;return(x=T.value)==null?void 0:x.options}),f=t.ref(!1),k=t.ref(),O=(x,h)=>{f.value=x??"",k.value=h},H=x=>{var h;(h=k.value)==null||h.call(k,x),f.value=!1},V=()=>{var M,Z;const x={...a.schema},h=m,C=w,J=Object.keys(h),L={};if(!d(P.value))for(let te=0;te<((Z=(M=P.value)==null?void 0:M.fields)==null?void 0:Z.length);te++)x[P.value.fields[te].model]=P.value.fields[te];return _n.forEach(te=>{x[te]&&(x[te].fields.forEach(ae=>{ae.fields&&ae.fields.forEach(z=>{x[z.model]=z}),ae.model&&(x[ae.model]=ae)}),delete x[te])}),J.forEach(te=>{var K;if(!x[te])return;const ae=x[te];let z=h[te];const vt=C[te],je=Array.isArray(z)?"array":typeof z,Ye=ae?ae.valueType:null,_e=ae?ae.valueArrayType:null,ct=ae?ae.transform:null;if(z==null&&vt==null&&!ae.submitWhenNull)return;if(ae){if(Ye&&je!==Ye)switch(Ye){case"array":je==="string"&&z.length&&(z=z.split(",").map(F=>{if(F=F.trim(),_e==="string")return String(F);if(_e==="number")return Number(F);if(_e==="boolean"){if(typeof F=="string")return F.toLowerCase()==="true"||F==="1";if(typeof F=="number")return F===1}return F})),(!z||!z.length)&&(z=ae.submitWhenNull?null:[]);break;case"number":z=Number(z);break;case"boolean":je==="string"&&(z=z.toLowerCase()==="true"||z==="1"),je==="number"&&(z=z===1);break;case"string":z=z==null?"":String(z);break}else Ye==="array"&&(!z||!z.length?z=ae.submitWhenNull?null:[]:((K=ae.inputAttributes)==null?void 0:K.type)==="number"&&(z=z.map(F=>Number(F))));if(ae.type==="array"&&ae.nestedFields){const F=b=>{Object.keys(b).forEach(U=>{b[U]&&typeof b[U]=="object"&&b[U]!==null?F(b[U]):(b[U]===void 0||b[U]===null||typeof b[U]=="number"&&isNaN(b[U])||typeof b[U]=="string"&&b[U].trim().length===0)&&delete b[U]})};z&&typeof z=="object"&&F(z)}ae.type==="object-advanced"&&ae.fields&&z!==null&&(Object.entries(z).length===0?z=null:Object.keys(z).forEach(F=>{Array.isArray(z[F])||(z[F]=z[F].split(","))}))}let he=s(te);if(ae.fieldNameHasDashes){const[F,...b]=he.split(".").reverse();he=[F.replace(/_/g,"-"),...b].reverse().join(".")}if(Ye==="object-expand"){let F;[he,F]=he.split(".");let b={};L[he]&&(b=L[he]),b[F]=z,z=b}vt!==void 0&&z===""&&z!==vt?L[he]=Ye==="object"?{}:null:ae.type==="checklist"&&z===""?L[he]=[]:z!==""&&(L[he]=z),L[he]=ct?ct(z):L[he],p(he,L)}),l(L)},N=(x,h)=>{var L;const C={[h]:x};typeof((L=a.schema[h])==null?void 0:L.modelTransformer)=="function"&&(C[h]=a.schema[h].modelTransformer(x));const J=Object.assign({},m,C);Object.assign(m,J),i("model-updated",{model:m,originalModel:w,data:V()})},Y=(x,h)=>{Object.keys(x).forEach(C=>{var te,ae;let J=h?`${h}-${C}`:C,L=a.schema[J];if(!L){const z=h?`${h}-${C.replace(/-/g,"_")}`:C.replace(/-/g,"_");(te=a.schema[z])!=null&&te.fieldNameHasDashes&&(J=z,L=a.schema[J]),h&&((ae=a.schema[h])==null?void 0:ae.keyFromObject)===C&&(J=h,L=a.schema[J])}const M=x[C],Z=typeof M;if(L&&L.type==="object-advanced"&&!M){m[J]={},w[J]={};return}if(Array.isArray(M)){m[J]=JSON.parse(JSON.stringify(M)),w[J]=JSON.parse(JSON.stringify(M));return}if(Z==="object"&&M&&!M.length)return Y(M,J);if(Z==="object"&&M&&M.length&&L.type==="input"){m[J]=M.join(", "),w[J]=M.join(", ");return}m[J]=M,w[J]=M}),i("model-updated",{model:m,originalModel:w,data:V()})},q=t.ref(!0),_=()=>{var x;if(a.record&&a.schema&&(Y({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)&&Y({consumer_id:a.record.consumer_id||a.record.consumer}),Y(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)&&Y({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}),Y(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const h={};for(const C in a.entityMap){const J=a.entityMap[C].id,L=a.entityMap[C].idField,M=L==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(L).replace("_","-"));Object.prototype.hasOwnProperty.call(m,M)&&(h[M]=J)}Y(h)}if((x=a.entityMap.consumer)!=null&&x.id&&a.schema&&a.credential){const h={};Object.prototype.hasOwnProperty.call(m,"consumer")&&(h.consumer=a.entityMap.consumer.id),Y(h)}q.value=!1};return t.watch(q,x=>{i("loading",x)}),t.watch(()=>a.schema,(x,h)=>{var J,L;if(u(x||{},h||{}))return;const C=r(x);Object.assign(m,C.model),P.value={fields:(L=(J=P.value)==null?void 0:J.fields)==null?void 0:L.map(M=>({...M,disabled:M.disabled||!1}))},Object.assign(w,JSON.parse(JSON.stringify(C.model))),v.value=mo(C.model.name),_()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var x,h;T.value=r(a.schema),Object.assign(m,((x=T.value)==null?void 0:x.model)||{}),P.value=((h=T.value)==null?void 0:h.schema)||{},_()}),(x,h)=>{var L;const C=t.resolveComponent("KSkeleton"),J=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Mh,[q.value?(t.openBlock(),t.createBlock(C,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",Rh,[v.value&&(m.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(v.value),{key:0,"form-model":m,"form-options":B.value,"form-schema":P.value,"is-editing":e.editing,"on-model-updated":N},t.createSlots({_:2},[e.enableVaultSecretPicker?{name:t.unref(ot),fn:t.withCtx(M=>[M.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(ko),t.mergeProps({key:0},M,{onOpen:h[0]||(h[0]=(Z,te)=>O(Z,te))}),null,16)):t.createCommentVNode("",!0)]),key:"0"}:void 0]),1064,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!v.value&&(m.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(J,{key:1,model:m,options:B.value,schema:P.value,onModelUpdated:N,onRefreshModel:V},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",Th,t.toDisplayString(t.unref(A)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[(L=t.unref(Ke)[m.name])!=null&&L.fieldRules&&(a.config.isNewOtelSchema||m.name!=="opentelemetry")?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(vh,{rules:t.unref(Ke)[m.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0,e.enableVaultSecretPicker?{name:t.unref(ot),fn:t.withCtx(M=>[M.schema.referenceable?(t.openBlock(),t.createBlock(t.unref(ko),t.mergeProps({key:0},M,{onOpen:h[1]||(h[1]=(Z,te)=>O(Z,te))}),null,16)):t.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))]),t.createVNode(t.unref(kh),{config:a.config,setup:f.value,onCancel:h[2]||(h[2]=()=>f.value=!1),onProceed:H},null,8,["config","setup"])],64)}}}),Vh=qe(xh,[["__scopeId","data-v-0f5311b2"]]),Nh={key:1},Dh=t.defineComponent({__name:"PluginFormActionsWrapper",props:{teleportTarget:{type:String,default:""}},setup(e){return(n,i)=>e.teleportTarget?(t.openBlock(),t.createBlock(t.Teleport,{key:0,to:e.teleportTarget},[t.renderSlot(n.$slots,"default")],8,["to"])):(t.openBlock(),t.createElementBlock("div",Nh,[t.renderSlot(n.$slots,"default")]))}}),Ph={class:"kong-ui-entities-plugin-form-container"},Gh={key:0},Uh={class:"plugin-form-actions"},Lh=qe(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},actionsTeleportTarget:{type:String,default:""},noCardWrapper:{type:Boolean,default:!1},hideViewConfigAction:{type:Boolean,default:!1},enableVaultSecretPicker:{type:Boolean,default:!1}},emits:["cancel","error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var F;const i=n,a=e,o=Gt.useRouter(),{i18n:{t:r}}=Ee.useI18n(),{customSchemas:s,typedefs:l}=Ee.useSchemas({app:a.config.app,credential:a.credential}),{formatPluginFieldLabel:d}=Ee.usePluginHelpers(),{getMessageFromError:p}=D.useErrors(),{capitalize:u}=D.useStringHelpers(),{objectsAreEqual:A}=D.useHelpers(),{axiosInstance:g}=D.useAxios((F=a.config)==null?void 0:F.axiosRequestConfig),I=t.ref(!1),S=t.computed(()=>!!a.pluginId),y=t.computed(()=>a.pluginId?D.EntityBaseFormType.Edit:D.EntityBaseFormType.Create),v=t.ref(null),T=t.computed(()=>!!(a.credential&&a.config.entityId)),P=t.ref(null),w=t.ref({}),m=t.ref(!1),B=t.reactive({enabled:!0,protocols:[],tags:[]}),f=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),k=t.ref([{title:r("view_configuration.json"),hash:"#json"},{title:r("view_configuration.yaml"),hash:"#yaml"}]);a.config.app==="konnect"&&k.value.splice(1,0,{title:r("view_configuration.terraform"),hash:"#terraform"});const O=t.ref(""),H=t.computed(()=>{if(T.value){let b=Be.form[a.config.app].credential[y.value];return b=b.replace(/{resourceEndpoint}/gi,q.value),b}return a.config.entityType&&a.config.entityId?Be.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Be.form[a.config.app].edit.all}),V=()=>{I.value=!I.value},N=t.computed(()=>{var ye,Q,ne,we,re,j,G,Ne;const b=a.config.entityType==="consumers"&&a.config.entityId||((Q=(ye=P.value)==null?void 0:ye.consumer)==null?void 0:Q.id),U=a.config.entityType==="consumer_groups"&&a.config.entityId||((we=(ne=P.value)==null?void 0:ne.consumer_group)==null?void 0:we.id),E=a.config.entityType==="services"&&a.config.entityId||((j=(re=P.value)==null?void 0:re.service)==null?void 0:j.id),ie=a.config.entityType==="routes"&&a.config.entityId||((Ne=(G=P.value)==null?void 0:G.route)==null?void 0:Ne.id);if(!(b||U||E||ie))return{global:{entity:c.GLOBAL,entityEndpoint:"plugins"}};const $={};return E&&($.service={entity:c.SERVICE,entityEndpoint:"services",id:E,idField:gt.SERVICE}),ie&&($.route={entity:c.ROUTE,entityEndpoint:"routes",id:ie,idField:gt.ROUTE}),b&&($.consumer={entity:c.CONSUMER,entityEndpoint:"consumers",id:b,idField:gt.CONSUMER}),U&&($.consumer_group={entity:c.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:U,idField:gt.CONSUMER_GROUP}),a.config.entityType&&($.focusedEntity={entity:c[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:gt[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),$}),Y=t.reactive({name:{default:a.pluginType,type:"input",inputType:"hidden",styleClasses:"d-none hidden-field",pinned:!0},enabled:{type:"switch",model:"enabled",label:r("plugins.form.fields.enabled.label"),textOn:r("plugins.form.fields.enabled.on_text"),textOff:r("plugins.form.fields.enabled.off_text"),styleClasses:"field-switch hide-label",default:!0,pinned:!0},selectionGroup:{type:a.hideScopeSelection&&(a.hideScopeSelection||y.value===D.EntityBaseFormType.Create&&a.config.entityId)?"foreign":"selectionGroup",inputType:"hidden",styleClasses:"hide-label",fields:[{label:r("plugins.form.scoping.global.label"),description:r("plugins.form.scoping.global.help")}],pinned:!0},protocols:{id:"protocols",default:[],help:r("plugins.form.fields.protocols.help"),label:r("plugins.form.fields.protocols.label"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")},tags:l.tags}),q=t.computed(()=>{var E;const b=a.developer?"developers":"consumers",U=((E=St[a.pluginType])==null?void 0:E.endpoint)||"/plugins";return`${b}/${a.config.entityId}${a.developer?"/credentials":""}${U}`}),_=b=>{const U=Array.from(new Set(b.map(E=>typeof E)));return U.length>1?"string":U[0]},ee=(b,U,E,ie)=>{var ne,we;let $=U&&U.fields||[];const ye=s[a.pluginType],Q=(we=(ne=St[a.pluginType])==null?void 0:ne.schema)==null?void 0:we.fields;return Array.isArray($)&&($=$.reduce((re,j)=>{const G=Object.keys(j)[0];return G.match(/-/g)?re[G.replace(/-/g,"_")]={...j[G],fieldNameHasDashes:!0}:re[G]=j[G],re},{})),Object.keys($).sort().forEach(re=>{var dt,Xo,Qo,Zo,Wo,_o;const j=$[re];j.type==="set"&&(j.type="array");const G=b?`${b}-${re}`:`${re}`;if(Object.prototype.hasOwnProperty.call(j,"overwrite")||j.hidden)return;if(j.type==="table")return ee(G,j.schema,E);if(j.fields)return ie&&j.type==="record"?(E[G]={type:"object",model:re,schema:{fields:Object.values(ee(G,j,{},!0))}},E):ee(G,j,E);if(E[G]={id:G,model:re},E[G].type=j.type==="boolean"?"checkbox":"input",E[G].required=j.required,E[G].referenceable=j.referenceable,G.startsWith("config-"))if(!ie&&j.type==="array"&&(O.value=G),ie&&O.value&&G.startsWith(O.value)){const se=G.slice(O.value.length+1);E[G].label=se.split("-").map(d).join(".")}else E[G].label=d(G);if((b==="config"||b.startsWith("config-"))&&(dt=$[re])!=null&&dt.description&&(E[G].help=oe.parse($[re].description,{mangle:!1,headerIds:!1})),j.type==="map"){if(E[G].type="object-advanced",E[G].values=j.values,j.values.type==="array"){const{type:se}=j.values.elements||{};E[G].schema={fields:[{schema:{fields:[{...Wt,model:G,valueArrayType:se==="integer"?"number":se||"string",inputAttributes:{...Wt.inputAttributes,type:se==="integer"?"number":"text",inputMode:se==="integer"?"numeric":"text"}}]}}]}}else j.values.fields&&(E[G].schema={fields:[{type:"object",model:"object",schema:{fields:j.values.fields.map(se=>{const He=Object.keys(se)[0];return{model:He,type:"input",label:u(He),placeholder:He,inputType:se[He].type}})}}]});return E}if(j.enum&&j.type==="array"&&(E[G].type="checklist",E[G].values=j.enum,E[G].multi=!0,E[G].multiSelect=!0),j.one_of&&j.type!=="array"&&(E[G].type="select",E[G].values=j.one_of,E[G].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),j.elements&&j.type==="array"){const se=j.elements;if(E[G].referenceable=se.referenceable,["string","integer","number"].includes(se.type)&&!se.one_of){const{id:He,help:ke,label:de,hint:Se,values:Mt,referenceable:ut}=E[G],{inputAttributes:Rt,...iE}=JSON.parse(JSON.stringify(Wt));Rt.type=se.type==="string"?"text":"number",E[G]={id:He,help:ke,label:de,hint:Se,values:Mt,referenceable:ut,inputAttributes:Rt,...iE}}}if(j.hint&&(E[G].hint=j.hint),ye&&!ye.overwriteDefault&&Object.keys(ye).forEach(se=>{if(se===G){const{help:He,label:ke,hint:de,values:Se,referenceable:Mt}=E[G],{help:ut,...Rt}=ye[se];E[G]={help:He,label:ke,hint:de,values:Se,referenceable:Mt,...Rt},typeof ut=="string"&&(E[G].help=oe.parse(ut,{mangle:!1,headerIds:!1}))}}),j.type==="array"&&((Xo=j.elements)==null?void 0:Xo.type)==="record"&&Array.isArray(j.elements.fields)){let se={};for(const ke of j.elements.fields)se={...se,...ke};const He=(Wo=(Zo=(Qo=E[G])==null?void 0:Qo.items)==null?void 0:Zo.schema)==null?void 0:Wo.fields;if(Array.isArray(He))for(const ke of E[G].items.schema.fields){const de=(_o=se[ke.model])==null?void 0:_o.description;ke.help===void 0&&typeof de=="string"&&(ke.help=oe.parse(de,{mangle:!1,headerIds:!1}))}if(He||(E[G].type="array",E[G].newElementButtonLabelClasses="kong-form-new-element-button-label",E[G].fieldClasses="array-card-container-wrapper",E[G].itemContainerComponent="FieldArrayCardContainer",E[G].items={type:"object",schema:{fields:Object.values(ee(G,j.elements,{},!0))}},E[G].items.schema.fields.forEach(ke=>{var de,Se;for(const Mt of j.elements.fields){const ut=Object.keys(Mt)[0],Rt=((Se=(de=ke.id)==null?void 0:de.split)==null?void 0:Se.call(de,"-"))??[];if(Rt[Rt.length-1]===ut){ke.model=ut,ke.label=d(ut);break}}}),j.elements.type==="record"&&(E[G].nestedFields=!0)),!E[G].nestedFields)E[G].items.default=()=>j.elements.fields.reduce((ke,de)=>{const Se=Object.keys(de)[0];return ke[Se]=de[Se].default,ke},{});else{const ke=(de,Se)=>{if(de.type==="object"){de.model&&(Se[de.model]={});for(const Mt of de.schema.fields)ke(Mt,de.model?Se[de.model]:Se)}else de.model&&(Se[de.model]=de.default)};E[G].items.default=()=>{const de={};return ke(E[G].items,de),de}}}if(T.value&&Q){for(let se=0;se<Q.length;se++)if(Q[se][G]){E[G]={...E[G],...Q[se][G]};break}}if(j.required&&j.type!=="boolean"&&(E[G].required=!0,E[G].selectOptions={hideNoneSelectedText:!0}),j.required&&j.type==="boolean"&&(E[G].default=j.default??!1),j.default!=null&&typeof j.default!="object"&&j.default!=="function"&&(E[G].default=j.default),E[G].type==="input"){["string","number"].includes(typeof E[G].default)&&a.config.app==="konnect"&&(E[G].placeholder=`Default: ${E[G].default===""?"<empty string>":E[G].default}`);const{type:se}=j.elements||{};se&&(E[G].valueArrayType=se==="integer"?"number":se),E[G].inputType=j.type==="array"||j.type==="string"?j.encrypted?"password":"text":j.type}let Ne="string";j.enum?Ne=_(j.enum):j.type==="boolean"?Ne="boolean":j.type==="number"||j.type==="integer"?(Ne="number",E[G].inputType="number"):j.type==="array"?(Ne="array",E[G].default=j.default,j.len_min>0&&(E[G].submitWhenNull=!0)):j.type==="foreign"?Ne="object":j.default&&Array.isArray(j.default)?(Ne="array",E[G].valueArrayType=_(j.default)):j.default&&(Ne=typeof j.default),E[G].valueType=Ne,j.fieldNameHasDashes&&(E[G].fieldNameHasDashes=!0)}),E},X=()=>{var ye,Q,ne,we;const b=((ye=Ke[a.pluginType])==null?void 0:ye.scope.includes(c.SERVICE))??!0,U=((Q=Ke[a.pluginType])==null?void 0:Q.scope.includes(c.ROUTE))??!0,E=((ne=Ke[a.pluginType])==null?void 0:ne.scope.includes(c.CONSUMER))??!0,ie=a.config.disableConsumerGroupScope?!1:((we=Ke[a.pluginType])==null?void 0:we.scope.includes(c.CONSUMER_GROUP))??!0,$=[];if(b&&$.push({id:"service-id",model:"service-id",label:r("plugins.form.scoping.gateway_service.label"),placeholder:r("plugins.form.scoping.gateway_service.placeholder"),type:"AutoSuggest",entity:"services",inputValues:{fields:["name","id"]},help:r("plugins.form.scoping.gateway_service.help")}),U&&$.push({id:"route-id",model:"route-id",label:r("plugins.form.scoping.route.label"),placeholder:r("plugins.form.scoping.route.placeholder"),type:"AutoSuggest",entity:"routes",inputValues:{fields:["name","id"],primaryField:"id"},help:r("plugins.form.scoping.route.help")}),E&&$.push({model:"consumer-id",label:r("plugins.form.scoping.consumer.label"),placeholder:r("plugins.form.scoping.consumer.placeholder"),type:"AutoSuggest",entity:"consumers",inputValues:{fields:["username","custom_id","id"],primaryField:"username"},help:r("plugins.form.scoping.consumer.help")}),ie&&$.push({model:"consumer_group-id",label:r("plugins.form.scoping.consumer_group.label"),placeholder:r("plugins.form.scoping.consumer_group.placeholder"),type:"AutoSuggest",entity:"consumer_groups",entityDataKey:"consumer_group",inputValues:{fields:["name","id"],primaryField:"name"},help:r("plugins.form.scoping.consumer_group.help")}),$.length){const re=[...b?["service"]:[],...U?["route"]:[],...E?["consumer"]:[],...ie?["consumer_group"]:[]],G=re.splice(re.length-2,2).map(dt=>r(dt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${dt}.plural`)).join(`${re.length>0?",":""} and/or `),Ne=["Specific",[...re.length>0?[re.map(dt=>r(dt==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${dt}.plural`)).join(", ")]:[],G].join(", ")].join(" ");Y.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:Ne,fields:[]}),Y.selectionGroup.fields[1].fields=$}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(Y,s[a.pluginType].formSchema)},x=t.computed(()=>!A(f.fields,B,!0)),h=t.computed(()=>!he.value&&!m.value&&(y.value===D.EntityBaseFormType.Create||x.value)),C=t.ref(!1),J=t.ref(),L=b=>{a.credential&&b.password&&(b.password=""),f.fields.id=(b==null?void 0:b.id)||void 0,J.value=b==null?void 0:b.ordering,Object.assign(B,f.fields),P.value=b,C.value=!0},M=t.ref({}),Z=b=>{var U;f.fields=b.model,f.fields.id=((U=P.value)==null?void 0:U.id)||void 0,Object.assign(B,b.originalModel),M.value=b.data,a.isWizardStep&&i("model-updated",{model:f.fields,data:b.data,resourceEndpoint:q.value})};t.watch([N,C],(b,U)=>{const E=b[0]!==U[0],ie=b[1],$=U[1];!T.value&&y.value===D.EntityBaseFormType.Edit&&(E||ie&&ie!==$)&&(he.value=!0,v.value=ee("config",w.value,Y),he.value=!1)},{deep:!0});const te=()=>{a.config.cancelRoute?o.push(a.config.cancelRoute):i("cancel")},ae=t.computed(()=>{let b=`${a.config.apiBaseUrl}${Be.form[a.config.app].validate}`;return a.config.app==="konnect"?b=b.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(b=b.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),b=b.replace(/{id}/gi,a.pluginId),b}),z=t.computed(()=>{const b=a.config.entityType&&a.config.entityId&&!a.developer,U=T.value?Be.form[a.config.app].credential[y.value]:Be.form[a.config.app][y.value][b?"forEntity":"all"];let E=`${a.config.apiBaseUrl}${U}`;return a.config.app==="konnect"?E=E.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(E=E.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),E=E.replace(/{resourceEndpoint}/gi,q.value),E=E.replace(/{id}/gi,a.pluginId),E=E.replace(/{entityType}/gi,a.config.entityType||""),E=E.replace(/{entityId}/gi,a.config.entityId||""),E}),vt=t.computed(()=>!Object.keys(Ke).includes(a.pluginType)),je=t.computed(()=>{const b=M.value;if(T.value){for(const U in c){const E=c[U];b[E]&&!b[E].id&&(b[E]={id:a.config.entityId})}delete b.created_at}return b}),Ye=async()=>{if(!a.isWizardStep)try{f.isReadonly=!0;let b;const U=JSON.parse(JSON.stringify(je.value)),E=s[a.pluginType];typeof(E==null?void 0:E.shamefullyTransformPayload)=="function"&&E.shamefullyTransformPayload({originalModel:B,model:f.fields,payload:U}),!T.value&&!vt.value&&await g.post(ae.value,U),y.value==="create"?b=await g.post(z.value,U):y.value==="edit"&&(b=a.config.app==="konnect"?await g.put(z.value,Object.assign({ordering:J.value},U)):await g.patch(z.value,U)),Object.assign(B,f.fields),i("update",b==null?void 0:b.data)}catch(b){f.errorMessage=p(b),i("error",b)}finally{f.isReadonly=!1}},_e=t.computed(()=>{var ie;const b=T.value?(ie=St[a.pluginType])==null?void 0:ie.schemaEndpoint:a.pluginType,U=T.value?Be.form[a.config.app].credentialSchema:Be.form[a.config.app].pluginSchema;let E=`${a.config.apiBaseUrl}${U}`;return a.config.app==="konnect"?E=E.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(E=E.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),E=E.replace(/{plugin}/gi,b),E}),ct=t.ref(""),he=t.ref(!1),K=t.ref("");return t.onBeforeMount(async()=>{var b,U,E;he.value=!0;try{if(T.value&&a.config.app==="konnect"){const ie=(b=St[a.pluginType])==null?void 0:b.schemaEndpoint,$=Rl[ie];ct.value=ie,v.value=ee("",$,{}),he.value=!1}else{const ie=await g.get(_e.value),{data:$}=ie;if($)if(T.value)v.value=ee("",$,{}),he.value=!1;else{const ye=$.fields.find(ne=>ne.config);w.value=ye?ye.config:ie,X();const Q=(U=$.fields.find(ne=>ne.protocols))==null?void 0:U.protocols;if(Q){const{default:ne=[],elements:we={}}=Q;Y.protocols.default=ne,Y.protocols.placeholder=a.config.app==="konnect"?r("plugins.form.fields.protocols.placeholderWithDefaultValues",{protocols:ne.join(", ")}):r("plugins.form.fields.protocols.placeholder"),(E=we.one_of)!=null&&E.length&&(Y.protocols.values=we.one_of.map(re=>({label:re,value:re})))}(C.value||y.value===D.EntityBaseFormType.Create)&&(v.value=ee("config",w.value,Y))}}}catch(ie){K.value=p(ie),i("error:fetch-schema",ie)}finally{he.value=!1}}),(b,U)=>{const E=t.resolveComponent("KSkeleton"),ie=t.resolveComponent("KEmptyState"),$=t.resolveComponent("KButton"),ye=t.resolveComponent("KTabs"),Q=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",Ph,[he.value?(t.openBlock(),t.createBlock(E,{key:0,type:"form"})):K.value?(t.openBlock(),t.createBlock(ie,{key:1,"action-button-visible":!1,"data-testid":"plugin-form-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(t.unref(r)("errors.load_schema")),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(D.EntityBaseForm),{key:2,"can-submit":h.value,config:e.config,"edit-id":e.pluginId,"entity-type":t.unref(D.SupportedEntityType).Plugin,"error-message":f.errorMessage,"fetch-url":H.value,"form-fields":je.value,"is-readonly":f.isReadonly,"no-validate":"","wrapper-component":e.noCardWrapper?"div":void 0,onCancel:te,"onFetch:error":U[2]||(U[2]=ne=>b.$emit("error",ne)),"onFetch:success":L,onLoading:U[3]||(U[3]=ne=>b.$emit("loading",ne))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",Gh)):(t.openBlock(),t.createBlock(Dh,{key:1,"teleport-target":e.actionsTeleportTarget},{default:t.withCtx(()=>[t.createElementVNode("div",Uh,[e.hideViewConfigAction?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock($,{key:0,appearance:"tertiary","data-testid":`plugin-${S.value?"edit":"create"}-form-view-configuration`,onClick:U[1]||(U[1]=ne=>V())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1},8,["data-testid"])),t.createVNode($,{appearance:"secondary",class:"form-action-button","data-testid":`plugin-${S.value?"edit":"create"}-form-cancel`,disabled:f.isReadonly,type:"reset",onClick:te},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["data-testid","disabled"]),t.createVNode($,{appearance:"primary","data-testid":`plugin-${S.value?"edit":"create"}-form-submit`,disabled:!h.value||f.isReadonly,type:"submit",onClick:Ye},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["data-testid","disabled"])])]),_:1},8,["teleport-target"]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:Ye},null,32),t.createVNode(Vh,{config:e.config,credential:T.value,editing:y.value===t.unref(D.EntityBaseFormType).Edit,"enable-vault-secret-picker":a.enableVaultSecretPicker,"entity-map":N.value,record:P.value||void 0,schema:v.value||{},onLoading:U[0]||(U[0]=ne=>m.value=ne),onModelUpdated:Z},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(Q,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:I.value,onClose:V},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(ye,{"data-testid":"form-view-configuration-slideout-tabs",tabs:k.value},{json:t.withCtx(()=>[t.createVNode(t.unref(D.JsonCodeBlock),{config:e.config,"entity-record":je.value,"fetcher-url":z.value,"request-method":a.pluginId?"put":"post"},null,8,["config","entity-record","fetcher-url","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(D.YamlCodeBlock),{"entity-record":je.value},null,8,["entity-record"])]),terraform:t.withCtx(()=>[t.createVNode(t.unref(D.TerraformCodeBlock),{"credential-type":ct.value,"entity-record":je.value,"entity-type":t.unref(D.SupportedEntityType).Plugin},null,8,["credential-type","entity-record","entity-type"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-acc87541"]]),jh=["alt","height","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(()=>Ui(n.name)),o=()=>{const r=new URL("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAHgCAMAAABKCk6nAAAAhFBMVEUAAADs+fnr8PTo7fLm7PDl6e7j6+7j6O3i6Ozh5+vp9PTm7PDj6e319fXn7PHj6O739/fn7PDi6e3////o7fLj6Ozt8fbj6u7r7vPi6ezo7fL////n7PHm6/Dl6+/q8PTs8vbu9Pjv9frw9vri6ezv9fnp7/Pt8vfk6u6cpar////e4ePLpSv+AAAAHnRSTlMAKIq93/T6/f7/W8z3GbL4Hr/9AZ39OPFo/Z4FzOeuk05oAAAFJklEQVR4Ae3ThZLjyhWA4SNdWJ9BMy/KA3n/twoXBafWWYb2QPi6Vd9XKGz4q5t4QPNZHDP2n8W/4uT0bJBUZHB2ehL/pPOLy6wQlxfn8bThaJxUajwaxuMm01lSsdl0Eo+YL5LKLebxoOUqqd5qGQ9YD7IHGKzjPptt9gTbzT19n2dv8Pyw8DZ7hG0U1tkrrOM7y0H2CoNlfGO+yp5hNY8vJovsHRaT+GyaPcQ03mkiYvjnNu4za94Ljtn+vd/Efc7+/sf4YJT32L286qjE1ctd3mMUH5yP89D1m46KvLnOQ+PzeO8iD+xuOipzs8sDF/HeZZZuX3dU5/Vtli7jnZMs7fSts/AuSycRcZqlm44q3WTpNCLOsnDdUanrLJxF29zF9zZ3QaXuNuWNJtosvOyo1ssstG0ThZ+Dah3Ea+LHIvmLjoq9KHL+2DYHyanYQc6jDYzACCxwZKGjallog177DwIjMAIjMAIjsMAIjMAIjMAIjMAILDACIzACIzACI7DACIzACIzACIzAAiMwAiMwAiMwAiOwwAiMwAiMwAiMwAIjMAIjMAIjMAILjMAIjMAIjMAIjMACIzACIzACIzACC4zACIzACIzACIzAAiMwAiMwAiMwAguMwAiMwAiMwAgsMAIjMAIjMAIjMAILjMAIjMAIjMAILDACIzACI/DP/6GjGENgBEZgBBYYgREYgREYgRGYJwMjMAIjMAI3TziCMQTmaAIjMAIjMAIjMAILjMAIjMAIjMAITBa6X9CveqD7hWWhDXpNYIERGIERGIERGIEFRmAERmAERuBKCdw2R68VGIERGIERWGAERmAERmAERmCBERiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIEFRmAERmAERuB+EPjt/ui9FRiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgWshcNscvVZgBEZgBEZggREYgREYgREYgQVGYARGYARGYARGYIERGIERGIERGIEFRmAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBBYYgREYgREYgftB4Lf7o/dWYARGYARGYIERGIERGIERGIEFRmAE5kj9GEfkb/EfwwkWGIERGIERGIERWGAERmAERmAERmAEFhiBERiBERiBEVhgBEZgBEZgBEZggREYgREYgREYgRFYYARGYARGYARGYIERGIERGIERGIERWGAERmAERmAERmCBERiBERiBERiBBUZgBEZgBEZgBEZggREYgREYgREYgQVGYARGYARGYAQWGIERGIERGIERGIEFRmAERmAERmAEFhiBERiBERiBEZh2r3iflPn2B4HvgordPRl4H1RsL7DAfSJw/JCFq45qXWXhh3Yfhb8F1TqIt2/3ZeGf9kGl9j/F997XPcvCdUelrrNwFhGnWbrpqNJNlk4j4iRLu9cdFXq9y9JJvHOZpVuFa+x7m6XLeO8iD+xuOipzs8sDF/He+TgPXb/pqMib6zw0Po8PRnmP3curjkpcvdzlPUYR0UTE8M9t3GfWvBfHjP17v4n7nP39j/HRNOmhaXw2WSS9s5jEF/NV0jOreXxjOUh6ZbCM76yTXllHYZv0yDZKm+dJbzzfxGHhbdIT203cZz1IemCwjgcsV0n1Vst40HyRVG4xj0dMprOkYrPpJB43HI2TSo1Hw3ja+cVlUqHLi/P4J52cng2SigzOTk/iPk08oPksjhn7z+J+/wBSUhUZLUGZBgAAAABJRU5ErkJggg==",typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Je&&Je.tagName.toUpperCase()==="SCRIPT"&&Je.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&i.value.src!==r&&(i.value.src=r)};return(r,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,height:e.size,src:a.value,width:e.size,onError:o},null,40,jh))}});var Yh=Object.prototype;function Io(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||Yh;return e===i}function Hh(e,n){return function(i){return e(n(i))}}var Fh=Hh(Object.keys,Object),Kh=Object.prototype,zh=Kh.hasOwnProperty;function qh(e){if(!Io(e))return Fh(e);var n=[];for(var i in Object(e))zh.call(e,i)&&i!="constructor"&&n.push(i);return n}var Oo=typeof global=="object"&&global&&global.Object===Object&&global,Jh=typeof self=="object"&&self&&self.Object===Object&&self,lt=Oo||Jh||Function("return this")(),On=lt.Symbol,vo=Object.prototype,Xh=vo.hasOwnProperty,Qh=vo.toString,$t=On?On.toStringTag:void 0;function Zh(e){var n=Xh.call(e,$t),i=e[$t];try{e[$t]=void 0;var a=!0}catch{}var o=Qh.call(e);return a&&(n?e[$t]=i:delete e[$t]),o}var Wh=Object.prototype,_h=Wh.toString;function $h(e){return _h.call(e)}var ey="[object Null]",ty="[object Undefined]",Mo=On?On.toStringTag:void 0;function en(e){return e==null?e===void 0?ty:ey:Mo&&Mo in Object(e)?Zh(e):$h(e)}function Ro(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var ny="[object AsyncFunction]",iy="[object Function]",ay="[object GeneratorFunction]",oy="[object Proxy]";function To(e){if(!Ro(e))return!1;var n=en(e);return n==iy||n==ay||n==ny||n==oy}var ti=lt["__core-js_shared__"],So=function(){var e=/[^.]+$/.exec(ti&&ti.keys&&ti.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ry(e){return!!So&&So in e}var sy=Function.prototype,ly=sy.toString;function It(e){if(e!=null){try{return ly.call(e)}catch{}try{return e+""}catch{}}return""}var cy=/[\\^$.*+?()[\]{}|]/g,dy=/^\[object .+?Constructor\]$/,uy=Function.prototype,py=Object.prototype,Ay=uy.toString,gy=py.hasOwnProperty,my=RegExp("^"+Ay.call(gy).replace(cy,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function fy(e){if(!Ro(e)||ry(e))return!1;var n=To(e)?my:dy;return n.test(It(e))}function hy(e,n){return e==null?void 0:e[n]}function tn(e,n){var i=hy(e,n);return fy(i)?i:void 0}var ni=tn(lt,"DataView"),ii=tn(lt,"Map"),ai=tn(lt,"Promise"),oi=tn(lt,"Set"),ri=tn(lt,"WeakMap"),xo="[object Map]",yy="[object Object]",Vo="[object Promise]",No="[object Set]",Do="[object WeakMap]",Po="[object DataView]",by=It(ni),Ey=It(ii),wy=It(ai),Cy=It(oi),By=It(ri),Ot=en;(ni&&Ot(new ni(new ArrayBuffer(1)))!=Po||ii&&Ot(new ii)!=xo||ai&&Ot(ai.resolve())!=Vo||oi&&Ot(new oi)!=No||ri&&Ot(new ri)!=Do)&&(Ot=function(e){var n=en(e),i=n==yy?e.constructor:void 0,a=i?It(i):"";if(a)switch(a){case by:return Po;case Ey:return xo;case wy:return Vo;case Cy:return No;case By:return Do}return n});function si(e){return e!=null&&typeof e=="object"}var ky="[object Arguments]";function Go(e){return si(e)&&en(e)==ky}var Uo=Object.prototype,Iy=Uo.hasOwnProperty,Oy=Uo.propertyIsEnumerable,vy=Go(function(){return arguments}())?Go:function(e){return si(e)&&Iy.call(e,"callee")&&!Oy.call(e,"callee")},My=Array.isArray,Ry=9007199254740991;function Lo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Ry}function Ty(e){return e!=null&&Lo(e.length)&&!To(e)}function Sy(){return!1}var jo=typeof W=="object"&&W&&!W.nodeType&&W,Yo=jo&&typeof module=="object"&&module&&!module.nodeType&&module,xy=Yo&&Yo.exports===jo,Ho=xy?lt.Buffer:void 0,Vy=Ho?Ho.isBuffer:void 0,Ny=Vy||Sy,Dy="[object Arguments]",Py="[object Array]",Gy="[object Boolean]",Uy="[object Date]",Ly="[object Error]",jy="[object Function]",Yy="[object Map]",Hy="[object Number]",Fy="[object Object]",Ky="[object RegExp]",zy="[object Set]",qy="[object String]",Jy="[object WeakMap]",Xy="[object ArrayBuffer]",Qy="[object DataView]",Zy="[object Float32Array]",Wy="[object Float64Array]",_y="[object Int8Array]",$y="[object Int16Array]",eb="[object Int32Array]",tb="[object Uint8Array]",nb="[object Uint8ClampedArray]",ib="[object Uint16Array]",ab="[object Uint32Array]",fe={};fe[Zy]=fe[Wy]=fe[_y]=fe[$y]=fe[eb]=fe[tb]=fe[nb]=fe[ib]=fe[ab]=!0,fe[Dy]=fe[Py]=fe[Xy]=fe[Gy]=fe[Qy]=fe[Uy]=fe[Ly]=fe[jy]=fe[Yy]=fe[Hy]=fe[Fy]=fe[Ky]=fe[zy]=fe[qy]=fe[Jy]=!1;function ob(e){return si(e)&&Lo(e.length)&&!!fe[en(e)]}function rb(e){return function(n){return e(n)}}var Fo=typeof W=="object"&&W&&!W.nodeType&&W,nn=Fo&&typeof module=="object"&&module&&!module.nodeType&&module,sb=nn&&nn.exports===Fo,li=sb&&Oo.process,Ko=function(){try{var e=nn&&nn.require&&nn.require("util").types;return e||li&&li.binding&&li.binding("util")}catch{}}(),zo=Ko&&Ko.isTypedArray,lb=zo?rb(zo):ob,cb="[object Map]",db="[object Set]",ub=Object.prototype,pb=ub.hasOwnProperty;function qo(e){if(e==null)return!0;if(Ty(e)&&(My(e)||typeof e=="string"||typeof e.splice=="function"||Ny(e)||lb(e)||vy(e)))return!e.length;var n=Ot(e);if(n==cb||n==db)return!e.size;if(Io(e))return!qh(e).length;for(var i in e)if(pb.call(e,i))return!1;return!0}const Ab={class:"kong-ui-entities-plugins-list"},gb={class:"name-cell-wrapper"},mb={class:"info-wrapper"},fb={key:0,class:"info-name"},hb={key:1,class:"info-name"},yb={key:2,class:"info-type"},bb={key:1},Eb=qe(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 ct,he;const i=Ee.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=Ee.useI18n(),s=Gt.useRouter(),{axiosInstance:l}=D.useAxios((ct=o.config)==null?void 0:ct.axiosRequestConfig),d=t.computed(()=>{var K;return((K=o.config)==null?void 0:K.entityType)==="consumers"}),p=t.computed(()=>{var K;return((K=o.config)==null?void 0:K.entityType)==="consumer_groups"}),u=o.config.app==="konnect"||D.useGatewayFeatureSupported({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),A=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),g={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0,hidable:!1}};(he=o.config)!=null&&he.entityId||(g.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),g.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},u&&(g.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),g.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const I=g,S=t.computed(()=>{var F,b,U,E;let K=o.config.entityType?`${o.config.apiBaseUrl}${Be.list[o.config.app].forEntity}`:`${o.config.apiBaseUrl}${Be.list[o.config.app].all}`;return o.config.app==="konnect"?K=K.replace(/{controlPlaneId}/gi,((F=o.config)==null?void 0:F.controlPlaneId)||""):o.config.app==="kongManager"&&(K=K.replace(/\/{workspace}/gi,(b=o.config)!=null&&b.workspace?`/${o.config.workspace}`:"")),K.replace(/{entityType}/gi,((U=o.config)==null?void 0:U.entityType)||"").replace(/{entityId}/gi,((E=o.config)==null?void 0:E.entityId)||"")}),y=t.ref(""),v=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:g.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${o.config.isExactMatch?"exact":o.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...g.enabled,label:r("search.filter.field.enabled")},name:g.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),T=t.ref(1),{fetcher:P,fetcherState:w}=D.useFetcher(o.config,S.value),m=()=>{y.value=""},B=()=>{T.value++},f=t.ref(null),k=K=>{var b,U,E,ie;const F=[];return((b=K.route)!=null&&b.id||K.route_id)&&F.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),((U=K.service)!=null&&U.id||K.service_id)&&F.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),((E=K.consumer)!=null&&E.id||K.consumer_id)&&F.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),((ie=K.consumer_group)!=null&&ie.id||K.consumer_group_id)&&F.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),F.length?F:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},O=async(K,F)=>{var b;return K===null?!1:await((b=o.canRetrieveScopedEntity)==null?void 0:b.call(o,K,F.id))},H=(K,F)=>{var U,E,ie,$,ye;let b=null;switch(K){case"route":b=(U=F.route)==null?void 0:U.id;break;case"service":b=(E=F.service)==null?void 0:E.id;break;case"consumer":b=(ie=F.consumer)==null?void 0:ie.id;break;case"consumer_group":b=($=F.consumer_group)==null?void 0:$.id;break}b&&((ye=o.config)!=null&&ye.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(K,b))},V=t.ref(!1),N=t.ref(null),Y=t.computed(()=>{const K={action:"disable",id:"",name:""};if(N.value){const{enabled:F,id:b,name:U}=N.value;K.action=F?"disable":"enable",K.id=b,K.name=i.getDisplayName(U)||b}return K}),q=K=>{V.value=!0,N.value=K},_=()=>{V.value=!1,N.value=null},ee=async()=>{var U,E,ie,$,ye,Q,ne,we;if(!await((U=o.canEdit)==null?void 0:U.call(o,N.value))||!N.value)return;let F=`${o.config.apiBaseUrl}${(ye=Be.item[o.config.app])==null?void 0:ye[(E=o.config)!=null&&E.entityType?"forEntity":"all"].replace(/{entityType}/gi,((ie=o.config)==null?void 0:ie.entityType)||"").replace(/{entityId}/gi,(($=o.config)==null?void 0:$.entityId)||"")}`.replace(/{id}/gi,N.value.id||"");o.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((Q=o.config)==null?void 0:Q.controlPlaneId)||""):o.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,(ne=o.config)!=null&&ne.workspace?`/${o.config.workspace}`:""));const b=!N.value.enabled;try{const{data:re}=((we=o.config)==null?void 0:we.app)==="konnect"?await l.put(F,{...N.value,enabled:b},{timeout:12e4}):await l.patch(F,{...N.value,enabled:b},{timeout:12e4});a("toggle-enabled",b,re),N.value.enabled=b}catch(re){a("error",re)}},X=(K,F)=>{const b=K.id;if(!F(b)){a("copy:error",{entity:K,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:K,field:"id",message:r("copy.success",{val:b})})},x=(K,F)=>{const b=JSON.stringify(K);if(!F(b)){a("copy:error",{entity:K,message:r("errors.copy")});return}a("copy:success",{entity:K,message:r("copy.success_brief")})},h=async K=>{var b;await((b=o.canRetrieve)==null?void 0:b.call(o,K))&&s.push(o.config.getViewRoute(K))},C=K=>({label:r("actions.view"),to:o.config.getViewRoute(K)}),J=K=>({label:r("actions.edit"),to:o.config.getEditRoute(K)}),L=K=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(K)}),M=t.ref(void 0),Z=t.ref(!1),te=t.ref(!1),ae=t.ref(""),z=D.useDeleteUrlBuilder(o.config,S.value),vt=K=>{M.value=K,Z.value=!0},je=()=>{Z.value=!1},Ye=async()=>{var K,F,b;if((K=M.value)!=null&&K.id){te.value=!0;try{await l.delete(z(M.value.id)),te.value=!1,Z.value=!1,T.value++,a("delete:success",M.value)}catch(U){ae.value=((b=(F=U.response)==null?void 0:F.data)==null?void 0:b.message)||U.message||r("errors.delete"),a("error",U)}finally{te.value=!1}}};t.watch(w,K=>{var F,b,U;if(K.status===D.FetcherStatus.Error){f.value={title:r("errors.general")},(U=(b=(F=K.error)==null?void 0:F.response)==null?void 0:b.data)!=null&&U.message&&(f.value.message=K.error.response.data.message),a("error",K.error);return}f.value=null});const _e=t.ref({ctaPath:o.config.createRoute,ctaText:void 0,message:`${r("plugins.list.empty_state.description")}${o.config.additionMessageForEmptyState?` ${o.config.additionMessageForEmptyState}`:""}`,title:r("plugins.title")});return t.onBeforeMount(async()=>{await o.canCreate()&&(_e.value.title=r("plugins.list.empty_state.title"),_e.value.ctaText=r("actions.create"))}),(K,F)=>{const b=t.resolveComponent("KButton"),U=t.resolveComponent("KBadge"),E=t.resolveComponent("KTruncate"),ie=t.resolveComponent("KInputSwitch"),$=t.resolveComponent("KDropdownItem"),ye=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",Ab,[t.createVNode(t.unref(D.EntityBaseTable),{"cache-identifier":e.cacheIdentifier,"disable-sorting":A.value,"empty-state-options":_e.value,"enable-entity-actions":"","error-message":f.value,fetcher:t.unref(P),"fetcher-cache-key":T.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:y.value,"table-headers":t.unref(I),title:e.title,"title-tag":e.titleTag,onClearSearchInput:m,"onClick:row":F[2]||(F[2]=Q=>h(Q)),onSort:B},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(D.EntityFilter),{modelValue:y.value,"onUpdate:modelValue":F[0]||(F[0]=Q=>y.value=Q),config:v.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(D.PermissionsWrapper),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.createVNode(b,{appearance:"primary","data-testid":"toolbar-add-plugin",size:e.useActionOutside?"medium":"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.AddIcon)),t.createTextVNode(" "+t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"])],8,["disabled"]))]),name:t.withCtx(({row:Q})=>[t.createElementVNode("div",gb,[t.createVNode(In,{class:"plugin-icon",name:Q.name,size:24},null,8,["name"]),t.createElementVNode("div",mb,[Q.instance_name?(t.openBlock(),t.createElementBlock("span",fb,t.toDisplayString(Q.instance_name),1)):(t.openBlock(),t.createElementBlock("span",hb,t.toDisplayString(t.unref(i).getDisplayName(Q.name)),1)),Q.instance_name?(t.openBlock(),t.createElementBlock("span",yb,t.toDisplayString(t.unref(i).getDisplayName(Q.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:Q})=>[k(Q).length>0?(t.openBlock(),t.createBlock(E,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k(Q),ne=>(t.openBlock(),t.createBlock(t.unref(D.PermissionsWrapper),{key:ne.badgeText,"auth-function":()=>O(ne.type,Q),"force-show":""},{default:t.withCtx(({isAllowed:we})=>[t.createVNode(U,{class:t.normalizeClass(we||"disabled"),onClick:t.withModifiers(re=>we&&ne.type&&H(ne.type,Q),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(ne.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",bb,"-"))]),enabled:t.withCtx(({row:Q})=>[t.createVNode(t.unref(D.PermissionsWrapper),{"auth-function":async()=>!!(await e.canEdit(Q)&&await e.canToggle(Q)),"force-show":""},{default:t.withCtx(({isAllowed:ne})=>{var we,re;return[t.createElementVNode("div",{onClick:F[1]||(F[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(ie,{disabled:!ne,"disabled-tooltip-text":!ne&&((re=(we=e.config).getToggleDisabledTooltip)==null?void 0:re.call(we,Q))||void 0,"model-value":Q.enabled,onClick:t.withModifiers(j=>ne&&q(Q),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:Q})=>[t.createVNode(U,{appearance:t.unref(qo)(Q)?"info":"warning"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(qo)(Q)?t.unref(r)("plugins.list.table_headers.ordering_badge.static"):t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:Q})=>[t.createVNode(t.unref(D.TableTags),{tags:Q},null,8,["tags"])]),actions:t.withCtx(({row:Q})=>[t.createVNode(ye,null,{default:t.withCtx(({copyToClipboard:ne})=>[t.createVNode($,{"data-testid":"action-entity-copy-id",onClick:we=>X(Q,ne)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(ye,null,{default:t.withCtx(({copyToClipboard:ne})=>[t.createVNode($,{"data-testid":"action-entity-copy-json",onClick:we=>x(Q,ne)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(D.PermissionsWrapper),{"auth-function":()=>e.canRetrieve(Q)},{default:t.withCtx(()=>[t.createVNode($,{"data-testid":"action-entity-view","has-divider":"",item:C(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(D.PermissionsWrapper),{"auth-function":()=>e.canEdit(Q)},{default:t.withCtx(()=>[t.createVNode($,{"data-testid":"action-entity-edit",item:J(Q)},null,8,["item"])]),_:2},1032,["auth-function"]),!d.value&&!p.value&&t.unref(u)?(t.openBlock(),t.createBlock(t.unref(D.PermissionsWrapper),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(Q)},{default:t.withCtx(()=>[L(Q)?(t.openBlock(),t.createBlock($,{key:0,"data-testid":"action-entity-config-dyn-order",item:L(Q)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(D.PermissionsWrapper),{"auth-function":()=>e.canDelete(Q)},{default:t.withCtx(()=>[t.createVNode($,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ne=>vt(Q)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("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(D.EntityToggleModal),{action:Y.value.action,"entity-id":Y.value.id,"entity-name":Y.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":ee,visible:V.value,onCancel:_,onProceed:_},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(D.EntityDeleteModal),{"action-pending":te.value,description:t.unref(r)("delete.description"),"entity-name":M.value&&(M.value.instance_name||M.value.name||M.value.id),"entity-type":t.unref(D.EntityTypes).Plugin,error:ae.value,title:t.unref(r)("delete.title"),visible:Z.value,onCancel:je,onProceed:Ye},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-18cc9774"]]),wb="16px",Cb={class:"plugin-select-card-wrapper"},Bb=["data-testid"],kb={class:"plugin-card-header"},Ib={class:"plugin-card-title"},Ob={key:0,class:"plugin-card-actions"},vb=["data-testid","title"],Mb={key:0,class:"plugin-card-text"},Rb={key:0},Tb=["title"],ci=qe(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,a=e,o=Gt.useRouter(),{i18n:{t:r}}=Ee.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),d=t.computed(()=>!!(I.value&&!g.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),p=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?p():A()},A=()=>{i("plugin-clicked",a.plugin)},g=t.computed(()=>a.plugin.id==="custom-plugin-create"),I=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===R.CUSTOM_PLUGINS),S=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},y=T=>{const P=a.config;a.config.app==="konnect"&&typeof P.getCustomEditRoute=="function"&&P.getCustomEditRoute&&o.push(P.getCustomEditRoute(T))},v=()=>{if(!l.value&&a.config.app==="konnect"){const T=a.config;g.value&&T.createCustomRoute?o.push(T.createCustomRoute):I.value&&p()}};return(T,P)=>{const w=t.resolveComponent("KButton"),m=t.resolveComponent("KDropdownItem"),B=t.resolveComponent("KDropdownMenu"),f=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Cb,[t.createVNode(f,{text:e.plugin.disabledMessage},{default:t.withCtx(()=>[t.createElementVNode("a",{class:t.normalizeClass(["plugin-select-card",{disabled:l.value}]),"data-testid":`${e.plugin.id}-card`,role:"button",onClick:P[1]||(P[1]=k=>l.value||I.value?void 0:u())},[t.createElementVNode("div",kb,[t.createElementVNode("div",Ib,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!I.value})},t.toDisplayString(e.plugin.name),3)]),d.value?(t.openBlock(),t.createElementBlock("div",Ob,[t.createVNode(B,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottom-end"},width:"150"},{default:t.withCtx(()=>[t.createVNode(w,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",icon:"",size:"small"},{default:t.withCtx(()=>[t.createVNode(t.unref(Fe.MoreIcon),{size:t.unref(wb)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:0,"data-testid":"edit-plugin-schema",onClick:P[0]||(P[0]=t.withModifiers(k=>y(e.plugin.name),["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.edit")),1)]),_:1})):t.createCommentVNode("",!0),e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(m,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(S,["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.delete")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1})])):t.createCommentVNode("",!0)]),t.createElementVNode("div",{class:t.normalizeClass(["plugin-card-body",{"custom-plugin":I.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:v},[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||I.value&&!g.value?(t.openBlock(),t.createElementBlock("div",Mb,[I.value&&!g.value?(t.openBlock(),t.createElementBlock("p",Rb,t.toDisplayString(t.unref(r)("plugins.select.custom_badge_text")),1)):t.createCommentVNode("",!0),e.plugin.description?(t.openBlock(),t.createElementBlock("p",{key:1,class:"plugin-card-text",title:e.plugin.description},t.toDisplayString(e.plugin.description),9,Tb)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,vb),t.createElementVNode("div",{class:"plugin-card-footer",onClick:v},t.toDisplayString(g.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,Bb)]),_:1},8,["text"])])}}}),[["__scopeId","data-v-f975176b"]]),Sb=qe(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 I;const i=e,a=n,{i18nT:o,i18n:{t:r}}=Ee.useI18n(),{getMessageFromError:s}=D.useErrors(),{axiosInstance:l}=D.useAxios((I=i.config)==null?void 0:I.axiosRequestConfig),d=t.computed(()=>{var S;return A.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((S=i.plugin)==null?void 0:S.name)||r("delete.custom_plugin")})}),p=t.ref(!1),u=t.ref(""),A=t.ref(!1),g=async()=>{var S,y,v,T,P;if(p.value=!0,u.value="",!(!((S=i.plugin)!=null&&S.name)||((y=i.config)==null?void 0:y.app)!=="konnect"))try{const w=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(v=i.plugin)==null?void 0:v.name}`;await l.delete(w),a("proceed")}catch(w){const{response:m}=w;(m==null?void 0:m.status)===400&&((P=(T=m.data)==null?void 0:T.message)!=null&&P.includes("plugin schema is currently in use"))?A.value=!0:u.value=s(w)}finally{p.value=!1}};return(S,y)=>{const v=t.resolveComponent("KButton"),T=t.resolveComponent("KModal");return!A.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(D.EntityDeleteModal),{key:0,"action-pending":p.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",description:t.unref(r)("delete.description_custom"),"entity-name":e.plugin.name,"entity-type":t.unref(D.EntityTypes).Plugin,error:u.value,"need-confirm":"",title:d.value,visible:"",onCancel:y[0]||(y[0]=P=>S.$emit("closed")),onProceed:g},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(T,{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:y[2]||(y[2]=P=>S.$emit("closed"))},{default:t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(t.unref(o),{keypath:"delete.plugin_schema_in_use_message",tag:"p"},{name:t.withCtx(()=>[t.createElementVNode("strong",null,t.toDisplayString(e.plugin.name),1)]),_:1})])]),"footer-actions":t.withCtx(()=>[t.createElementVNode("div",null,[t.createVNode(v,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:y[1]||(y[1]=P=>S.$emit("closed"))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1})])]),_:1},8,["action-button-disabled","title"])):t.createCommentVNode("",!0)}}}),[["__scopeId","data-v-4148beb9"]]),xb={class:"custom-plugins-grid"},Vb={class:"empty-state-title"},Nb={class:"empty-state-description"},di=310,Db=qe(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=Ee.useI18n(),{getTallestPluginCardHeight:r,getToggleVisibility:s}=Ee.usePluginHelpers(),l=t.ref(!0),d=B=>{a("plugin-clicked",B)},p=t.computed(()=>{if(i.config.app==="kongManager")return[];const B=JSON.parse(JSON.stringify(i.pluginList))[R.CUSTOM_PLUGINS]||[];return i.canCreateCustomPlugin&&i.navigateOnClick&&i.config.createCustomRoute?[{id:"custom-plugin-create",name:o("plugins.select.tabs.custom.create.name"),available:!0,group:R.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(B):B}),u=t.ref(!1),A=t.ref(null),g=B=>{u.value=!0,A.value={id:B.id,name:B.name}},I=B=>{var f;B&&(a("revalidate"),a("delete:success",((f=A.value)==null?void 0:f.name)||"")),u.value=!1,A.value=null},S=t.ref(di),y=t.ref(null),v=t.ref(null),T=t.computed(()=>l.value?{overflowY:"hidden",maxHeight:`${S.value}px`}:{}),P=t.ref(!1),w=()=>{S.value=Math.max(r(v.value),di),m()},m=()=>{var B,f;(B=v.value)!=null&&B.length&&(P.value=s(y.value,(f=v.value)==null?void 0:f.length))};return t.onMounted(async()=>{await t.nextTick(),S.value=Math.max(r(v.value),di),m(),window==null||window.addEventListener("resize",w)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",w)}),(B,f)=>{const k=t.resolveComponent("KEmptyState"),O=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",xb,[p.value.length?(t.openBlock(),t.createBlock(O,{key:1,modelValue:l.value,"onUpdate:modelValue":f[0]||(f[0]=H=>l.value=H),class:"custom-plugins-collapse","data-testid":`${t.unref(R).CUSTOM_PLUGINS}-collapse`,title:t.unref(R).CUSTOM_PLUGINS,"trigger-label":l.value?t.unref(o)("plugins.select.view_more"):t.unref(o)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:y,class:"plugin-card-container",style:t.normalizeStyle(T.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,(H,V)=>(t.openBlock(),t.createBlock(ci,{key:`plugin-card-${V}`,ref_for:!0,ref_key:"pluginCardRef",ref:v,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:H,onCustomPluginDelete:N=>g(H),onPluginClicked:d},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))],4)]),_:2},[P.value?void 0:{name:"trigger",fn:t.withCtx(()=>[f[2]||(f[2]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(k,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Vb,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Nb,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&A.value?(t.openBlock(),t.createBlock(Sb,{key:2,config:e.config,plugin:A.value,onClosed:I,onProceed:f[1]||(f[1]=H=>I(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-7a78ac82"]]),ui=310,Jo=qe(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:t.mergeModels(["plugin-clicked"],["update:modelValue"]),setup(e,{emit:n}){const i=t.useModel(e,"modelValue"),a=e,o=n,{i18n:{t:r}}=Ee.useI18n(),{getTallestPluginCardHeight:s,getToggleVisibility:l}=Ee.usePluginHelpers(),d=t.ref(ui),p=t.ref(null),u=t.ref(null),A=t.computed(()=>i.value?{overflowY:"hidden",maxHeight:`${d.value}px`}:{}),g=t.ref(!1),I=()=>{d.value=Math.max(s(u.value),ui),S()},S=()=>{var y,v;(y=u.value)!=null&&y.length&&(g.value=l(p.value,(v=u.value)==null?void 0:v.length))};return t.onMounted(async()=>{await t.nextTick(),d.value=Math.max(s(u.value),ui),S(),window==null||window.addEventListener("resize",I)}),t.onUnmounted(()=>{window==null||window.removeEventListener("resize",I)}),(y,v)=>{const T=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(T,{modelValue:i.value,"onUpdate:modelValue":v[0]||(v[0]=P=>i.value=P),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.value?t.unref(r)("plugins.select.view_more"):t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",{ref_key:"pluginCardContainerRef",ref:p,class:"plugin-card-container",style:t.normalizeStyle(A.value)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.plugins,P=>(t.openBlock(),t.createBlock(ci,{key:`plugin-card-${P.id}`,ref_for:!0,ref_key:"pluginCardRef",ref:u,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:P,onPluginClicked:w=>o("plugin-clicked",P)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))],4)]),_:2},[g.value?void 0:{name:"trigger",fn:t.withCtx(()=>[v[1]||(v[1]=t.createTextVNode(" "))]),key:"0"}]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-a1074120"]]),Pb={class:"plugin-select-grid"},Gb={class:"empty-state-title"},Ub={class:"empty-state-description"},pi=t.defineComponent({__name:"PluginSelectGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},highlightedPlugins:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""},hideHighlightedPlugins:{type:Boolean,default:!1}},emits:["plugin-clicked"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=Ee.useI18n(),r=t.ref(!1),s=t.ref(Si),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",Pb,[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",Gb,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",Ub,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Jo,{key:1,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=g=>r.value=g),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,onPluginClicked:u[1]||(u[1]=g=>l(g))},null,8,["modelValue","config","name","navigate-on-click","plugins"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ti),g=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[d.value[g]?(t.openBlock(),t.createElementBlock("div",{key:g},[t.createVNode(Jo,{modelValue:s.value[g],"onUpdate:modelValue":I=>s.value[g]=I,config:e.config,name:g,"navigate-on-click":e.navigateOnClick,plugins:d.value[g]||[],onPluginClicked:u[2]||(u[2]=I=>l(I))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins"])])):t.createCommentVNode("",!0)],64))),256))])}}}),Lb={class:"kong-ui-entities-plugin-select-form"},jb={class:"plugins-filter-input-container"},Yb={key:0},Hb={key:3,"aria-live":"polite",class:"plugins-results-container"},Fb={"data-testid":"kong-tab"},Kb={class:"tab-description"},zb={"data-testid":"custom-tab"},qb={class:"tab-description"},Jb=qe(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 x;const i=e,a=n,o=Gt.useRoute(),r=Gt.useRouter(),{i18n:{t:s}}=Ee.useI18n(),{pluginMetaData:l}=Ee.usePluginMetaData(),{getMessageFromError:d}=D.useErrors(),{sortAlpha:p,objectsAreEqual:u}=D.useHelpers(),A=t.ref(""),g=t.ref(!0),I=t.ref(!1),S=t.ref(""),y=t.ref([]),v=t.ref({}),T=t.ref([]),{axiosInstance:P}=D.useAxios((x=i.config)==null?void 0:x.axiosRequestConfig),w=t.computed(()=>v.value?Object.entries(v.value).filter(([h])=>h!==R.CUSTOM_PLUGINS).reduce((h,[,C])=>{for(const J of C)h[J.id]=J;return h},{}):{}),m=t.computed(()=>{var J;if(!v.value)return{};const h=A.value.toLowerCase(),C=JSON.parse(JSON.stringify(v.value));for(const L in v.value){const M=((J=v.value[L])==null?void 0:J.filter(Z=>Z.name.toLowerCase().includes(h)||Z.id.toLowerCase().includes(h)||Z.group.toLowerCase().includes(h)))||[];M.length?C[L]=M:delete C[L]}return C}),B=t.computed(()=>i.highlightedPluginIds.reduce((h,C)=>{const J=w.value[C];return J&&h.push(J),h},[])),f=t.computed(()=>Object.keys(m.value).length>0),k=t.computed(()=>Object.keys(v.value).length>0&&!f.value),O=t.computed(()=>i.config.app==="konnect"?[{hash:"#kong",title:s("plugins.select.tabs.kong.title")},{hash:"#custom",title:s("plugins.select.tabs.custom.title"),disabled:i.disableCustomPlugins}]:[]),H=t.computed(()=>{var C;let h=O.value.length&&((o==null?void 0:o.hash)||((C=O.value[0])==null?void 0:C.hash))||"";return h==="#custom"&&i.disableCustomPlugins&&(h="#kong"),h}),V=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...y.value])].filter(h=>!i.ignoredPlugins.includes(h)).filter(h=>i.config.entityType&&(i.config.entityType==="services"&&l[h]&&!l[h].scope.includes(c.SERVICE)||i.config.entityType==="routes"&&l[h]&&!l[h].scope.includes(c.ROUTE)||i.config.entityType==="consumer_groups"&&l[h]&&!l[h].scope.includes(c.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[h]&&!l[h].scope.includes(c.CONSUMER))?!1:h).reduce((h,C)=>{var te;const J=l[C]&&l[C].name||C,L={...l[C],id:C,name:J,available:y.value.includes(C),disabledMessage:"",group:((te=l[C])==null?void 0:te.group)||R.CUSTOM_PLUGINS};i.disabledPlugins&&(L.disabledMessage=i.disabledPlugins[C]);const M=L.group||s("plugins.select.misc_plugins");let Z=h[M];return Z||(Z=[]),Z.push(L),Z.sort(p("name")),h[M]=Z,h},{}),N=t.computed(()=>{var C;let h=`${i.config.apiBaseUrl}${Be.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?h=h.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(h=((C=i.config.gatewayInfo)==null?void 0:C.edition)==="community"?`${i.config.apiBaseUrl}${Be.select[i.config.app].availablePluginsForOss}`:h.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),h}),Y=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let h=`${i.config.apiBaseUrl}${Be.list[i.config.app].forEntity}`;return i.config.app==="konnect"?h=h.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(h=h.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),h.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),q=h=>{r.replace({hash:h,query:o.query})};t.watch(()=>i.disabledPlugins,(h,C)=>{!u(h,C)&&!g.value&&(v.value=V())}),t.watch(()=>i.ignoredPlugins,(h,C)=>{!u(h,C)&&!g.value&&(v.value=V())}),t.watch(g,h=>{a("loading",h)});const _=t.ref(!1),ee=t.ref(!1),X=t.ref(!1);return t.onBeforeMount(async()=>{_.value=await i.canCreateCustomPlugin(),ee.value=await i.canEditCustomPlugin(),X.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:h}=await P.get(N.value);if(i.config.app==="konnect"){const{names:C}=h;y.value=C||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:C}}=h;y.value=C?Object.keys(C):[]}}catch(h){I.value=!0,S.value=d(h)}if(Y.value)try{const{data:{data:h}}=await P.get(Y.value);if(h!=null&&h.length){const C=h.reduce((J,L)=>(L.name&&J.push(L.name),J),[]);T.value=T.value.concat(C)}}catch{}I.value||(v.value=V()),g.value=!1}),(h,C)=>{const J=t.resolveComponent("KInput"),L=t.resolveComponent("KSkeletonBox"),M=t.resolveComponent("KSkeleton"),Z=t.resolveComponent("KEmptyState"),te=t.resolveComponent("KTooltip"),ae=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",Lb,[t.createElementVNode("div",jb,[t.createVNode(J,{modelValue:A.value,"onUpdate:modelValue":C[0]||(C[0]=z=>A.value=z),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",Yb,[t.createVNode(L,{class:"plugins-skeleton-title",width:"10"}),t.createVNode(M,{"card-count":8,class:"plugins-skeleton-cards",type:"card"})])):I.value?(t.openBlock(),t.createBlock(Z,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(S.value),1)]),_:1})):k.value&&A.value?(t.openBlock(),t.createBlock(Z,{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",Hb,[O.value.length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(ae,{key:0,modelValue:H.value,"onUpdate:modelValue":C[5]||(C[5]=z=>H.value=z),"data-testid":"plugins-tabs",tabs:O.value,onChange:q},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",Fb,[t.createElementVNode("p",Kb,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(pi,{config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":B.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":m.value,onPluginClicked:C[1]||(C[1]=z=>h.$emit("plugin-clicked",z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",zb,[t.createElementVNode("p",qb,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Db,{"can-create-custom-plugin":_.value,"can-delete-custom-plugin":X.value,"can-edit-custom-plugin":ee.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":m.value,"onDelete:success":C[2]||(C[2]=z=>h.$emit("delete-custom:success",z)),onPluginClicked:C[3]||(C[3]=z=>h.$emit("plugin-clicked",z)),onRevalidate:C[4]||(C[4]=()=>v.value=V())},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(te,{"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(pi,{key:1,config:e.config,"hide-highlighted-plugins":A.value.length>0,"highlighted-plugins":B.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":m.value,onPluginClicked:C[6]||(C[6]=z=>h.$emit("plugin-clicked",z))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list"]))]))])}}}),[["__scopeId","data-v-03f4df60"]]),Xb={class:"kong-ui-entity-plugin-config-card"},Qb={class:"name-cell-wrapper"},Zb={class:"info-name"},Wb={key:0},_b={key:0},$b={key:0},eE={key:0},Ai="config",tE=qe(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var P;const i=n,a=e,{i18n:{t:o}}=Ee.useI18n(),r=Ee.usePluginMetaData(),{setFieldType:s}=Ee.usePluginHelpers(),{getPropValue:l}=D.useHelpers(),d=t.computed(()=>{var w;return(w=Be.item[a.config.app])==null?void 0:w[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),p=t.computed(()=>{var B,f;const w={},m=((B=y.value)==null?void 0:B.fields)||[];for(let k=0;k<m.length;k++){const O=y.value.fields[k],H=(f=Object.keys(O))==null?void 0:f[0];s(w,H,O[H])}return{...w,instance_name:{section:D.ConfigurationSchemaSection.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:D.ConfigurationSchemaSection.Basic,order:6},route:{label:o("plugins.fields.route"),section:D.ConfigurationSchemaSection.Basic,order:6},service:{label:o("plugins.fields.service"),section:D.ConfigurationSchemaSection.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:D.ConfigurationSchemaSection.Basic,order:6},protocols:{type:D.ConfigurationSchemaType.BadgeTag,section:D.ConfigurationSchemaSection.Basic,order:7}}}),u=t.computed(()=>{var m,B,f;if(!((m=y.value)!=null&&m.fields))return[];const w=(B=y.value.fields)==null?void 0:B.find(k=>{var H;return((H=Object.keys(k))==null?void 0:H[0])===Ai});return((f=w==null?void 0:w[Ai])==null?void 0:f.fields)||[]}),A=t.computed(()=>{var m,B;const w={};if(!u.value)return w;for(let f=0;f<((m=u.value)==null?void 0:m.length);f++){const k=u.value[f],O=(B=Object.keys(k))==null?void 0:B[0],H=k[O];H.required&&(w[O]={order:1}),s(w,O,H)}return w}),{getMessageFromError:g}=D.useErrors(),{axiosInstance:I}=D.useAxios((P=a.config)==null?void 0:P.axiosRequestConfig),S=t.computed(()=>{var m,B;let w=`${a.config.apiBaseUrl}${Be.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?w=w.replace(/{controlPlaneId}/gi,((m=a.config)==null?void 0:m.controlPlaneId)||""):a.config.app==="kongManager"&&(w=w.replace(/\/{workspace}/gi,(B=a.config)!=null&&B.workspace?`/${a.config.workspace}`:"")),w=w.replace(/{plugin}/gi,a.config.pluginType),w}),y=t.ref({});D.useSchemaProvider(y);const v=t.ref(!1),T=t.ref("");return t.onBeforeMount(async()=>{v.value=!0;try{const{data:w}=await I.get(S.value);y.value=w}catch(w){T.value=g(w),i("error:fetch-schema",w)}finally{v.value=!1}}),(w,m)=>{const B=t.resolveComponent("KSkeleton"),f=t.resolveComponent("KEmptyState"),k=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Xb,[v.value?(t.openBlock(),t.createBlock(B,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):T.value?(t.openBlock(),t.createBlock(f,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(T.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(D.EntityBaseConfigCard),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":p.value,"entity-type":t.unref(D.SupportedEntityType).Plugin,"fetch-url":d.value,"hide-title":e.hideTitle,"plugin-config-key":Ai,"plugin-config-schema":A.value,"onFetch:error":m[0]||(m[0]=O=>w.$emit("fetch:error",O)),"onFetch:success":m[1]||(m[1]=O=>w.$emit("fetch:success",O)),onLoading:m[2]||(m[2]=O=>w.$emit("loading",O))},{name:t.withCtx(O=>[t.createElementVNode("div",Qb,[t.createVNode(In,{class:"plugin-icon",name:t.unref(l)("rowValue",O),size:24},null,8,["name"]),t.createElementVNode("span",Zb,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",O))),1)])]),consumer:t.withCtx(O=>[t.unref(l)("rowValue",O)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(D.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",O).id,value:t.unref(l)("rowValue",O).id,type:t.unref(D.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>w.$emit("navigation-click",t.unref(l)("rowValue",O).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(k,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",O).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",O).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",Wb,"–"))]),route:t.withCtx(O=>[t.unref(l)("rowValue",O)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(D.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",O).id,value:t.unref(l)("rowValue",O).id,type:t.unref(D.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>w.$emit("navigation-click",t.unref(l)("rowValue",O).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(k,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",O).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",O).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",_b,"–"))]),service:t.withCtx(O=>[t.unref(l)("rowValue",O)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(D.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",O).id,value:t.unref(l)("rowValue",O).id,type:t.unref(D.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>w.$emit("navigation-click",t.unref(l)("rowValue",O).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(k,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",O).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",O).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",$b,"–"))]),consumer_group:t.withCtx(O=>[t.unref(l)("rowValue",O)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(D.InternalLinkItem),{key:1,item:{key:t.unref(l)("rowValue",O).id,value:t.unref(l)("rowValue",O).id,type:t.unref(D.ConfigurationSchemaType).LinkInternal},onNavigationClick:()=>w.$emit("navigation-click",t.unref(l)("rowValue",O).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(k,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",O).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",O).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",eE,"–"))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-f27734d2"]]),{usePluginMetaData:nE}=Ee;W.EntityTypeIdField=gt,W.PLUGIN_GROUPS_COLLAPSE_STATUS=Si,W.PluginConfigCard=tE,W.PluginForm=Lh,W.PluginGroup=R,W.PluginGroupArray=Ti,W.PluginIcon=In,W.PluginList=Eb,W.PluginScope=c,W.PluginSelect=Jb,W.PluginSelectCard=ci,W.PluginSelectGrid=pi,W.VueFormGenerator=Re,W.getPluginIconURL=Ui,W.pluginEndpoints=Be,W.usePluginMetaData=nE,Object.defineProperty(W,Symbol.toStringTag,{value:"Module"})});
|