@kong-ui-public/entities-plugins 4.2.2 → 4.2.3
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.
|
@@ -84,4 +84,4 @@ Please report this to https://github.com/markedjs/marked.`,n){const o="<p>An err
|
|
|
84
84
|
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,
|
|
85
85
|
it will be generated for you.`,inputType:"text",encrypted:!0}},{redirect_uris:Tn.fields.arrayItems({label:"Redirect URI(s)",hint:`One or more URLs in your app where users will be sent after
|
|
86
86
|
authorization (RFC 6742 Section 3.1.2)`,newElementButtonLabel:"+ Add Redirect URI",inputAttributes:{placeholder:"Enter URI"}})}]},_1={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"]}}]},Ys={fields:[{key:{submitWhenNull:!1,hint:`You can optionally set your own unique key to authenticate the
|
|
87
|
-
client. If missing, it will be generated for you.`,inputType:"text",encrypted:!0}}]},$1={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},Qe={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},jwt:{descriptionKey:"plugins.meta.jwt.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.jwt.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},cors:{descriptionKey:"plugins.meta.cors.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.cors.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]}},opa:{descriptionKey:"plugins.meta.opa.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.opa.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",group:T.DEPLOYMENT,isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",scope:[p.GLOBAL]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]}},acl:{descriptionKey:"plugins.meta.acl.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.acl.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],fieldRules:{onlyOneOf:[["config.allow","config.deny"]]}},canary:{descriptionKey:"plugins.meta.canary.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.canary.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]}},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.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:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP],imageName:"proxy-cache"},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],imageName:"graphql"},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.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:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},mocking:{descriptionKey:"plugins.meta.mocking.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.mocking.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]}},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",scope:[p.ROUTE],useLegacyForm:!0},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],useLegacyForm:!0},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],useLegacyForm:!0},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP],useLegacyForm:!0},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",group:T.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",group:T.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],imageName:"kong-function"},"post-function":{descriptionKey:"plugins.meta.post-function.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.post-function.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],imageName:"kong-function"},datadog:{descriptionKey:"plugins.meta.datadog.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.datadog.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},prometheus:{descriptionKey:"plugins.meta.prometheus.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},zipkin:{descriptionKey:"plugins.meta.zipkin.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},collector:{descriptionKey:"plugins.meta.collector.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.collector.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]}},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],imageName:"exit-transformer"},jq:{descriptionKey:"plugins.meta.jq.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.jq.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],imageName:"jq",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]}},"file-log":{descriptionKey:"plugins.meta.file-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.file-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"http-log":{descriptionKey:"plugins.meta.http-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.http-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},loggly:{descriptionKey:"plugins.meta.loggly.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.loggly.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},statsd:{descriptionKey:"plugins.meta.statsd.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.statsd.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},syslog:{descriptionKey:"plugins.meta.syslog.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.syslog.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",group:T.LOGGING,isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},session:{descriptionKey:"plugins.meta.session.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.session.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",scope:[p.SERVICE]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",scope:[p.GLOBAL,p.SERVICE],imageName:"application-registration"},acme:{descriptionKey:"plugins.meta.acme.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.acme.name",scope:[p.GLOBAL]},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]}},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},saml:{descriptionKey:"plugins.meta.saml.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.saml.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]}},ln={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:js,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:Lt(js),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Ds,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:Lt(Ds)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ls,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:Lt(Ls)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Ys,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:Lt(Ys)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Us,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:Lt(Us)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Ps,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:Lt(Ps)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:W1,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},ew={acls:K1,basicauth_credentials:q1,keyauth_credentials:X1,keyauth_enc_credentials:$1,oauth2_credentials:_1,hmacauth_credentials:J1,jwt_secrets:Q1},Gs=e=>{var a;const n=((a=Qe[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":db,"../assets/images/plugin-icons/acme.png":pb,"../assets/images/plugin-icons/ai-azure-content-safety.png":ub,"../assets/images/plugin-icons/ai-data-sanitization.png":mb,"../assets/images/plugin-icons/ai-prompt-decorator.png":gb,"../assets/images/plugin-icons/ai-prompt-guard.png":fb,"../assets/images/plugin-icons/ai-prompt-template.png":Ab,"../assets/images/plugin-icons/ai-proxy.png":hb,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":yb,"../assets/images/plugin-icons/ai-request-transformer.png":bb,"../assets/images/plugin-icons/ai-response-transformer.png":wb,"../assets/images/plugin-icons/app-dynamics.png":Cb,"../assets/images/plugin-icons/application-registration.png":Eb,"../assets/images/plugin-icons/aws-lambda.png":kb,"../assets/images/plugin-icons/azure-functions.png":Bb,"../assets/images/plugin-icons/basic-auth.png":Ob,"../assets/images/plugin-icons/bot-detection.png":Sb,"../assets/images/plugin-icons/canary.png":Ib,"../assets/images/plugin-icons/collector.png":xb,"../assets/images/plugin-icons/correlation-id.png":Mb,"../assets/images/plugin-icons/cors.png":vb,"../assets/images/plugin-icons/datadog.png":Tb,"../assets/images/plugin-icons/degraphql.png":Rb,"../assets/images/plugin-icons/dynamic-ssl.png":Nb,"../assets/images/plugin-icons/exit-transformer.png":Vb,"../assets/images/plugin-icons/file-log.png":jb,"../assets/images/plugin-icons/forward-proxy.png":Db,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":Lb,"../assets/images/plugin-icons/graphql.png":Pb,"../assets/images/plugin-icons/grpc-gateway.png":Ub,"../assets/images/plugin-icons/grpc-web.png":Yb,"../assets/images/plugin-icons/hmac-auth.png":Gb,"../assets/images/plugin-icons/http-log.png":Fb,"../assets/images/plugin-icons/ip-restriction.png":Hb,"../assets/images/plugin-icons/jq.png":zb,"../assets/images/plugin-icons/jwe-decrypt.png":Kb,"../assets/images/plugin-icons/jwt-signer.png":qb,"../assets/images/plugin-icons/jwt.png":Xb,"../assets/images/plugin-icons/kafka-log.png":Jb,"../assets/images/plugin-icons/kafka-upstream.png":Zb,"../assets/images/plugin-icons/key-auth-enc.png":Wb,"../assets/images/plugin-icons/key-auth.png":Qb,"../assets/images/plugin-icons/kong-function.png":_b,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":$b,"../assets/images/plugin-icons/ldap-auth-advanced.png":e1,"../assets/images/plugin-icons/ldap-auth.png":t1,"../assets/images/plugin-icons/loggly.png":n1,"../assets/images/plugin-icons/missing.png":i1,"../assets/images/plugin-icons/mocking.png":a1,"../assets/images/plugin-icons/mtls-auth.png":o1,"../assets/images/plugin-icons/new.png":r1,"../assets/images/plugin-icons/oas-validation.png":s1,"../assets/images/plugin-icons/oauth2-introspection.png":l1,"../assets/images/plugin-icons/oauth2.png":c1,"../assets/images/plugin-icons/opa.png":d1,"../assets/images/plugin-icons/openid-connect.png":p1,"../assets/images/plugin-icons/opentelemetry.png":u1,"../assets/images/plugin-icons/openwhisk.png":m1,"../assets/images/plugin-icons/prometheus.png":g1,"../assets/images/plugin-icons/proxy-cache.png":f1,"../assets/images/plugin-icons/rate-limiting-advanced.png":A1,"../assets/images/plugin-icons/rate-limiting.png":h1,"../assets/images/plugin-icons/request-size-limiting.png":y1,"../assets/images/plugin-icons/request-termination.png":b1,"../assets/images/plugin-icons/request-transformer-advanced.png":w1,"../assets/images/plugin-icons/request-transformer.png":C1,"../assets/images/plugin-icons/request-validator.png":E1,"../assets/images/plugin-icons/response-ratelimiting.png":k1,"../assets/images/plugin-icons/response-transformer-advanced.png":B1,"../assets/images/plugin-icons/response-transformer.png":O1,"../assets/images/plugin-icons/route-by-header.png":S1,"../assets/images/plugin-icons/route-transformer-advanced.png":I1,"../assets/images/plugin-icons/runscope.png":x1,"../assets/images/plugin-icons/saml.png":M1,"../assets/images/plugin-icons/session.png":v1,"../assets/images/plugin-icons/statsd-advanced.png":T1,"../assets/images/plugin-icons/statsd.png":R1,"../assets/images/plugin-icons/syslog.png":N1,"../assets/images/plugin-icons/tcp-log.png":V1,"../assets/images/plugin-icons/tls-handshake-modifier.png":j1,"../assets/images/plugin-icons/tls-metadata-headers.png":D1,"../assets/images/plugin-icons/udp-log.png":L1,"../assets/images/plugin-icons/upstream-timeout.png":P1,"../assets/images/plugin-icons/upstream-tls.png":U1,"../assets/images/plugin-icons/vault-auth.png":Y1,"../assets/images/plugin-icons/websocket-size-limit.png":G1,"../assets/images/plugin-icons/websocket-validator.png":F1,"../assets/images/plugin-icons/xml-threat-protection.png":H1,"../assets/images/plugin-icons/zipkin.png":z1})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Wt&&Wt.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:Wt&&Wt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},tw=()=>{const{i18n:{t:e}}=mi(),n={},i={};for(const[o,r]of Object.entries(Qe))n[o]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[o,r]of Object.entries(ln))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:ln,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function Fs(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function nw(e){return function(n,i,a){for(var o=-1,r=Object(n),s=a(n),l=s.length;l--;){var c=s[e?l:++o];if(i(r[c],c,r)===!1)break}return n}}var iw=nw();const aw=iw;function ow(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var Hs=typeof global=="object"&&global&&global.Object===Object&&global,rw=typeof self=="object"&&self&&self.Object===Object&&self,Je=Hs||rw||Function("return this")(),rt=Je.Symbol,zs=Object.prototype,sw=zs.hasOwnProperty,lw=zs.toString,Rn=rt?rt.toStringTag:void 0;function cw(e){var n=sw.call(e,Rn),i=e[Rn];try{e[Rn]=void 0;var a=!0}catch{}var o=lw.call(e);return a&&(n?e[Rn]=i:delete e[Rn]),o}var dw=Object.prototype,pw=dw.toString;function uw(e){return pw.call(e)}var mw="[object Null]",gw="[object Undefined]",Ks=rt?rt.toStringTag:void 0;function Ct(e){return e==null?e===void 0?gw:mw:Ks&&Ks in Object(e)?cw(e):uw(e)}function st(e){return e!=null&&typeof e=="object"}var fw="[object Arguments]";function qs(e){return st(e)&&Ct(e)==fw}var Xs=Object.prototype,Aw=Xs.hasOwnProperty,hw=Xs.propertyIsEnumerable,Sa=qs(function(){return arguments}())?qs:function(e){return st(e)&&Aw.call(e,"callee")&&!hw.call(e,"callee")},qe=Array.isArray;function yw(){return!1}var Js=typeof H=="object"&&H&&!H.nodeType&&H,Zs=Js&&typeof module=="object"&&module&&!module.nodeType&&module,bw=Zs&&Zs.exports===Js,Ws=bw?Je.Buffer:void 0,ww=Ws?Ws.isBuffer:void 0,Nn=ww||yw,Cw=9007199254740991,Ew=/^(?:0|[1-9]\d*)$/;function Ia(e,n){var i=typeof e;return n=n??Cw,!!n&&(i=="number"||i!="symbol"&&Ew.test(e))&&e>-1&&e%1==0&&e<n}var kw=9007199254740991;function xa(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kw}var Bw="[object Arguments]",Ow="[object Array]",Sw="[object Boolean]",Iw="[object Date]",xw="[object Error]",Mw="[object Function]",vw="[object Map]",Tw="[object Number]",Rw="[object Object]",Nw="[object RegExp]",Vw="[object Set]",jw="[object String]",Dw="[object WeakMap]",Lw="[object ArrayBuffer]",Pw="[object DataView]",Uw="[object Float32Array]",Yw="[object Float64Array]",Gw="[object Int8Array]",Fw="[object Int16Array]",Hw="[object Int32Array]",zw="[object Uint8Array]",Kw="[object Uint8ClampedArray]",qw="[object Uint16Array]",Xw="[object Uint32Array]",fe={};fe[Uw]=fe[Yw]=fe[Gw]=fe[Fw]=fe[Hw]=fe[zw]=fe[Kw]=fe[qw]=fe[Xw]=!0,fe[Bw]=fe[Ow]=fe[Lw]=fe[Sw]=fe[Pw]=fe[Iw]=fe[xw]=fe[Mw]=fe[vw]=fe[Tw]=fe[Rw]=fe[Nw]=fe[Vw]=fe[jw]=fe[Dw]=!1;function Jw(e){return st(e)&&xa(e.length)&&!!fe[Ct(e)]}function Ma(e){return function(n){return e(n)}}var Qs=typeof H=="object"&&H&&!H.nodeType&&H,Vn=Qs&&typeof module=="object"&&module&&!module.nodeType&&module,Zw=Vn&&Vn.exports===Qs,va=Zw&&Hs.process,cn=function(){try{var e=Vn&&Vn.require&&Vn.require("util").types;return e||va&&va.binding&&va.binding("util")}catch{}}(),_s=cn&&cn.isTypedArray,Ta=_s?Ma(_s):Jw,Ww=Object.prototype,Qw=Ww.hasOwnProperty;function $s(e,n){var i=qe(e),a=!i&&Sa(e),o=!i&&!a&&Nn(e),r=!i&&!a&&!o&&Ta(e),s=i||a||o||r,l=s?ow(e.length,String):[],c=l.length;for(var d in e)(n||Qw.call(e,d))&&!(s&&(d=="length"||o&&(d=="offset"||d=="parent")||r&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Ia(d,c)))&&l.push(d);return l}var _w=Object.prototype;function gi(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||_w;return e===i}function el(e,n){return function(i){return e(n(i))}}var $w=el(Object.keys,Object),eC=Object.prototype,tC=eC.hasOwnProperty;function tl(e){if(!gi(e))return $w(e);var n=[];for(var i in Object(e))tC.call(e,i)&&i!="constructor"&&n.push(i);return n}function Oe(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var nC="[object AsyncFunction]",iC="[object Function]",aC="[object GeneratorFunction]",oC="[object Proxy]";function oe(e){if(!Oe(e))return!1;var n=Ct(e);return n==iC||n==aC||n==nC||n==oC}function dn(e){return e!=null&&xa(e.length)&&!oe(e)}function pn(e){return dn(e)?$s(e):tl(e)}function rC(e,n){return e&&aw(e,n,pn)}function sC(e,n){return function(i,a){if(i==null)return i;if(!dn(i))return e(i,a);for(var o=i.length,r=n?o:-1,s=Object(i);(n?r--:++r<o)&&a(s[r],r,s)!==!1;);return i}}var lC=sC(rC);const cC=lC;function fi(e){return e}function dC(e){return typeof e=="function"?e:fi}function Le(e,n){var i=qe(e)?Fs:cC;return i(e,dC(n))}var pC="[object Symbol]";function Ai(e){return typeof e=="symbol"||st(e)&&Ct(e)==pC}var uC=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mC=/^\w*$/;function Ra(e,n){if(qe(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||Ai(e)?!0:mC.test(e)||!uC.test(e)||n!=null&&e in Object(n)}var Na=Je["__core-js_shared__"],nl=function(){var e=/[^.]+$/.exec(Na&&Na.keys&&Na.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function gC(e){return!!nl&&nl in e}var fC=Function.prototype,AC=fC.toString;function Pt(e){if(e!=null){try{return AC.call(e)}catch{}try{return e+""}catch{}}return""}var hC=/[\\^$.*+?()[\]{}|]/g,yC=/^\[object .+?Constructor\]$/,bC=Function.prototype,wC=Object.prototype,CC=bC.toString,EC=wC.hasOwnProperty,kC=RegExp("^"+CC.call(EC).replace(hC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function BC(e){if(!Oe(e)||gC(e))return!1;var n=oe(e)?kC:yC;return n.test(Pt(e))}function OC(e,n){return e==null?void 0:e[n]}function Ut(e,n){var i=OC(e,n);return BC(i)?i:void 0}var jn=Ut(Object,"create");function SC(){this.__data__=jn?jn(null):{},this.size=0}function IC(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var xC="__lodash_hash_undefined__",MC=Object.prototype,vC=MC.hasOwnProperty;function TC(e){var n=this.__data__;if(jn){var i=n[e];return i===xC?void 0:i}return vC.call(n,e)?n[e]:void 0}var RC=Object.prototype,NC=RC.hasOwnProperty;function VC(e){var n=this.__data__;return jn?n[e]!==void 0:NC.call(n,e)}var jC="__lodash_hash_undefined__";function DC(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=jn&&n===void 0?jC:n,this}function Yt(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])}}Yt.prototype.clear=SC,Yt.prototype.delete=IC,Yt.prototype.get=TC,Yt.prototype.has=VC,Yt.prototype.set=DC;function LC(){this.__data__=[],this.size=0}function Dn(e,n){return e===n||e!==e&&n!==n}function hi(e,n){for(var i=e.length;i--;)if(Dn(e[i][0],n))return i;return-1}var PC=Array.prototype,UC=PC.splice;function YC(e){var n=this.__data__,i=hi(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():UC.call(n,i,1),--this.size,!0}function GC(e){var n=this.__data__,i=hi(n,e);return i<0?void 0:n[i][1]}function FC(e){return hi(this.__data__,e)>-1}function HC(e,n){var i=this.__data__,a=hi(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function mt(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])}}mt.prototype.clear=LC,mt.prototype.delete=YC,mt.prototype.get=GC,mt.prototype.has=FC,mt.prototype.set=HC;var Ln=Ut(Je,"Map");function zC(){this.size=0,this.__data__={hash:new Yt,map:new(Ln||mt),string:new Yt}}function KC(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function yi(e,n){var i=e.__data__;return KC(n)?i[typeof n=="string"?"string":"hash"]:i.map}function qC(e){var n=yi(this,e).delete(e);return this.size-=n?1:0,n}function XC(e){return yi(this,e).get(e)}function JC(e){return yi(this,e).has(e)}function ZC(e,n){var i=yi(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function gt(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])}}gt.prototype.clear=zC,gt.prototype.delete=qC,gt.prototype.get=XC,gt.prototype.has=JC,gt.prototype.set=ZC;var WC="Expected a function";function Va(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(WC);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(Va.Cache||gt),i}Va.Cache=gt;var QC=500;function _C(e){var n=Va(e,function(a){return i.size===QC&&i.clear(),a}),i=n.cache;return n}var $C=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,eE=/\\(\\)?/g,tE=_C(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace($C,function(i,a,o,r){n.push(o?r.replace(eE,"$1"):a||i)}),n});function nE(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 iE=1/0,il=rt?rt.prototype:void 0,al=il?il.toString:void 0;function ol(e){if(typeof e=="string")return e;if(qe(e))return nE(e,ol)+"";if(Ai(e))return al?al.call(e):"";var n=e+"";return n=="0"&&1/e==-iE?"-0":n}function rl(e){return e==null?"":ol(e)}function sl(e,n){return qe(e)?e:Ra(e,n)?[e]:tE(rl(e))}var aE=1/0;function bi(e){if(typeof e=="string"||Ai(e))return e;var n=e+"";return n=="0"&&1/e==-aE?"-0":n}function ll(e,n){n=sl(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[bi(n[i++])];return i&&i==a?e:void 0}function ee(e,n,i){var a=e==null?void 0:ll(e,n);return a===void 0?i:a}function Ee(e){return e==null}var oE="[object String]";function Gt(e){return typeof e=="string"||!qe(e)&&st(e)&&Ct(e)==oE}const cl={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[ee(this.options,"validationErrorClass","error")]:n,[ee(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)?Le(e.styleClasses,a=>i[a]=!0):Gt(e.styleClasses)&&(i[e.styleClasses]=!0),Ee(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 oe(e.disabled)?e.disabled.call(this,this.model,e,this):Ee(e.disabled)?!1:e.disabled},fieldReadonly(e){return oe(e.readonly)?e.readonly.call(this,this.model,e,this):Ee(e.readonly)?!1:e.readonly},fieldFeatured(e){return oe(e.featured)?e.featured.call(this,this.model,e,this):Ee(e.featured)?!1:e.featured},fieldRequired(e){return oe(e.required)?e.required.call(this,this.model,e,this):Ee(e.required)?!1:e.required}}};function rE(){this.__data__=new mt,this.size=0}function sE(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function lE(e){return this.__data__.get(e)}function cE(e){return this.__data__.has(e)}var dE=200;function pE(e,n){var i=this.__data__;if(i instanceof mt){var a=i.__data__;if(!Ln||a.length<dE-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new gt(a)}return i.set(e,n),this.size=i.size,this}function lt(e){var n=this.__data__=new mt(e);this.size=n.size}lt.prototype.clear=rE,lt.prototype.delete=sE,lt.prototype.get=lE,lt.prototype.has=cE,lt.prototype.set=pE;var wi=function(){try{var e=Ut(Object,"defineProperty");return e({},"",{}),e}catch{}}();function dl(e,n,i){n=="__proto__"&&wi?wi(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var uE=Object.prototype,mE=uE.hasOwnProperty;function pl(e,n,i){var a=e[n];(!(mE.call(e,n)&&Dn(a,i))||i===void 0&&!(n in e))&&dl(e,n,i)}function Ci(e,n,i,a){var o=!i;i||(i={});for(var r=-1,s=n.length;++r<s;){var l=n[r],c=a?a(i[l],e[l],l,i,e):void 0;c===void 0&&(c=e[l]),o?dl(i,l,c):pl(i,l,c)}return i}function gE(e,n){return e&&Ci(n,pn(n),e)}function fE(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var AE=Object.prototype,hE=AE.hasOwnProperty;function yE(e){if(!Oe(e))return fE(e);var n=gi(e),i=[];for(var a in e)a=="constructor"&&(n||!hE.call(e,a))||i.push(a);return i}function Ei(e){return dn(e)?$s(e,!0):yE(e)}function bE(e,n){return e&&Ci(n,Ei(n),e)}var ul=typeof H=="object"&&H&&!H.nodeType&&H,ml=ul&&typeof module=="object"&&module&&!module.nodeType&&module,wE=ml&&ml.exports===ul,gl=wE?Je.Buffer:void 0,fl=gl?gl.allocUnsafe:void 0;function CE(e,n){if(n)return e.slice();var i=e.length,a=fl?fl(i):new e.constructor(i);return e.copy(a),a}function EE(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function kE(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 Al(){return[]}var BE=Object.prototype,OE=BE.propertyIsEnumerable,hl=Object.getOwnPropertySymbols,ja=hl?function(e){return e==null?[]:(e=Object(e),kE(hl(e),function(n){return OE.call(e,n)}))}:Al;function SE(e,n){return Ci(e,ja(e),n)}function yl(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var IE=el(Object.getPrototypeOf,Object);const bl=IE;var xE=Object.getOwnPropertySymbols,wl=xE?function(e){for(var n=[];e;)yl(n,ja(e)),e=bl(e);return n}:Al;function ME(e,n){return Ci(e,wl(e),n)}function Cl(e,n,i){var a=n(e);return qe(e)?a:yl(a,i(e))}function Da(e){return Cl(e,pn,ja)}function vE(e){return Cl(e,Ei,wl)}var La=Ut(Je,"DataView"),Pa=Ut(Je,"Promise"),un=Ut(Je,"Set"),Ua=Ut(Je,"WeakMap"),El="[object Map]",TE="[object Object]",kl="[object Promise]",Bl="[object Set]",Ol="[object WeakMap]",Sl="[object DataView]",RE=Pt(La),NE=Pt(Ln),VE=Pt(Pa),jE=Pt(un),DE=Pt(Ua),Ft=Ct;(La&&Ft(new La(new ArrayBuffer(1)))!=Sl||Ln&&Ft(new Ln)!=El||Pa&&Ft(Pa.resolve())!=kl||un&&Ft(new un)!=Bl||Ua&&Ft(new Ua)!=Ol)&&(Ft=function(e){var n=Ct(e),i=n==TE?e.constructor:void 0,a=i?Pt(i):"";if(a)switch(a){case RE:return Sl;case NE:return El;case VE:return kl;case jE:return Bl;case DE:return Ol}return n});const mn=Ft;var LE=Object.prototype,PE=LE.hasOwnProperty;function UE(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&PE.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var ki=Je.Uint8Array;function Ya(e){var n=new e.constructor(e.byteLength);return new ki(n).set(new ki(e)),n}function YE(e,n){var i=n?Ya(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var GE=/\w*$/;function FE(e){var n=new e.constructor(e.source,GE.exec(e));return n.lastIndex=e.lastIndex,n}var Il=rt?rt.prototype:void 0,xl=Il?Il.valueOf:void 0;function HE(e){return xl?Object(xl.call(e)):{}}function zE(e,n){var i=n?Ya(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var KE="[object Boolean]",qE="[object Date]",XE="[object Map]",JE="[object Number]",ZE="[object RegExp]",WE="[object Set]",QE="[object String]",_E="[object Symbol]",$E="[object ArrayBuffer]",ek="[object DataView]",tk="[object Float32Array]",nk="[object Float64Array]",ik="[object Int8Array]",ak="[object Int16Array]",ok="[object Int32Array]",rk="[object Uint8Array]",sk="[object Uint8ClampedArray]",lk="[object Uint16Array]",ck="[object Uint32Array]";function dk(e,n,i){var a=e.constructor;switch(n){case $E:return Ya(e);case KE:case qE:return new a(+e);case ek:return YE(e,i);case tk:case nk:case ik:case ak:case ok:case rk:case sk:case lk:case ck:return zE(e,i);case XE:return new a;case JE:case QE:return new a(e);case ZE:return FE(e);case WE:return new a;case _E:return HE(e)}}var Ml=Object.create,pk=function(){function e(){}return function(n){if(!Oe(n))return{};if(Ml)return Ml(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function uk(e){return typeof e.constructor=="function"&&!gi(e)?pk(bl(e)):{}}var mk="[object Map]";function gk(e){return st(e)&&mn(e)==mk}var vl=cn&&cn.isMap,fk=vl?Ma(vl):gk,Ak="[object Set]";function hk(e){return st(e)&&mn(e)==Ak}var Tl=cn&&cn.isSet,yk=Tl?Ma(Tl):hk,bk=1,wk=2,Ck=4,Rl="[object Arguments]",Ek="[object Array]",kk="[object Boolean]",Bk="[object Date]",Ok="[object Error]",Nl="[object Function]",Sk="[object GeneratorFunction]",Ik="[object Map]",xk="[object Number]",Vl="[object Object]",Mk="[object RegExp]",vk="[object Set]",Tk="[object String]",Rk="[object Symbol]",Nk="[object WeakMap]",Vk="[object ArrayBuffer]",jk="[object DataView]",Dk="[object Float32Array]",Lk="[object Float64Array]",Pk="[object Int8Array]",Uk="[object Int16Array]",Yk="[object Int32Array]",Gk="[object Uint8Array]",Fk="[object Uint8ClampedArray]",Hk="[object Uint16Array]",zk="[object Uint32Array]",ue={};ue[Rl]=ue[Ek]=ue[Vk]=ue[jk]=ue[kk]=ue[Bk]=ue[Dk]=ue[Lk]=ue[Pk]=ue[Uk]=ue[Yk]=ue[Ik]=ue[xk]=ue[Vl]=ue[Mk]=ue[vk]=ue[Tk]=ue[Rk]=ue[Gk]=ue[Fk]=ue[Hk]=ue[zk]=!0,ue[Ok]=ue[Nl]=ue[Nk]=!1;function Pn(e,n,i,a,o,r){var s,l=n&bk,c=n&wk,d=n&Ck;if(i&&(s=o?i(e,a,o,r):i(e)),s!==void 0)return s;if(!Oe(e))return e;var u=qe(e);if(u){if(s=UE(e),!l)return EE(e,s)}else{var m=mn(e),f=m==Nl||m==Sk;if(Nn(e))return CE(e,l);if(m==Vl||m==Rl||f&&!o){if(s=c||f?{}:uk(e),!l)return c?ME(e,bE(s,e)):SE(e,gE(s,e))}else{if(!ue[m])return o?e:{};s=dk(e,m,l)}}r||(r=new lt);var h=r.get(e);if(h)return h;r.set(e,s),yk(e)?e.forEach(function(y){s.add(Pn(y,n,i,y,e,r))}):fk(e)&&e.forEach(function(y,C){s.set(C,Pn(y,n,i,C,e,r))});var k=d?c?vE:Da:c?Ei:pn,b=u?void 0:k(e);return Fs(b||e,function(y,C){b&&(C=y,y=e[C]),pl(s,C,Pn(y,n,i,C,e,r))}),s}var Kk=1,qk=4;function Ga(e){return Pn(e,Kk|qk)}const Fa=(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,""),jl=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var Ha=function(){return Je.Date.now()},Xk=/\s/;function Jk(e){for(var n=e.length;n--&&Xk.test(e.charAt(n)););return n}var Zk=/^\s+/;function Wk(e){return e&&e.slice(0,Jk(e)+1).replace(Zk,"")}var Dl=NaN,Qk=/^[-+]0x[0-9a-f]+$/i,_k=/^0b[01]+$/i,$k=/^0o[0-7]+$/i,e0=parseInt;function za(e){if(typeof e=="number")return e;if(Ai(e))return Dl;if(Oe(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Oe(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Wk(e);var i=_k.test(e);return i||$k.test(e)?e0(e.slice(2),i?2:8):Qk.test(e)?Dl:+e}var t0="Expected a function",n0=Math.max,i0=Math.min;function Un(e,n,i){var a,o,r,s,l,c,d=0,u=!1,m=!1,f=!0;if(typeof e!="function")throw new TypeError(t0);n=za(n)||0,Oe(i)&&(u=!!i.leading,m="maxWait"in i,r=m?n0(za(i.maxWait)||0,n):r,f="trailing"in i?!!i.trailing:f);function h(g){var B=a,E=o;return a=o=void 0,d=g,s=e.apply(E,B),s}function k(g){return d=g,l=setTimeout(C,n),u?h(g):s}function b(g){var B=g-c,E=g-d,M=n-B;return m?i0(M,r-E):M}function y(g){var B=g-c,E=g-d;return c===void 0||B>=n||B<0||m&&E>=r}function C(){var g=Ha();if(y(g))return O(g);l=setTimeout(C,b(g))}function O(g){return l=void 0,f&&a?h(g):(a=o=void 0,s)}function x(){l!==void 0&&clearTimeout(l),d=0,a=c=o=l=void 0}function w(){return l===void 0?s:O(Ha())}function A(){var g=Ha(),B=y(g);if(a=arguments,o=this,c=g,B){if(l===void 0)return k(c);if(m)return clearTimeout(l),l=setTimeout(C,n),h(c)}return l===void 0&&(l=setTimeout(C,n)),s}return A.cancel=x,A.flush=w,A}var a0="__lodash_hash_undefined__";function o0(e){return this.__data__.set(e,a0),this}function r0(e){return this.__data__.has(e)}function Yn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new gt;++n<i;)this.add(e[n])}Yn.prototype.add=Yn.prototype.push=o0,Yn.prototype.has=r0;function Ll(e,n,i,a){for(var o=e.length,r=i+(a?1:-1);a?r--:++r<o;)if(n(e[r],r,e))return r;return-1}function s0(e){return e!==e}function l0(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function c0(e,n,i){return n===n?l0(e,n,i):Ll(e,s0,i)}function d0(e,n){var i=e==null?0:e.length;return!!i&&c0(e,n,0)>-1}function p0(e,n,i){for(var a=-1,o=e==null?0:e.length;++a<o;)if(i(n,e[a]))return!0;return!1}function Pl(e,n){return e.has(n)}function u0(){}function Ka(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var m0=1/0,g0=un&&1/Ka(new un([,-0]))[1]==m0?function(e){return new un(e)}:u0,f0=200;function A0(e,n,i){var a=-1,o=d0,r=e.length,s=!0,l=[],c=l;if(i)s=!1,o=p0;else if(r>=f0){var d=n?null:g0(e);if(d)return Ka(d);s=!1,o=Pl,c=new Yn}else c=n?[]:l;e:for(;++a<r;){var u=e[a],m=n?n(u):u;if(u=i||u!==0?u:0,s&&m===m){for(var f=c.length;f--;)if(c[f]===m)continue e;n&&c.push(m),l.push(u)}else o(c,m,i)||(c!==l&&c.push(m),l.push(u))}return l}function Ul(e){return e&&e.length?A0(e):[]}var h0=0;function Yl(e){var n=++h0;return rl(e)+n}function y0(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 Gl=Math.max;function b0(e,n,i){return n=Gl(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=Gl(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),y0(e,this,l)}}function w0(e){return function(){return e}}var C0=wi?function(e,n){return wi(e,"toString",{configurable:!0,enumerable:!1,value:w0(n),writable:!0})}:fi;const E0=C0;var k0=800,B0=16,O0=Date.now;function S0(e){var n=0,i=0;return function(){var a=O0(),o=B0-(a-i);if(i=a,o>0){if(++n>=k0)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var I0=S0(E0);function x0(e,n){return I0(b0(e,n,fi),e+"")}function M0(e,n,i){if(!Oe(i))return!1;var a=typeof n;return(a=="number"?dn(i)&&Ia(n,i.length):a=="string"&&n in i)?Dn(i[n],e):!1}var Fl=Object.prototype,v0=Fl.hasOwnProperty,Et=x0(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&M0(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=Ei(r),l=-1,c=s.length;++l<c;){var d=s[l],u=e[d];(u===void 0||Dn(u,Fl[d])&&!v0.call(e,d))&&(e[d]=r[d])}return e}),T0=Je.isFinite;function R0(e){return typeof e=="number"&&T0(e)}var Hl=1/0,N0=17976931348623157e292;function V0(e){if(!e)return e===0?e:0;if(e=za(e),e===Hl||e===-Hl){var n=e<0?-1:1;return n*N0}return e===e?e:0}function zl(e){var n=V0(e),i=n%1;return n===n?i?n-i:n:0}function j0(e){return typeof e=="number"&&e==zl(e)}var D0="[object Number]";function qa(e){return typeof e=="number"||st(e)&&Ct(e)==D0}var Kl=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,kt="\\d\\d?",Bt="\\d\\d",L0="\\d{3}",P0="\\d{4}",Gn="[^\\s]+",ql=/\[([^]*?)\]/gm;function Xl(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var Jl=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 Ht(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 Zl=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Wl=["January","February","March","April","May","June","July","August","September","October","November","December"],U0=Xl(Wl,3),Y0=Xl(Zl,3),Ql={dayNamesShort:Y0,dayNames:Zl,monthNamesShort:U0,monthNames:Wl,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},Bi=Ht({},Ql),G0=function(e){return Bi=Ht(Bi,e)},_l=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ge=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},F0={D:function(e){return String(e.getDate())},DD:function(e){return Ge(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Ge(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return Ge(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return Ge(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Ge(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Ge(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Ge(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Ge(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Ge(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Ge(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Ge(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60),2)+":"+Ge(Math.abs(n)%60,2)}},$l=function(e){return+e-1},ec=[null,kt],tc=[null,Gn],nc=["isPm",Gn,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],ic=["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}],H0={D:["day",kt],DD:["day",Bt],Do:["day",kt+Gn,function(e){return parseInt(e,10)}],M:["month",kt,$l],MM:["month",Bt,$l],YY:["year",Bt,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",kt,void 0,"isPm"],hh:["hour",Bt,void 0,"isPm"],H:["hour",kt],HH:["hour",Bt],m:["minute",kt],mm:["minute",Bt],s:["second",kt],ss:["second",Bt],YYYY:["year",P0],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",Bt,function(e){return+e*10}],SSS:["millisecond",L0],d:ec,dd:ec,ddd:tc,dddd:tc,MMM:["month",Gn,Jl("monthNamesShort")],MMMM:["month",Gn,Jl("monthNames")],a:nc,A:nc,ZZ:ic,Z:ic},Oi={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"},z0=function(e){return Ht(Oi,e)},K0=function(e,n,i){if(n===void 0&&(n=Oi.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=Oi[n]||n;var a=[];n=n.replace(ql,function(r,s){return a.push(s),"@@@"});var o=Ht(Ht({},Bi),i);return n=n.replace(Kl,function(r){return F0[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function q0(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Oi[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(ql,function(w,A){return s.push(_l(A)),"@@@"}),c={},d={};l=_l(l).replace(Kl,function(w){var A=H0[w],g=A[0],B=A[1],E=A[3];if(c[g])throw new Error("Invalid format. "+g+" specified twice in format");return c[g]=!0,E&&(d[E]=!0),r.push(A),"("+B+")"}),Object.keys(d).forEach(function(w){if(!c[w])throw new Error("Invalid format. "+w+" 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 m=Ht(Ht({},Bi),i),f=1;f<u.length;f++){var h=r[f-1],k=h[0],b=h[2],y=b?b(u[f],m):+u[f];if(y==null)return null;o[k]=y}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var C;if(o.timezoneOffset==null){C=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var O=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],f=0,x=O.length;f<x;f++)if(c[O[f][0]]&&o[O[f][0]]!==C[O[f][1]]())return null}else if(C=new Date(Date.UTC(o.year,o.month,o.day,o.hour,o.minute-o.timezoneOffset,o.second,o.millisecond)),o.month>11||o.month<0||o.day>31||o.day<1||o.hour>23||o.hour<0||o.minute>59||o.minute<0||o.second>59||o.second<0)return null;return C}var ct={format:K0,parse:q0,defaultI18n:Ql,setGlobalDateI18n:G0,setGlobalDateMasks:z0};const Re={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 Ze(e,n,i=Re){return Ee(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 zt={resources:Re,required(e,n,i,a=Re){return Ze(e,n.required,a)},number(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=[];return R0(e)?(!Ee(n.min)&&e<n.min&&r.push(be(a.numberTooSmall,n.min)),!Ee(n.max)&&e>n.max&&r.push(be(a.numberTooBig,n.max))):r.push(be(a.invalidNumber)),r},integer(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=zt.number(e,n,i,a);return j0(e)||r.push(be(a.invalidInteger)),r},double(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!qa(e)||isNaN(e))return[be(a.invalidNumber)]},string(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=[];return Gt(e)?(!Ee(n.min)&&e.length<n.min&&r.push(be(a.textTooSmall,e.length,n.min)),!Ee(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=Re){if(n.required){if(!Array.isArray(e))return[be(a.thisNotArray)];if(e.length===0)return[be(a.fieldIsRequired)]}if(!Ee(e)){if(!Ee(n.min)&&e.length<n.min)return[be(a.selectMinItems,n.min)];if(!Ee(n.max)&&e.length>n.max)return[be(a.selectMaxItems,n.max)]}},date(e,n,i,a=Re){const o=Ze(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(!Ee(n.min)){const l=new Date(n.min);r.valueOf()<l.valueOf()&&s.push(be(a.dateIsEarly,ct.format(r),ct.format(l)))}if(!Ee(n.max)){const l=new Date(n.max);r.valueOf()>l.valueOf()&&s.push(be(a.dateIsLate,ct.format(r),ct.format(l)))}return s},regexp(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!Ee(n.pattern)&&!new RegExp(n.pattern).test(e))return[be(a.invalidFormat)]},email(e,n,i,a=Re){const o=Ze(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=Re){const o=Ze(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=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!r.test(s))return[be(a.invalidCard)];let l=0,c,d,u;for(let m=s.length-1;m>=0;m--)c=s.substring(m,m+1),d=parseInt(c,10),u?(d*=2,d>=10?l+=d%10+1:l+=d):l+=d,u=!u;if(!(l%10===0&&s))return[be(a.invalidCardNumber)]},alpha(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z]*$/.test(e))return[be(a.invalidTextContainNumber)]},alphaNumeric(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z0-9]*$/.test(e))return[be(a.invalidTextContainSpec)]}};Object.keys(zt).forEach(e=>{const n=zt[e];oe(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,Et(i,Re)))});function ac(e){return Gt(e)?zt[e]!=null?zt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function Xa(e,n,i){let a=ee(i.context,"schema.attributes",{});const o=n.value||"input";Gt(o)&&(a=ee(a,o)||a),Le(a,(r,s)=>{e.setAttribute(s,r)})}const se={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:Xa,updated:Xa,componentUpdated:Xa}},computed:{value:{cache:!1,get(){let e;return oe(ee(this.schema,"get"))?e=this.schema.get(this.model):e=ee(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),oe(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=ee(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const o=[];Array.isArray(this.schema.validator)?Le(this.schema.validator,r=>{o.push(ac(r).bind(this))}):o.push(ac(this.schema.validator).bind(this)),Le(o,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const s=r(this.value,this.schema,this.model);s&&oe(s.then)?s.then(l=>{l&&(this.errors=this.errors.concat(l));const c=this.errors.length===0;this.$emit("validated",c,this.errors,this)}):s&&(i=i.concat(s))}})}const a=o=>{let r=[];Le(Ul(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):Gt(l)&&r.push(l)}),oe(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(){oe(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Un(this.validate.bind(this),ee(this.schema,"validateDebounceTime",ee(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;oe(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),oe(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),ee(this.formOptions,"validateAfterChanged",!1)===!0&&(ee(this.schema,"validateDebounceTime",ee(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=ee(this.formOptions,"fieldIdPrefix","");return Fa(e,i)+(n?"-"+Yl():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return ee(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},X0={mixins:[se]},J0=["id","autocomplete","disabled","name","required"];function Z0(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("input",{id:e.getFieldID(e.schema),type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,class:t.normalizeClass(e.schema.fieldClasses),required:e.schema.required},null,10,J0)),[[t.vModelCheckbox,e.value],[s,"input"]])}const Q=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},W0=Q(X0,[["render",Z0]]);var Q0=4;function oc(e){return Pn(e,Q0)}const _0={class:"wrapper"},$0=["disabled"],eB=["id","checked","disabled","onChange","name"],tB=["disabled"],nB={class:"info"},iB=t.createElementVNode("div",{class:"arrow"},null,-1),aB={class:"dropList"},oB=["id","checked","disabled","onChange","name"];function rB(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",_0,[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:c=>r.onChanged(c,l),name:r.getInputName(l)},null,40,eB),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,$0)):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",nB,t.toDisplayString(r.selectedCount)+" selected",1),iB],2),t.createElementVNode("div",aB,[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:c=>r.onChanged(c,l),name:r.getInputName(l)},null,40,oB),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,tB))])),[[s,"wrapper"]])}const sB={mixins:[se],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?jl(this.schema.inputName+"_"+this.getItemValue(e)):jl(this.getItemValue(e))},getItemValue(e){if(Oe(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(Oe(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((Ee(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=oc(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=oc(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},lB=Q(sB,[["render",rB]]);function cB(e){const n=t.ref([]),i=t.ref(null),a=b=>Gt(b)?zt[b]!=null?zt[b]:(console.warn(`'${b}' is not a validator function!`),null):b,o=t.computed({get(){var b,y;let C;return oe(ee(e.schema,"get"))?C=e.schema.get((b=e.model)==null?void 0:b.value):C=ee((y=e.model)==null?void 0:y.value,e.schema.model),h(C)},set(b){const y=o;b=k(b),oe(b)?b(b,y):l(b,y)}}),r=b=>{var y;c();const C=(y=e.schema)==null?void 0:y.validator,O=ee(e.formOptions,"validateAsync",!1);let x=[];if(C&&e.schema.readonly!==!0&&e.disabled!==!0){const A=[];Array.isArray(C)?Le(C,g=>{A.push(a(g))}):A.push(a(C)),Le(A,g=>{var B,E;if(O)x.push(g(o.value,e.schema,(B=e.model)==null?void 0:B.value));else{const M=g(o.value,e.schema,(E=e.model)==null?void 0:E.value);M&&oe(M.then)?M.then(U=>{U&&(n.value=n.value.concat(U));const L=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:L,errors:n.value,field:e.schema})}):M&&(x=x.concat(M))}})}const w=A=>{var g,B;let E=[];if(Le(Ul(A),M=>{Array.isArray(M)&&M.length>0?E=E.concat(M):Gt(M)&&E.push(M)}),oe((g=e.schema)==null?void 0:g.onValidated)&&e.schema.onValidated((B=e.model)==null?void 0:B.value,E,e.schema),!b){const M=E.length===0;e.emitValidated&&e.emitValidated({isValid:M,errors:E,field:e.schema})}return A=E,E};return O?Promise.all(x).then(w):w(x)},s=()=>{oe(i.value)?i.value():i.value=Un(r,ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",500)))},l=(b,y)=>{var C,O,x;let w=!1;oe(e.schema.set)?(e.schema.set((C=e.model)==null?void 0:C.value,b),w=!0):e.schema.model&&(d(e.schema.model,b),w=!0),w&&(e.emitModelUpdated&&(O=e.model)!=null&&O.value&&e.emitModelUpdated({value:b,model:e.schema.model}),oe(e.schema.onChanged)&&e.schema.onChanged((x=e.model)==null?void 0:x.value,b,y,e.schema),ee(e.formOptions,"validateAfterChanged",!1)===!0&&(ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",0))>0?s():r()))},c=()=>{n.value.splice(0)},d=(b,y)=>{var C;let O=b.replace(/\[(\w+)\]/g,".$1");O=O.replace(/^\./,"");let x=((C=e.model)==null?void 0:C.value)||{},w=0;const A=O.split("."),g=A.length;for(;w<g;){const B=A[w];if(w<g-1)x[B]!==void 0||(x[B]={}),x=x[B];else{x[B]=y;return}++w}},u=(b,y=!1)=>{const C=ee(e.formOptions,"fieldIdPrefix","");return Fa(b,C)+(y?"-"+Yl():"")},m=b=>`${u(b)}-label`,f=()=>ee(e.schema,"fieldClasses",[]),h=b=>b,k=b=>b;return{value:o,clearValidationErrors:c,getFieldID:u,getLabelId:m,getFieldClasses:f,updateModelValue:l}}const rc={useAbstractFields:cB},dB={class:"form-field-wrapper"},pB=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),{updateModelValue:s,getFieldID:l,clearValidationErrors:c,value:d}=rc.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:C=>{o("modelUpdated",C.value,C.model)}});n({clearValidationErrors:c});const u=t.computed(()=>{var C;const O=(C=a.schema)==null?void 0:C.inputType.toLowerCase();return O==="string"?"text":O==="datetime"?"datetime-local":O||"text"}),m={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},f=(C,O)=>{var x,w;let A=C;const g=m[u.value]||"",B=ct.parse(C,g);B&&((x=a.schema)!=null&&x.format?A=ct.format(B,(w=a.schema)==null?void 0:w.format):A=B.valueOf()),s(A,O)},h=(C,O)=>{qa(C)||(C=NaN),s(C,O)},k=C=>{let O=C;switch(u.value){case"number":case"range":qa(parseFloat(C))&&(O=parseFloat(C));break}d.value=O,s(O,C)},b=t.ref(null),y=()=>{var C;oe(b.value)&&((C=b.value)==null||C.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":b.value=Un((C,O)=>{h(C,O)},parseInt(ee(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":b.value=Un((C,O)=>{f(C,O)},parseInt(ee(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{u.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):u.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):u.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(C,O)=>{const x=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",dB,[t.createVNode(x,t.mergeProps(C.$attrs,{id:t.unref(l)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||null,help:e.hint?e.hint:u.value==="color"||u.value==="range"?t.unref(d):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(d),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,type:u.value,width:e.schema.width,onBlur:y,"onUpdate:modelValue":k}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","type","width"])])}}}),sc=Q(pB,[["__scopeId","data-v-b6d4701b"]]),uB=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}=rc.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)}}}),mB=Q(uB,[["__scopeId","data-v-852ab959"]]),gB=["disabled"],fB=["id","disabled","name","onClick","value","checked","required"];function AB(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"radio-list",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>t.withDirectives((t.openBlock(),t.createElementBlock("label",{class:t.normalizeClass(r.getItemCssClasses(l))},[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"radio",disabled:r.isItemDisabled(l)||null,name:r.id,onClick:c=>r.onSelection(l),value:r.getItemValue(l),checked:r.isItemChecked(l)||null,class:t.normalizeClass(e.schema.fieldClasses),required:e.schema.required},null,10,fB),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)],2)),[[s,"label"]])),256))],8,gB)),[[s,"wrapper"]])}const hB={mixins:[se],computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},id(){return this.schema.model}},methods:{getItemValue(e){if(Oe(e)){if(typeof this.schema.radiosOptions<"u"&&typeof this.schema.radiosOptions.value<"u")return e[this.schema.radiosOptions.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 `radiosOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/radios.html#radios-field-with-object-values")}else return e},getItemName(e){if(Oe(e)){if(typeof this.schema.radiosOptions<"u"&&typeof this.schema.radiosOptions.name<"u")return e[this.schema.radiosOptions.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 `radiosOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/radios.html#radios-field-with-object-values")}else return e},getItemCssClasses(e){return{"is-checked":this.isItemChecked(e),"is-disabled":this.isItemDisabled(e)}},onSelection(e){this.value=this.getItemValue(e)},isItemChecked(e){return this.getItemValue(e)===this.value},isItemDisabled(e){if(this.disabled)return!0;const n=ee(e,"disabled",!1);return oe(n)?n(this.model):n}}},yB=Q(hB,[["render",AB]]);function bB(e,n){for(var i=-1,a=e==null?0:e.length;++i<a;)if(n(e[i],i,e))return!0;return!1}var wB=1,CB=2;function lc(e,n,i,a,o,r){var s=i&wB,l=e.length,c=n.length;if(l!=c&&!(s&&c>l))return!1;var d=r.get(e),u=r.get(n);if(d&&u)return d==n&&u==e;var m=-1,f=!0,h=i&CB?new Yn:void 0;for(r.set(e,n),r.set(n,e);++m<l;){var k=e[m],b=n[m];if(a)var y=s?a(b,k,m,n,e,r):a(k,b,m,e,n,r);if(y!==void 0){if(y)continue;f=!1;break}if(h){if(!bB(n,function(C,O){if(!Pl(h,O)&&(k===C||o(k,C,i,a,r)))return h.push(O)})){f=!1;break}}else if(!(k===b||o(k,b,i,a,r))){f=!1;break}}return r.delete(e),r.delete(n),f}function EB(e){var n=-1,i=Array(e.size);return e.forEach(function(a,o){i[++n]=[o,a]}),i}var kB=1,BB=2,OB="[object Boolean]",SB="[object Date]",IB="[object Error]",xB="[object Map]",MB="[object Number]",vB="[object RegExp]",TB="[object Set]",RB="[object String]",NB="[object Symbol]",VB="[object ArrayBuffer]",jB="[object DataView]",cc=rt?rt.prototype:void 0,Ja=cc?cc.valueOf:void 0;function DB(e,n,i,a,o,r,s){switch(i){case jB:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case VB:return!(e.byteLength!=n.byteLength||!r(new ki(e),new ki(n)));case OB:case SB:case MB:return Dn(+e,+n);case IB:return e.name==n.name&&e.message==n.message;case vB:case RB:return e==n+"";case xB:var l=EB;case TB:var c=a&kB;if(l||(l=Ka),e.size!=n.size&&!c)return!1;var d=s.get(e);if(d)return d==n;a|=BB,s.set(e,n);var u=lc(l(e),l(n),a,o,r,s);return s.delete(e),u;case NB:if(Ja)return Ja.call(e)==Ja.call(n)}return!1}var LB=1,PB=Object.prototype,UB=PB.hasOwnProperty;function YB(e,n,i,a,o,r){var s=i&LB,l=Da(e),c=l.length,d=Da(n),u=d.length;if(c!=u&&!s)return!1;for(var m=c;m--;){var f=l[m];if(!(s?f in n:UB.call(n,f)))return!1}var h=r.get(e),k=r.get(n);if(h&&k)return h==n&&k==e;var b=!0;r.set(e,n),r.set(n,e);for(var y=s;++m<c;){f=l[m];var C=e[f],O=n[f];if(a)var x=s?a(O,C,f,n,e,r):a(C,O,f,e,n,r);if(!(x===void 0?C===O||o(C,O,i,a,r):x)){b=!1;break}y||(y=f=="constructor")}if(b&&!y){var w=e.constructor,A=n.constructor;w!=A&&"constructor"in e&&"constructor"in n&&!(typeof w=="function"&&w instanceof w&&typeof A=="function"&&A instanceof A)&&(b=!1)}return r.delete(e),r.delete(n),b}var GB=1,dc="[object Arguments]",pc="[object Array]",Si="[object Object]",FB=Object.prototype,uc=FB.hasOwnProperty;function HB(e,n,i,a,o,r){var s=qe(e),l=qe(n),c=s?pc:mn(e),d=l?pc:mn(n);c=c==dc?Si:c,d=d==dc?Si:d;var u=c==Si,m=d==Si,f=c==d;if(f&&Nn(e)){if(!Nn(n))return!1;s=!0,u=!1}if(f&&!u)return r||(r=new lt),s||Ta(e)?lc(e,n,i,a,o,r):DB(e,n,c,i,a,o,r);if(!(i&GB)){var h=u&&uc.call(e,"__wrapped__"),k=m&&uc.call(n,"__wrapped__");if(h||k){var b=h?e.value():e,y=k?n.value():n;return r||(r=new lt),o(b,y,i,a,r)}}return f?(r||(r=new lt),YB(e,n,i,a,o,r)):!1}function Za(e,n,i,a,o){return e===n?!0:e==null||n==null||!st(e)&&!st(n)?e!==e&&n!==n:HB(e,n,i,a,Za,o)}var zB=1,KB=2;function qB(e,n,i,a){var o=i.length,r=o,s=!a;if(e==null)return!r;for(e=Object(e);o--;){var l=i[o];if(s&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<r;){l=i[o];var c=l[0],d=e[c],u=l[1];if(s&&l[2]){if(d===void 0&&!(c in e))return!1}else{var m=new lt;if(a)var f=a(d,u,c,e,n,m);if(!(f===void 0?Za(u,d,zB|KB,a,m):f))return!1}}return!0}function mc(e){return e===e&&!Oe(e)}function XB(e){for(var n=pn(e),i=n.length;i--;){var a=n[i],o=e[a];n[i]=[a,o,mc(o)]}return n}function gc(e,n){return function(i){return i==null?!1:i[e]===n&&(n!==void 0||e in Object(i))}}function JB(e){var n=XB(e);return n.length==1&&n[0][2]?gc(n[0][0],n[0][1]):function(i){return i===e||qB(i,e,n)}}function ZB(e,n){return e!=null&&n in Object(e)}function WB(e,n,i){n=sl(n,e);for(var a=-1,o=n.length,r=!1;++a<o;){var s=bi(n[a]);if(!(r=e!=null&&i(e,s)))break;e=e[s]}return r||++a!=o?r:(o=e==null?0:e.length,!!o&&xa(o)&&Ia(s,o)&&(qe(e)||Sa(e)))}function QB(e,n){return e!=null&&WB(e,n,ZB)}var _B=1,$B=2;function eO(e,n){return Ra(e)&&mc(n)?gc(bi(e),n):function(i){var a=ee(i,e);return a===void 0&&a===n?QB(i,e):Za(n,a,_B|$B)}}function tO(e){return function(n){return n==null?void 0:n[e]}}function nO(e){return function(n){return ll(n,e)}}function iO(e){return Ra(e)?tO(bi(e)):nO(e)}function fc(e){return typeof e=="function"?e:e==null?fi:typeof e=="object"?qe(e)?eO(e[0],e[1]):JB(e):iO(e)}function aO(e){return function(n,i,a){var o=Object(n);if(!dn(n)){var r=fc(i);n=pn(n),i=function(l){return r(o[l],l,o)}}var s=e(n,i,a);return s>-1?o[r?n[s]:s]:void 0}}var oO=Math.max;function rO(e,n,i){var a=e==null?0:e.length;if(!a)return-1;var o=i==null?0:zl(i);return o<0&&(o=oO(a+o,0)),Ll(e,fc(n),o)}var sO=aO(rO);const lO=["disabled","name","id"],cO=["disabled"],dO=["label"],pO=["value"],uO=["value"];function mO(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},[r.selectOptions.hideNoneSelectedText?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null},t.toDisplayString(r.selectOptions.noneSelectedText||"<Nothing selected>"),9,cO)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[l.group?(t.openBlock(),t.createElementBlock("optgroup",{key:0,label:r.getGroupName(l)},[l.ops?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.ops,c=>(t.openBlock(),t.createElementBlock("option",{value:r.getItemValue(c)},t.toDisplayString(r.getItemName(c)),9,pO))),256)):t.createCommentVNode("",!0)],8,dO)):t.createCommentVNode("",!0),l.group?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:1,value:r.getItemValue(l)},t.toDisplayString(r.getItemName(l)),9,uO))],64))),256))],10,lO)),[[t.vModelSelect,e.value],[s,"input"]])}const gO={mixins:[se],computed:{selectOptions(){return this.schema.selectOptions||{}},items(){const e=this.schema.values;return typeof e=="function"?this.groupValues(e.apply(this,[this.model,this.schema])):this.groupValues(e)}},methods:{formatValueToField(e){return Ee(e)?null:e},groupValues(e){const n=[];let i={};return e.forEach(a=>{i=null,a.group&&Oe(a)?(i=sO(n,o=>o.group===a.group),i?i.ops.push({id:a.id,name:a.name}):(i={group:"",ops:[]},i.group=a.group,i.ops.push({id:a.id,name:a.name}),n.push(i))):n.push(a)}),n},getGroupName(e){if(e&&e.group)return e.group;throw new Error("Group name is missing! https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")},getItemValue(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.id;throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e},getItemName(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},Ac=Q(gO,[["render",mO]]);var fO="[object Map]",AO="[object Set]",hO=Object.prototype,yO=hO.hasOwnProperty;function bO(e){if(e==null)return!0;if(dn(e)&&(qe(e)||typeof e=="string"||typeof e.splice=="function"||Nn(e)||Ta(e)||Sa(e)))return!e.length;var n=mn(e);if(n==fO||n==AO)return!e.size;if(gi(e))return!tl(e).length;for(var i in e)if(yO.call(e,i))return!1;return!0}const wO=["id","value","name","disabled"];function CO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{id:e.getFieldID(e.schema),type:"submit",value:e.schema.buttonText,onClick:n[0]||(n[0]=(...s)=>r.onClick&&r.onClick(...s)),name:e.schema.inputName,disabled:e.disabled||null,class:t.normalizeClass(e.schema.fieldClasses)},null,10,wO)}const EO={mixins:[se],methods:{onClick(e){if(this.schema.validateBeforeSubmit===!0){e.preventDefault();const n=ee(this.formOptions,"validateAsync",!1),i=this.vfg.validate(),a=o=>{n&&!bO(o)||!n&&!o?oe(this.schema.onValidationError)&&this.schema.onValidationError(this.model,this.schema,o,e):oe(this.schema.onSubmit)&&this.schema.onSubmit(this.model,this.schema,e)};i&&oe(i.then)?i.then(a):a(i)}else oe(this.schema.onSubmit)&&this.schema.onSubmit(this.model,this.schema,e)}}},kO=Q(EO,[["render",CO]]),BO=["id","disabled","maxlength","minlength","placeholder","readonly","required","rows","name"];function OO(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("textarea",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),id:e.getFieldID(e.schema),disabled:e.disabled||null,maxlength:e.schema.max,minlength:e.schema.min,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2,name:e.schema.inputName},null,10,BO)),[[t.vModelText,e.value],[s,"input"]])}const SO={mixins:[se]},hc=Q(SO,[["render",OO]]),IO={class:"wrapper"},xO=["id","name","accept","multiple","placeholder","readonly","required","disabled"];function MO(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",IO,[t.withDirectives(t.createElementVNode("input",{class:"form-control",id:e.getFieldID(e.schema),type:"file",name:e.schema.inputName,onChange:n[0]||(n[0]=(...l)=>r.onChange&&r.onChange(...l)),accept:e.schema.accept,multiple:e.schema.multiple,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,disabled:e.disabled||null},null,40,xO),[[s,"input"]])])),[[s,"wrapper"]])}const vO={mixins:[se],methods:{onChange(e){oe(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,this.schema,e,this)}}},TO=Q(vO,[["render",MO]]),RO=["value","autocomplete","disabled","placeholder","readonly","name","id"];function NO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text",value:e.value,autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,RO)}const VO={mixins:[se],data(){return{cleave:null}},mounted(){this.$nextTick(function(){window.Cleave?(this.cleave=new window.Cleave(this.$el,Et(this.schema.cleaveOptions||{},{creditCard:!1,phone:!1,phoneRegionCode:"AU",date:!1,datePattern:["d","m","Y"],numeral:!1,numeralThousandsGroupStyle:"thousand",numeralDecimalScale:2,numeralDecimalMark:".",blocks:[],delimiter:" ",prefix:null,numericOnly:!1,uppercase:!1,lowercase:!1,maxLength:0})),this.cleave.properties&&this.cleave.properties.hasOwnProperty.call("result")?this.$watch("cleave.properties.result",()=>{this.value=this.cleave.properties.result}):this.$el.addEventListener("input",this.inputChange)):console.warn("Cleave is missing. Please download from https://github.com/nosir/cleave.js/ and load the script in the HTML head section!")})},beforeUnmount(){this.cleave&&(this.cleave.destroy(),this.$el.removeEventListener("input",this.inputChange))},methods:{inputChange(){this.value=this.$el.value}}},jO=Q(VO,[["render",NO]]),yc={formatValueToField(e){if(e!=null){const n=this.schema.format?ct.parse(e,this.schema.format):new Date(e);return ct.format(n,this.getDateFormat())}return e},formatValueToModel(e){if(e!=null){const n=ct.parse(e,this.getDateFormat());this.schema.format?e=ct.format(n,this.schema.format):e=n.valueOf()}return e}},DO={class:"input-group date"},LO=["autocomplete","disabled","placeholder","readonly","name","id"],PO=t.createElementVNode("span",{class:"input-group-addon"},[t.createElementVNode("span",{class:"glyphicon glyphicon-calendar"})],-1);function UO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",DO,[t.withDirectives(t.createElementVNode("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,LO),[[t.vModelText,e.value]]),PO])}const bc="YYYY-MM-DD HH:mm:ss",YO={mixins:[se],mounted(){this.$nextTick(function(){if(window.$&&window.$.fn.datetimepicker){const e=this.$el.querySelector(".form-control");$(this.$el).datetimepicker(Et(this.schema.dateTimePickerOptions||{},{format:bc})).on("dp.change",()=>{this.value=e.value})}else console.warn("Bootstrap datetimepicker library is missing. Please download from https://eonasdan.github.io/bootstrap-datetimepicker/ and load the script and CSS in the HTML head section!")})},beforeUnmount(){window.$&&window.$.fn.datetimepicker&&$(this.$el).data("DateTimePicker").destroy()},methods:{getDateFormat(){return this.schema.dateTimePickerOptions&&this.schema.dateTimePickerOptions.format?this.schema.dateTimePickerOptions.format:bc},...yc}},GO=Q(YO,[["render",UO]]),FO=["autocomplete","disabled","placeholder","readonly","name","id"];function HO(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,debounce:"500",onFocus:n[1]||(n[1]=s=>r.geolocate()),id:e.getFieldID(e.schema)},null,40,FO)),[[t.vModelText,e.value]])}const zO={mixins:[se],data(){return{autocomplete:"",inputs:{street_number:"long_name",route:"long_name",country:"long_name",administrative_area_level_1:"long_name",administrative_area_level_2:"long_name",locality:"long_name",postal_code:"short_name"}}},mounted(){this.$nextTick(()=>{window.google&&window.google.maps&&window.google.maps.places&&window.google.maps.places.Autocomplete?(this.autocomplete=new google.maps.places.Autocomplete(this.$el,{types:["geocode"]}),this.autocomplete.addListener("place_changed",this.pipeAddress)):console.warn("Google Maps API is missing. Please add https://maps.googleapis.com/maps/api/js?key=YOUR_KEY&libraries=places script in the HTML head section!")})},methods:{pipeAddress(){const e=this.autocomplete.getPlace();if(e){this.value=e.formatted_address;const n={};if(e.address_components!==void 0)for(let i=0;i<e.address_components.length;i++){const a=e.address_components[i].types[0];this.inputs[a]&&(n[a]=e.address_components[i][this.inputs[a]])}oe(this.schema.onPlaceChanged)&&this.schema.onPlaceChanged(this.value,n,e,this.model,this.schema)}},geolocate(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>{const n={lat:e.coords.latitude,lng:e.coords.longitude},i=new window.google.maps.Circle({center:n,radius:e.coords.accuracy});this.autocomplete.setBounds(i.getBounds())})}}},KO=Q(zO,[["render",HO]]),qO={class:"wrapper"},XO=["autocomplete","disabled","placeholder","readonly"],JO=["disabled","name"];function ZO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",qO,[t.withDirectives(t.createElementVNode("input",{class:"form-control link",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>r.wrappedValue=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly},null,8,XO),[[t.vShow,e.schema.hideInput!==!0],[t.vModelText,r.wrappedValue]]),e.schema.browse!==!1?(t.openBlock(),t.createElementBlock("input",{key:0,class:"form-control file",type:"file",disabled:e.disabled||null,onChange:n[1]||(n[1]=(...s)=>r.fileChanged&&r.fileChanged(...s)),name:e.schema.inputName},null,40,JO)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"preview",style:t.normalizeStyle(r.previewStyle)},[t.createElementVNode("div",{class:"remove",title:"Remove image",onClick:n[2]||(n[2]=(...s)=>r.remove&&r.remove(...s))})],4)])}const WO={mixins:[se],computed:{previewStyle(){return this.schema.preview!==!1?{display:"block","background-image":this.value!=null?"url("+this.value+")":"none"}:{display:"none"}},wrappedValue:{get(){return this.value&&this.value.indexOf("data")===0?"<inline base64 image>":this.value},set(e){e&&e.indexOf("http")===0&&(this.value=e)}}},watch:{model:{deep:!0,handler(){const e=this.$el.querySelector("input.file");e&&(e.value="")}}},methods:{remove(){this.value=""},fileChanged(e){const n=new FileReader;n.onload=i=>{this.value=i.target.result},e.target.files&&e.target.files.length>0&&n.readAsDataURL(e.target.files[0])}}},QO=Q(WO,[["render",ZO]]),_O=["autocomplete","disabled","placeholder","readonly","name","id"];function $O(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,_O)),[[t.vModelText,e.value]])}const eS={mixins:[se],mounted(){this.$nextTick(function(){window.$&&window.$.fn.mask?$(this.$el).unmask().mask(this.schema.mask,this.schema.maskOptions):console.warn("JQuery MaskedInput library is missing. Please download from https://github.com/digitalBush/jquery.maskedinput and load the script in the HTML head section!")})},beforeUnmount(){window.$&&window.$.fn.mask&&$(this.$el).unmask()}},tS=Q(eS,[["render",$O]]),nS={mixins:[se],data(){return{slider:null}},computed:{containPips(){return this.schema.noUiSliderOptions&&typeof this.schema.noUiSliderOptions.pips<"u"},containTooltip(){return this.schema.noUiSliderOptions&&this.schema.noUiSliderOptions.tooltips}},watch:{model:{handler(){window.noUiSlider&&this.slider&&this.slider.noUiSlider&&this.slider.noUiSlider.set(this.value)},deep:!0}},mounted(){this.$nextTick(()=>{window.noUiSlider?(this.slider=this.$el,window.noUiSlider.create(this.slider,Et(this.schema.noUiSliderOptions||{},{start:this.getStartValue(),range:{min:this.schema.min,max:this.schema.max}})),this.slider.noUiSlider.on("change",this.onChange.bind(this))):console.warn("noUiSlider is missing. Please download from https://github.com/leongersen/noUiSlider and load the script and CSS in the HTML head section!")})},beforeUnmount(){this.slider&&this.slider.noUiSlider.off("change")},methods:{onChange(e){Array.isArray(e)?this.value=[parseFloat(e[0]),parseFloat(e[1])]:this.value=parseFloat(e)},formatValueToField(e){this.slider!==null&&typeof this.slider.noUiSlider<"u"&&this.slider.noUiSlider.set(e)},formatValueToModel(e){if(typeof this.slider.noUiSlider<"u")return e instanceof Array?[Number(e[0]),Number(e[1])]:Number(e)},getStartValue(){return this.value!=null?this.value:typeof this.schema.noUiSliderOptions<"u"&&this.schema.noUiSliderOptions.double?[this.schema.min,this.schema.min]:this.schema.min}}},iS=["disabled"];function aS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["slider",{"contain-pips":r.containPips,"contain-tooltip":r.containTooltip}]),disabled:e.disabled||null},null,10,iS)}const oS=Q(nS,[["render",aS]]),rS=["autocomplete","disabled","placeholder","readonly","name"];function sS(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,rS)),[[t.vModelText,e.value]])}const lS="YYYY-MM-DD",cS={mixins:[se],data(){return{picker:null,options:null}},mounted(){this.initialize(ee(this.schema,"pikadayOptions",{}))},beforeUnmount(){this.picker&&this.picker.destroy()},methods:{getDateFormat(){return ee(this.schema,"pikadayOptions.format",lS)},...yc,initialize(e){this.picker&&this.picker.destroy&&this.picker.destroy(),this.$nextTick(()=>{window.Pikaday?(this.options=Et({},e,{field:this.$el,onSelect:()=>{this.value=this.picker.toString()}}),this.picker=new window.Pikaday(this.options)):console.warn("Pikaday is missing. Please download from https://github.com/dbushell/Pikaday/ and load the script and CSS in the HTML head section!")})}}},dS=Q(cS,[["render",sS]]),pS=["autocomplete","data-disable","data-max","data-min","data-step","placeholder","readonly","name"];function uS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{type:"text",autocomplete:e.schema.autocomplete,"data-disable":e.disabled,"data-max":e.schema.max,"data-min":e.schema.min,"data-step":e.schema.step,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,pS)}const mS={mixins:[se],data(){return{slider:null}},watch:{model:{deep:!0,handler(){if(window.$&&window.$.fn.ionRangeSlider){let e,n;Array.isArray(this.value)?[e,n]=this.value:e=this.value,this.slider&&this.slider.update({from:e,to:n})}}}},mounted(){this.$nextTick(function(){if(window.$&&window.$.fn.ionRangeSlider){let e,n;Array.isArray(this.value)?[e,n]=this.value:e=this.value;const i=this;$(this.$el).ionRangeSlider(Et(this.schema.rangeSliderOptions||{},{type:"single",grid:!0,hide_min_max:!0,from:e,to:n,onChange(a){i.slider.options.type==="double"?i.value=[a.from,a.to]:i.value=a.from}})),this.slider=$(this.$el).data("ionRangeSlider")}else console.warn("ion.rangeSlider library is missing. Please download from https://github.com/IonDen/ion.rangeSlider and load the script and CSS in the HTML head section!")})},beforeUnmount(){this.slider&&this.slider.destroy()}},gS=Q(mS,[["render",uS]]),fS=["disabled","multiple","title","name"],AS=["disabled","selected"],hS=["value"];function yS(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:"selectpicker","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),disabled:e.disabled||null,multiple:e.schema.multiSelect,title:e.schema.placeholder,"data-width":"100%",name:e.schema.inputName},[e.schema.multiSelect!==!0?(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null,selected:e.value==null},null,8,AS)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock("option",{value:r.getItemValue(s)},t.toDisplayString(r.getItemName(s)),9,hS))),256))],8,fS)),[[t.vModelSelect,e.value]])}const bS={mixins:[se],computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e}},watch:{model:{deep:!0,handler(){$.fn.selectpicker&&$(this.$el).selectpicker("refresh")}}},mounted(){this.$nextTick(function(){$.fn.selectpicker?$(this.$el).selectpicker("destroy").selectpicker(this.schema.selectOptions):console.warn("Bootstrap-select library is missing. Please download from https://silviomoreto.github.io/bootstrap-select/ and load the script and CSS in the HTML head section!")})},beforeUnmount(){$.fn.selectpicker&&$(this.$el).selectpicker("destroy")},methods:{getItemValue(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.id;throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e},getItemName(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},wS=Q(bS,[["render",yS]]),CS=["autocomplete","disabled","placeholder","readonly","name","id"];function ES(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,CS)}const kS={mixins:[se],data(){return{picker:null}},watch:{model:{deep:!0,handler(){window.$&&window.$.fn.spectrum&&this.picker.spectrum("set",this.value)}},disabled(e){e?this.picker.spectrum("disable"):this.picker.spectrum("enable")}},mounted(){this.$nextTick(function(){window.$&&window.$.fn.spectrum?(this.picker=$(this.$el).spectrum("destroy").spectrum(Et(this.schema.colorOptions||{},{showInput:!0,showAlpha:!0,disabled:this.schema.disabled,allowEmpty:!this.schema.required,preferredFormat:"hex",change:e=>{this.value=e?e.toString():null}})),this.picker.spectrum("set",this.value)):console.warn("Spectrum color library is missing. Please download from http://bgrins.github.io/spectrum/ and load the script and CSS in the HTML head section!")})},beforeUnmount(){this.picker&&this.picker.spectrum("destroy")}},BS=Q(kS,[["render",ES]]),OS=["src"];function SS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("img",{src:r.mapLink},null,8,OS)}const IS={mixins:[se],computed:{mapLink(){let e,n,i;if(this.value){const a=Et(this.schema.staticMapOptions||{},{lat:"lat",lng:"lng",zoom:8,sizeX:640,sizeY:640});e=this.value[a.lat],n=this.value[a.lng],i=`http://maps.googleapis.com/maps/api/staticmap?center=${e},${n}&zoom=${a.zoom}&size=${a.sizeX}x${a.sizeY}`;const o=["scale","format","maptype","language","region","markers","path","visible","style","key","signature"];for(const r of o)typeof a[r]<"u"&&(i+=`&${r}=${a[r]}`)}return i}}},xS=Q(IS,[["render",SS]]),MS=["autocomplete","disabled","name","id"],vS=["data-on","data-off","for"],TS=t.createElementVNode("span",{class:"handle"},null,-1);function RS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("label",null,[t.withDirectives(t.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,MS),[[t.vModelCheckbox,e.value]]),t.createElementVNode("span",{class:"label","data-on":e.schema.textOn||"On","data-off":e.schema.textOff||"Off",for:e.getFieldID(e.schema)},null,8,vS),TS])}const NS={mixins:[se],methods:{formatValueToField(e){return e!=null&&this.schema.valueOn?e===this.schema.valueOn:e},formatValueToModel(e){return e!=null&&this.schema.valueOn?e?this.schema.valueOn:this.schema.valueOff:e}}},VS=Q(NS,[["render",RS]]),jS={mixins:[se],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=""}}},DS={key:0},LS={key:1},PS=["id"],US={key:0},YS=["onUpdate:modelValue"],GS={key:1},FS=["onUpdate:modelValue"],HS={key:2},zS=["onUpdate:modelValue"],KS=["onClick"],qS=t.createElementVNode("option",{value:"string"}," String ",-1),XS=t.createElementVNode("option",{value:"number"}," Number ",-1),JS=t.createElementVNode("option",{value:"boolean"}," Boolean ",-1),ZS=[qS,XS,JS];function WS(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",null,[e.schema.schema?(t.openBlock(),t.createElementBlock("div",DS,[t.createVNode(s,{model:e.value,options:e.formOptions,schema:e.schema.schema},null,8,["model","options","schema"])])):(t.openBlock(),t.createElementBlock("div",LS,[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,(c,d)=>(t.openBlock(),t.createElementBlock("tr",{key:d},[t.createElementVNode("td",null,t.toDisplayString(d),1),o.keyTypes[d]==="string"?(t.openBlock(),t.createElementBlock("td",US,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[d]=u,type:"text"},null,8,YS),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),o.keyTypes[d]==="boolean"?(t.openBlock(),t.createElementBlock("td",GS,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[d]=u,type:"checkbox"},null,8,FS),[[t.vModelCheckbox,e.value[d]]])])):t.createCommentVNode("",!0),o.keyTypes[d]==="number"?(t.openBlock(),t.createElementBlock("td",HS,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[d]=u,type:"number"},null,8,zS),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>r.removeElement(d)},null,8,KS)])]))),128))],10,PS),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=c=>o.newKeyType=c)},ZS,512),[[t.vModelSelect,o.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=c=>o.newKeyName=c),type:"text"},null,512),[[t.vModelText,o.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...c)=>r.addKey&&r.addKey(...c))})]))])),[[l,o.attributes]])}const wc=Q(jS,[["render",WS]]),QS={mixins:[se],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(c=>n.find(d=>d.model===c)),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(c=>c===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)}}},Cc=e=>(t.pushScopeId("data-v-22600a29"),e=e(),t.popScopeId(),e),_S=["id"],$S=["data-testid"],eI={class:"item-wrapper"},tI={class:"index-wrapper"},nI=Cc(()=>t.createElementVNode("hr",{class:"divider"},null,-1)),iI={key:0},aI={key:1},oI=["onUpdate:modelValue","placeholder","onInput"],rI={key:0,class:"hint"},sI=Cc(()=>t.createElementVNode("hr",{class:"wide-divider"},null,-1)),lI={class:"input-item"},cI=["placeholder"],dI={key:0,class:"hint"};function pI(e,n,i,a,o,r){const s=t.resolveComponent("KIcon"),l=t.resolveComponent("KButton"),c=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,(d,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",eI,[t.createElementVNode("div",tI,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",type:"button",onClick:m=>r.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s,{icon:"trash",size:"18"})]),_:2},1032,["onClick"])])]),nI,r.subSchema?(t.openBlock(),t.createElementBlock("div",iI,[t.createVNode(c,{model:r.transformedModel[u],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",aI,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":m=>e.value[u]=m,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:"text",onInput:m=>r.updateModel(e.value[u],e.model[e.schema.model])},null,40,oI),[[t.vModelText,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",rI,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0)])),sI])])],8,$S))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",lI,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.newKeyName=d),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,cI),[[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",dI,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,_S)}const Ec=Q(QS,[["render",pI],["__scopeId","data-v-22600a29"]]),Ii="24px",kc=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},uI=e=>(t.pushScopeId("data-v-1d2a8d30"),e=e(),t.popScopeId(),e),mI=["aria-hidden"],gI={key:0,"data-testid":"kui-icon-svg-title"},fI=uI(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),AI=t.defineComponent({__name:"AddIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Ii,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const o=String(n.size).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Ii}),a=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(o,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(a.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",gI,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),fI],8,mI))]),_:1},8,["aria-hidden","style"]))}}),hI=kc(AI,[["__scopeId","data-v-1d2a8d30"]]),yI=e=>(t.pushScopeId("data-v-b199fa56"),e=e(),t.popScopeId(),e),bI=["aria-hidden"],wI={key:0,"data-testid":"kui-icon-svg-title"},CI=yI(()=>t.createElementVNode("path",{d:"M7 21C6.45 21 5.97917 20.8042 5.5875 20.4125C5.19583 20.0208 5 19.55 5 19V6H4V4H9V3H15V4H20V6H19V19C19 19.55 18.8042 20.0208 18.4125 20.4125C18.0208 20.8042 17.55 21 17 21H7ZM17 6H7V19H17V6ZM9 17H11V8H9V17ZM13 17H15V8H13V17Z",fill:"currentColor"},null,-1)),EI=t.defineComponent({__name:"TrashIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Ii,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const o=String(n.size).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Ii}),a=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(o,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trash-icon","data-testid":"kui-icon-wrapper-trash-icon",style:t.normalizeStyle(a.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trash-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",wI,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),CI],8,bI))]),_:1},8,["aria-hidden","style"]))}}),xi=kc(EI,[["__scopeId","data-v-b199fa56"]]),kI={class:"array-item"},BI=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",kI,[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(xi))]),_:1})])}}}),Bc=Q(BI,[["__scopeId","data-v-ec926551"]]),OI=e=>(t.pushScopeId("data-v-27d212bd"),e=e(),t.popScopeId(),e),SI={class:"multi-item-wrapper"},II=OI(()=>t.createElementVNode("hr",null,null,-1)),xI=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",SI,[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(()=>[t.createTextVNode(" - Remove Field ")]),_:1}),II])}}}),Oc=Q(xI,[["__scopeId","data-v-27d212bd"]]),MI={name:"FieldMetric",components:{AddIcon:hI,TrashIcon:xi},mixins:[se],emits:["remove-item"],data(){return{contentVisible:!1}}},vI={key:0,class:"content"};function TI(e,n,i,a,o,r){const s=t.resolveComponent("AddIcon"),l=t.resolveComponent("TrashIcon"),c=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]=d=>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",vI,[t.renderSlot(e.$slots,"default"),t.createVNode(c,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=d=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(l)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Sc=Q(MI,[["render",TI]]),Ot="kong-ui-forms-api",RI="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function NI(e){return e?e.length===36&&new RegExp(`^${RI}$`).test(e):!1}const Wa=50,Kt={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 VI(e,n,i){return i?Kt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Kt.UPDATE_ENTITY:e&&n?Kt.CREATE_FROM_ENTITY:Kt.CREATE_NOT_FROM_ENTITY}const jI={mixins:[se],inject:[Ot],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return VI(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}},watch:{idValue:{handler(e,n){e!==n&&this.updateModel(e)}}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Kt.UPDATE_ENTITY:if(!this[Ot]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[Ot].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 Kt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Kt.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=Un(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;NI(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[Ot])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<Wa;){const a=await this[Ot].getAll(this.entity,{size:Wa,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,Wa)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[Ot]?(await this[Ot].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}}},DI={class:"field-wrap autosuggest"},LI=["data-testid","data-testlabel"],PI=["data-testid"],UI={class:"autosuggest__results_message"};function YI(e,n,i,a,o,r){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",DI,[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,LI),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(l).split(" - ").slice(1),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"field-span","data-testid":l.id&&`${l.id}-${d+1}`||d+1},t.toDisplayString(c),9,PI))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",UI,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const Ic=Q(jI,[["render",YI],["__scopeId","data-v-d0c3e2aa"]]),GI={class:"array-card-container"},FI=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null}},emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KCard"),o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",GI,[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(xi))]),_:1})])}}}),xc=Q(FI,[["__scopeId","data-v-5fa27cb4"]]),HI={mixins:[se],emits:["model-updated"],methods:{updateModel(e){this.$emit("model-updated",e,this.schema.model)},checkOption(e){return this.model[this.schema.model]?e.value.toString()===this.model[this.schema.model].toString():e.checked},onChange(e){let n=e.target.value.split(",");this.schema.array||(n=n.toString()),this.updateModel(n)}}},zI={class:"selection-group"},KI={class:"form-group"},qI=["id","checked","name","value"];function XI(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",zI,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(s,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"option-group"},[t.createElementVNode("div",KI,[t.createElementVNode("label",{class:t.normalizeClass(["k-label",s.name])},[t.createElementVNode("input",{id:e.schema.name+"-"+l,checked:r.checkOption(s),class:"k-input",name:e.schema.name,type:"radio",value:s.value,onChange:n[0]||(n[0]=(...c)=>r.onChange&&r.onChange(...c))},null,40,qI),t.createTextVNode(" "+t.toDisplayString(s.name),1)],2)])]))),128))])}const Mc=Q(HI,[["render",XI],["__scopeId","data-v-7e49acd6"]]),JI={name:"FieldArray",components:{FieldArrayItem:Bc,FieldArrayMultiItem:Oc,FieldSelect:Ac,FieldMetric:Sc,FieldObject:wc,FieldObjectAdvanced:Ec,FieldAutoSuggest:Ic,FieldRadio:Mc,FieldArrayCardContainer:xc,FieldTextArea:hc,FieldInput:sc},mixins:[se],props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},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,c){e[i]=c},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.splice(e,1)},getFieldType(e){return"field-"+e.type},modelUpdated(){}}},ZI=["id"],WI={key:1},QI=["onUpdate:modelValue","aria-labelledby","type"],_I=["value","onClick"],$I=["onUpdate:modelValue","aria-labelledby"],ex=["value","onClick"];function tx(e,n,i,a,o,r){const s=t.resolveComponent("FieldTextArea"),l=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,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onRemoveItem:u=>r.removeElement(d)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",WI,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:c,schema:r.generateSchema(e.value,e.schema.items,d),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-${d}`,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onRemoveItem:u=>r.removeElement(d)},{default:t.withCtx(()=>{var u,m;return[((u=e.schema.inputAttributes)==null?void 0:u.type)==="textarea"?(t.openBlock(),t.createBlock(s,{key:0,"aria-labelledby":e.getLabelId(e.schema),class:"k-input","form-options":e.formOptions,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onModelUpdated:r.modelUpdated},null,8,["aria-labelledby","form-options","model","schema","onModelUpdated"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:1,"onUpdate:modelValue":f=>e.value[d]=f,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((m=e.schema.inputAttributes)==null?void 0:m.type)||"text"}),null,16,QI)),[[t.vModelDynamic,e.value[d]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:f=>r.removeElement(d)}),null,16,_I)):t.createCommentVNode("",!0)]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:3,ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":u=>e.value[d]=u,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,$I)),[[t.vModelText,e.value[d]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:4,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:u=>r.removeElement(d)}),null,16,ex)):t.createCommentVNode("",!0)],2))),128)),t.createVNode(l,{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,ZI)):t.createCommentVNode("",!0)}const nx=Q(JI,[["render",tx],["__scopeId","data-v-c42fe627"]]),ix={mixins:[se],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)}}},ax={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},ox={class:"material-icons"};function rx(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",ax,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",ox,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 sx=Q(ix,[["render",rx],["__scopeId","data-v-2d8e71e1"]]),lx={mixins:[se],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)}}},cx={class:"selection-group"},dx={class:"form-group"},px=["value"],ux={class:"control-help"},mx={class:"option-field"},gx={class:"option-field-container"};function fx(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",cx,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(l,c)=>(t.openBlock(),t.createElementBlock("div",{key:c,class:"option-group"},[t.createElementVNode("div",dx,[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${l.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.checkedGroup=d),class:"k-input",type:"radio",value:c},null,8,px),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",ux,t.toDisplayString(l.description),1)],2)]),t.withDirectives(t.createElementVNode("div",mx,[t.createElementVNode("div",gx,[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===c]])]))),128))])}const Ax=Q(lx,[["render",fx],["__scopeId","data-v-25fe24da"]]),hx={mixins:[se],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function yx(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 bx=Q(hx,[["render",yx]]),wx={name:"FieldKeyValuePairs",components:{TrashIcon:xi},mixins:[se],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)}}},Cx={class:"key-value-pairs-editor"},Ex=["data-testid","placeholder","value","onInput"],kx=["data-testid","placeholder","value","onInput"];function Bx(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Cx,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.pairs,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:"pair-item"},[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${d}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:c.key,onInput:u=>{r.onInput(u,d,"key")}},null,40,Ex),t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${d}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:c.value,onInput:u=>{r.onInput(u,d,"value")}},null,40,kx),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${d}`,onClick:()=>{r.removePair(d)}},{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 Ox=Q(wx,[["render",Bx],["__scopeId","data-v-29d15375"]]),Sx=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:sx,FieldArray:nx,FieldArrayCardContainer:xc,FieldArrayItem:Bc,FieldArrayMultiItem:Oc,FieldAutoSuggest:Ic,FieldCheckbox:W0,FieldChecklist:lB,FieldCleave:jO,FieldDateTimePicker:GO,FieldGoogleAddress:KO,FieldImage:QO,FieldInput:sc,FieldKeyValuePairs:Ox,FieldLabel:mB,FieldMasked:tS,FieldMetric:Sc,FieldMultiselect:bx,FieldNoUiSlider:oS,FieldObject:wc,FieldObjectAdvanced:Ec,FieldPikaday:dS,FieldRadio:Mc,FieldRadios:yB,FieldRangeSlider:gS,FieldSelect:Ac,FieldSelectEx:wS,FieldSelectionGroup:Ax,FieldSpectrum:BS,FieldStaticMap:xS,FieldSubmit:kO,FieldTextArea:hc,FieldUpload:TO,fieldSwitch:VS},Symbol.toStringTag,{value:"Module"})),Ix={name:"FormGroup",components:Sx,mixins:[cl],props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated"],data(){return{child:t.ref()}},methods:{fieldTypeHasLabel(e){if(Ee(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=ee(this.options,"fieldIdPrefix","");return Fa(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return ee(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 oe(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},xx=e=>(t.pushScopeId("data-v-239269fd"),e=e(),t.popScopeId(),e),Mx=["innerHTML"],vx={class:"icon-wrapper"},Tx=["innerHTML"],Rx={key:0,class:"link-wrapper"},Nx=xx(()=>t.createElementVNode("span",{class:"section-header"},"More info",-1)),Vx={class:"field-wrap"},jx={key:0,class:"buttons"},Dx=["type","onClick","textContent"],Lx=["innerHTML"],Px={key:2,class:"errors help-block"},Ux=["innerHTML"];function Yx(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",vx,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,Tx)]),i.field.link?(t.openBlock(),t.createElementBlock("div",Rx,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>[Nx]),_: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,Mx)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",Vx,[(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:i.field,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",jx,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(c,d)=>(t.openBlock(),t.createElementBlock("button",{key:d,class:t.normalizeClass(c.classes),type:r.getButtonType(c),onClick:u=>r.buttonClickHandler(c,i.field,u),textContent:t.toDisplayString(c.label)},null,10,Dx))),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,Lx)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Px,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,innerHTML:c},null,8,Ux))),128))])):t.createCommentVNode("",!0)],2)}const Gx=Q(Ix,[["render",Yx],["__scopeId","data-v-239269fd"]]),Fx={name:"FormGenerator",components:{formGroup:Gx},mixins:[cl],props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Le(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Le(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 oe(e.visible)?e.visible.call(this,this.model,e,this):Ee(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&&Le(n,o=>{this.errors.push({field:i.schema,error:o})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=ee(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Le(this.$refs.children,o=>{oe(o.validate)&&(n.push(o.$refs.child),i.push(o.$refs.child.validate(!0)))});const a=o=>{const r=[];Le(o,(l,c)=>{Array.isArray(l)&&l.length>0&&Le(l,d=>{r.push({field:n[c].schema,error:d})})}),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),Le(this.$refs.children,e=>{e.clearValidationErrors()})}}},Hx={key:0,class:"vue-form-generator"},zx={key:0};function Kx(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",Hx,[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,c=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:c.model},[r.fieldVisible(c)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:c,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(c,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${d}`},[c.collapsible!==void 0&&c.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:c.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,m,f,h;return[(u=c.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(m=c.slots)==null?void 0:m.beforeContent,{key:0}):t.createCommentVNode("",!0),c.fields.length===0&&(f=c.slots)!=null&&f.emptyState?t.renderSlot(e.$slots,(h=c.slots)==null?void 0:h.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:k,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),c.collapsible!==!0&&c.collapsible.nestedCollapsible&&c.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${d}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${d}-nested`]??!0?c.collapsible.nestedCollapsible.triggerLabel.expand:c.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":k=>o.collapseStates[`group-${d}-nested`]=k},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.collapsible.nestedCollapsible.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:k,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[c.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[c.legend?(t.openBlock(),t.createElementBlock("legend",zx,t.toDisplayString(c.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.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,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Fe=Q(Fx,[["render",Kx]]),qx={fields:[{inputType:"text",label:"Config.Client Id",model:"config-client_id",type:"input"},{inputType:"text",label:"Config.Client Secret",model:"config-client_secret",type:"input"},{inputType:"text",label:"Config.Issuer",model:"config-issuer",required:!0,type:"input"},{inputType:"text",label:"Config.Auth Methods",model:"config-auth_methods",type:"input"}]},Xx={fields:[{inputType:"text",label:"Config.Scopes Claim",model:"config-scopes_claim",type:"input"},{inputType:"text",label:"Config.Scopes Required",model:"config-scopes_required",type:"input"},{inputType:"text",label:"Config.Audience Claim",model:"config-audience_claim",type:"input"},{inputType:"text",label:"Config.Audience Required",model:"config-audience_required",type:"input"},{inputType:"text",label:"Config.Roles Claim",model:"config-roles_claim",type:"input"},{inputType:"text",label:"Config.Roles Required",model:"config-roles_required",type:"input"},{inputType:"text",label:"Config.Groups Claim",model:"config-groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Groups Required",model:"config-groups_required",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Authenticated Groups Claim",model:"config-authenticated_groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"}]},Jx={fields:[{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",newElementButtonLabel:"+ Add Client JWK",items:{type:"object",schema:{fields:[{model:"kid",label:"kid",type:"input",inputType:"string"},{model:"issuer",label:"issuer",type:"input",inputType:"string"},{model:"kty",label:"kty",type:"input",inputType:"string"},{model:"use",label:"use",type:"input",inputType:"string"},{model:"key_ops",label:"key_ops",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"alg",label:"alg",type:"input",inputType:"string"},{model:"x5u",label:"x5u",type:"input",inputType:"string"},{model:"x5c",label:"x5c",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"x5t",label:"x5t",type:"input",inputType:"string"},{model:"x5t#S256",label:"x5t#S256",type:"input",inputType:"string"},{model:"k",label:"k",type:"input",inputType:"string"},{model:"x",label:"x",type:"input",inputType:"string"},{model:"y",label:"y",type:"input",inputType:"string"},{model:"crv",label:"crv",type:"input",inputType:"string"},{model:"n",label:"n",type:"input",inputType:"string"},{model:"e",label:"e",type:"input",inputType:"string"},{model:"d",label:"d",type:"input",inputType:"string"},{model:"p",label:"p",type:"input",inputType:"string"},{model:"q",label:"q",type:"input",inputType:"string"},{model:"dp",label:"dp",type:"input",inputType:"string"},{model:"dq",label:"dq",type:"input",inputType:"string"},{model:"qi",label:"qi",type:"input",inputType:"string"},{model:"oth",label:"oth",type:"input",inputType:"string"},{model:"r",label:"r",type:"input",inputType:"string"},{model:"t",label:"t",type:"input",inputType:"string"}]}},model:"config-client_jwk",label:"Config.Client Jwk",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record"},{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",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"}]}},model:"config-session_redis_cluster_nodes",label:"Config.Session Redis Cluster Nodes",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record"}]},Zx={name:"OIDCForm",components:{VueFormGenerator:Fe},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;this.init||(this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")},this.commonFieldsSchema={...qx},this.authFieldsSchema={...Xx},this.advancedFieldsSchema.fields=this.formSchema.fields.filter(i=>i.model.startsWith("config")&&!this.commonFieldsSchema.fields.filter(a=>a.model===i.model).length&&!this.authFieldsSchema.fields.filter(a=>a.model===i.model).length||i.model==="tags"),this.advancedFieldsSchema.fields=this.advancedFieldsSchema.fields.map(i=>Jx.fields.find(o=>o.model===i.model)||i),this.commonFieldsSchema.fields=this.commonFieldsSchema.fields.filter(i=>i.model!=="config-auth_methods"),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}]);const n={};for(const i of this.formSchema.fields)n[i.model]=i;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()}}},gn=e=>(t.pushScopeId("data-v-e7395ff0"),e=e(),t.popScopeId(),e),Wx={class:"general-settings"},Qx={class:"link-wrapper"},_x=gn(()=>t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)),$x=gn(()=>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)),eM={class:"auth-method-container"},tM={class:"general-settings"},nM={class:"link-wrapper"},iM=gn(()=>t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)),aM=gn(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),oM={class:"general-settings"},rM={class:"link-wrapper"},sM=gn(()=>t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)),lM=gn(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1));function cM(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),c=t.resolveComponent("KLabel"),d=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),m=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(m,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Wx,[t.createElementVNode("div",Qx,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>[_x]),_:1})]),$x,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(c,null,{default:t.withCtx(()=>[t.createTextVNode("Auth Methods")]),_:1}),t.createElementVNode("div",eM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,f=>(t.openBlock(),t.createElementBlock("div",{key:f.value,class:"auth-method"},[t.createVNode(d,{modelValue:f.prop,"onUpdate:modelValue":h=>f.prop=h,onChange:h=>r.handleUpdate(h,f.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(f.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=f=>o.sessionManagement=f),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",tM,[t.createElementVNode("div",nM,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>[iM]),_:1})]),aM,r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.authFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",oM,[t.createElementVNode("div",rM,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>[sM]),_:1})]),lM,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)])]),_:1},8,["tabs"])])}const dM=Q(Zx,[["render",cM],["__scopeId","data-v-e7395ff0"]]),pM={packageName:"forms"},vc={general:pM,"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"}}},uM=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){const{t:n,te:i}=Jt.createI18n("en-us",vc),a=e,o=t.computed(()=>a.formModel.id&&a.isEditing||!a.isEditing),r=t.computed(()=>{const s=a.formSchema;return s.fields.map(l=>{const c=`post-function.${l.model}`;return l.hint=i(`${c}.hint`)&&n(`${c}.hint`)||l.hint,l.help=i(`${c}.help`)&&n(`${c}.help`)||l.help,l.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||l.newElementButtonLabel,l.model!=="tags"&&(l.valueType==="array"||l.type==="array")&&(l.type="array",l.valueArrayType="array",l.itemContainerComponent="FieldArrayItem",l.fieldClasses="post-function-array-item-container",l.fieldItemsClasses="post-function-array-item",l.inputAttributes={...l.inputAttributes,type:"textarea"}),l}),s});return(s,l)=>o.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),mM=Q(uM,[["__scopeId","data-v-6706c68b"]]),gM=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){const{t:n,te:i}=Jt.createI18n("en-us",vc),a=e,o=t.computed(()=>a.formModel.id&&a.isEditing||!a.isEditing),r=t.computed(()=>{const s=a.formSchema;return s.fields.map(l=>{const c=`exit-transformer.${l.model}`;return l.hint=i(`${c}.hint`)&&n(`${c}.hint`)||l.hint,l.help=i(`${c}.help`)&&n(`${c}.help`)||l.help,l.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||l.newElementButtonLabel,l.model!=="tags"&&(l.valueType==="array"||l.type==="array")&&(l.type="array",l.valueArrayType="array",l.itemContainerComponent="FieldArrayItem",l.fieldClasses="exit-transformer-array-item-container",l.fieldItemsClasses="exit-transformer-array-item",l.inputAttributes={...l.inputAttributes,type:"textarea"}),l}),s});return(s,l)=>o.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),fM=Q(gM,[["__scopeId","data-v-0fc8ef29"]]),AM={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}]},hM={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}]},yM={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}]},qt=e=>(t.pushScopeId("data-v-b9df1c3f"),e=e(),t.popScopeId(),e),bM={class:"general-settings"},wM=qt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),CM=qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),EM=qt(()=>t.createElementVNode("hr",null,null,-1)),kM={class:"sub-form"},BM={class:"general-settings"},OM=qt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),SM=qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),IM={class:"sub-form"},xM={class:"general-settings"},MM=qt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),vM=qt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),TM=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){const n=e,i=t.ref("zeroSsl"),a=t.ref("shm"),o=t.computed(()=>{var A;const g={};if((A=n.formSchema)!=null&&A.fields)for(const B of n.formSchema.fields)g[B.model]=B;return g}),r=t.computed(()=>{var A;const g=Ga(AM);for(const B of g.fields){const E=(A=o.value[B.model])==null?void 0:A.help;B.help===void 0&&typeof E=="string"&&(B.help=E)}return g}),s=t.computed(()=>{var A;const g=Ga(hM);for(const B of g.fields){const E=(A=o.value[B.model])==null?void 0:A.help;B.help===void 0&&typeof E=="string"&&(B.help=E)}return g}),l=t.computed(()=>{var A;const g=Ga(yM);for(const B of g.fields){const E=(A=o.value[B.model])==null?void 0:A.help;B.help===void 0&&typeof E=="string"&&(B.help=E)}return g}),c=t.computed(()=>({fields:n.formSchema.fields.filter(A=>!A.model.startsWith("config")&&A.model!=="tags")})),d=t.computed(()=>({fields:r.value.fields.filter(A=>!s.value.fields.some(g=>g.model===A.model)&&!l.value.fields.some(g=>g.model===A.model))})),u=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage")&&!A.model.startsWith("config-storage_config-consul")&&!A.model.startsWith("config-storage_config-redis")&&!A.model.startsWith("config-storage_config-shm")&&!A.model.startsWith("config-storage_config-vault"))})),m=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-consul"))})),f=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-redis"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-shm"))})),k=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-vault"))})),b=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config")&&!d.value.fields.filter(g=>g.model===A.model).length&&!u.value.fields.filter(g=>g.model===A.model).length||A.model==="tags")})),y=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),C=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],O=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{i.value==="zeroSsl"&&(n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const x=A=>{i.value=A.value,(A.value==="zeroSsl"||A.value==="other")&&(A.value==="zeroSsl"?n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":n.formModel["config-api_uri"]="https://acme.example.com/",n.formModel["config-tos_accepted"]=!1),A.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},w=(A,g)=>{g==="config-storage"&&(a.value=A),n.onModelUpdated()};return(A,g)=>{const B=t.resolveComponent("KSelect"),E=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Fe,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:c.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(E,{tabs:C},{general:t.withCtx(()=>[t.createElementVNode("div",bM,[wM,CM,y.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),EM,t.createVNode(B,{class:"issuer-select",items:O,label:"Issuer",onChange:x}),t.createElementVNode("div",kM,[i.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),i.value==="zeroSsl"||i.value==="other"?(t.openBlock(),t.createBlock(Fe,{key:1,model:e.formModel,options:e.formOptions,schema:l.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",BM,[OM,SM,y.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:w},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",IM,[a.value==="consul"?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="redis"?(t.openBlock(),t.createBlock(Fe,{key:1,model:e.formModel,options:e.formOptions,schema:f.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="shm"?(t.openBlock(),t.createBlock(Fe,{key:2,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="vault"?(t.openBlock(),t.createBlock(Fe,{key:3,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",xM,[MM,vM,y.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:b.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),RM=Q(TM,[["__scopeId","data-v-b9df1c3f"]]),NM=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:RM,ExitTransformer:fM,OIDCForm:dM,PostFunction:mM},Symbol.toStringTag,{value:"Module"})),Qa=["array","metric","advanced","selectionGroup","object-advanced"],Tc=(e,n=!1)=>({...n&&{acme:"ACMEForm"},"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer"})[e],Xt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},VM={"config-prompts-prepend":{...Xt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Xt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}}},jM={"config-templates":{...Xt,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",inputType:"text"}]}}}},DM={"config-llm_providers":{...Xt,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",inputType:"number"},{label:"Name",model:"name",help:"The llm providers.",type:"select",values:["anthropic","azure","cohere","llama2","mistral","openai","requestPrompt"]},{label:"Limit",model:"limit",help:"Limit applied to the llm provider.",type:"input",inputType:"number"}]}}}},LM={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:Tn.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"}},Fn={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"},Hn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},PM={"config-metrics":{...Hn,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"}]}}}},UM={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Rc={"config-bootstrap_servers":{...Xt,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",help:"Set of bootstrap brokers.",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},YM={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},GM={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Nc=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Tn.fields.arrayItems({newElementButtonLabel:"Add"})}),GM),Mi={"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"}},FM={"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":{}},HM=["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]:Tn.fields.arrayItems({newElementButtonLabel:"Add"})}),FM),zM={"config-parameter_schema":{...Hn,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"}]}}}},KM={"config-rules":{...Xt,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"}]}}}},qM={"config-session_redis_cluster_nodes":{...Xt,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"}]}}}},XM={"config-metrics":{...Hn,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"]}]}}}},JM={"config-allow_status_codes":{type:"input",inputType:"text",valueArrayType:"string",valueType:"array",label:"config.allow_status_codes",help:"A list of status code ranges, separated by commas. e.g. 200-204, 500-505"},"config-metrics":{...Hn,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"]}]}}}},ZM={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},WM={"config-static_tags":{...Hn,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"}]}}}},QM=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},Vc=(e,n)=>(e.order??0)-(n.order??0),jc=(e,n)=>QM(e,n)||Vc(e,n)||e.model.localeCompare(n.model),we={useI18n:mi,usePluginMetaData:tw,usePluginHelpers:Rs,useSchemas:(e,n)=>{const{capitalize:i}=$i(),{convertToDotNotation:a}=Rs(),{i18n:{t:o}}=mi(),r={"application-registration":{overwriteDefault:!0,formSchema:{...LM}},datadog:{...PM},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},jwt:{...Z1},"kafka-upstream":{...Rc},"kafka-log":{...Rc},statsd:{...XM},"statsd-advanced":{...JM},"route-by-header":{...KM},"ai-prompt-decorator":{...VM},"ai-prompt-template":{...jM},"ai-rate-limiting-advanced":{...DM},"vault-auth":{...ZM},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...YM},"rate-limiting":{...Mi},"rate-limiting-advanced":(n==null?void 0:n.app)==="kongManager"?{"config-consumer_groups":Mi["config-consumer_groups"]}:{...Mi},"graphql-rate-limiting-advanced":{...UM},"response-ratelimiting":{...Mi},"pre-function":{...Nc},"post-function":{...Nc},"request-transformer-advanced":{...HM},"request-validator":{...zM},zipkin:{...WM},saml:{...qM}},s=()=>["created_at","updated_at","id"],l=(g,B,E)=>{let M={};(B||g)&&(M=B||(g.fields?g.fields:g));const U=s().concat(g.blacklist?g.blacklist:[]),L=Object.keys(M).filter(K=>!U.includes(K)),F=L.indexOf("comparator");F>-1&&L.splice(F,1);let R={fields:[]};const V={};L.forEach(K=>{d(M[K],K,M,V,R,E)});const q=V.name,z=Qe[q];if(!Tc(q)&&(n!=null&&n.groupFields)&&!(z!=null&&z.useLegacyForm)){const K=[],W=[],j=[],D={};if(z!=null&&z.fieldRules){const te=[...z.fieldRules.atLeastOneOf??[],...z.fieldRules.onlyOneOf??[],...z.fieldRules.mutuallyRequired??[]];if(z.fieldRules.onlyOneOfMutuallyRequired)for(const le of z.fieldRules.onlyOneOfMutuallyRequired)te.push(...le);for(const le of te)for(const ve of le)D[ve.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const te of R.fields){if(te.pinned){K.push(te);continue}if(te.required||D[te.model]!==void 0){D[te.model]===!1&&(D[te.model]=!0),W.push(te);continue}j.push(te)}const Z=Object.entries(D).filter(([,te])=>!te).map(([te])=>te.replace(/-/g,".").replace(/_/g,"-"));Z.length>0&&console.warn(`Unknown checked fields for plugin ${q}: ${Z.join(", ")}`);const G=[];K.length>0&&G.push({fields:K.sort(Vc)}),(W.length>0||j.length>0)&&G.push({fields:W.sort(jc),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:j.sort(jc),triggerLabel:{expand:o("plugins.form.grouping.advanced_parameters.view"),collapse:o("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),R={groups:G}}else R.fields.sort((K,W)=>(K.order=K.order||0,W.order=W.order||0,K.order-W.order));return{schema:R,model:V,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=g=>Array.isArray(g.default)||g.default!=null&&typeof g.default!="object"&&g.default!=="function",d=(g,B,E,M,U,L)=>{const F=c(g);return M[B]=F?g.default:null,g.id=B,g.model=B,g.fields&&g.type==="record"?m(g,B,E,M,U,L):(E[B]=g,A(g,M),L&&L[B]&&u(E[B],L[B]),U.fields.push(g)),E},u=(g,B)=>(B&&(Object.assign(g,B),B.label&&(g.label=B.label)),g),m=(g,B,E,M,U,L)=>{g.fields.forEach(F=>{Object.keys(F).forEach(R=>{const V=F[R];E=d(V,B+"-"+R,E,M,U,L)})})},f=(g,B)=>{g.type="input",g.inputType="hidden",g.styleClasses="kong-form-hidden-field-wrapper";const E=e;B[g.model]=E?{id:E}:null},h=g=>{g.type="input",g.inputType="number",g.between&&g.between.length===2&&(g.min=g.between[0],g.max=g.between[1])},k=g=>{Object.prototype.hasOwnProperty.call(g,"one_of")?(g.type="select",g.values=g.one_of,g.selectOptions={hideNoneSelectedText:!0}):(g.type="input",g.inputType="text")},b=g=>{g.type="input",g.inputType="text",g.valueType="array",g.valueArrayType="string"},y=g=>{g.type="checkbox",g.default=!0,g.required=!1},C=g=>{if(g.type="object-advanced",g.values.type==="array"){const{type:B}=g.values.elements||{};g.schema={fields:[{schema:{fields:[{...Fn,model:g.model,valueArrayType:B==="integer"?"number":B||"string",inputAttributes:{...Fn.inputAttributes,type:B==="integer"?"number":"text",inputMode:B==="integer"?"numeric":"text"}}]}}]}}else g.values.fields&&(g.schema={fields:[{type:"object",model:"object",schema:{fields:g.values.fields.map(B=>{const E=Object.keys(B)[0];return{model:E,type:"input",label:i(E),placeholder:E,inputType:B[E].type}})}}]})},O=g=>g.fields.reduce((B,E)=>(E.fields&&E.fields.forEach(M=>{B[M.model]=M}),E.model&&(B[E.model]=E),B),{}),x=(g,B)=>{if(!Qa.includes(g.model))return;const E=O(g);Qa.forEach(M=>{Object.keys(E).forEach(U=>{const L=c(E[U]);B[U]=L?E[U].default:null}),delete B[M]})},w=(g,B)=>g.inputType==="hidden"?"":a(i(g.label||B.replace(/_/g," "))),A=(g,B)=>{switch(x(g,B),g.type){case"foreign":f(g,B);break;case"number":h(g),g.attributes={step:"any"};break;case"integer":h(g);break;case"string":k(g);break;case"set":b(g);break;case"boolean":y(g);break;case"map":C(g);break}g.inputType==="foreign"&&f(g,B),g.label=w(g,g.model)};return{buildFormSchema:d,parseSchema:l,customSchemas:r,typedefs:Tn}}},He="/v2/control-planes/{controlPlaneId}/core-entities",Ne="/{workspace}",Se={list:{konnect:{all:`${He}/plugins`,forEntity:`${He}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ne}/plugins`,forEntity:`${Ne}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${He}/v1/available-plugins`},kongManager:{availablePlugins:`${Ne}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${He}/plugins`,forEntity:`${He}/{entityType}/{entityId}/plugins`},edit:{all:`${He}/plugins/{id}`,forEntity:`${He}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${He}/{resourceEndpoint}`,edit:`${He}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${He}/v1/schemas/json/plugin/validate`,entityGetOne:`${He}/{entity}/{id}`,entityGetAll:`${He}/{entity}?size=1000`},kongManager:{create:{all:`${Ne}/plugins`,forEntity:`${Ne}/{entityType}/{entityId}/plugins`},edit:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ne}/schemas/plugins/{plugin}`,credential:{create:`${Ne}/{resourceEndpoint}`,edit:`${Ne}/{resourceEndpoint}/{id}`},credentialSchema:`${Ne}/schemas/{plugin}`,validate:`${Ne}/schemas/plugins/validate`,entityGetOne:`${Ne}/{entity}/{id}`,entityGetAll:`${Ne}/{entity}`}},item:{konnect:{all:`${He}/plugins/{id}`,forEntity:`${He}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`}}},_M={key:0},$M=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=we.usePluginHelpers(),{i18n:{t:a}}=we.useI18n(),o=l=>l.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>i(d)).join(".")).join(", "),r=(l,c)=>a(l,{parameters:o(c)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)l.push(r("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)l.push(r("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)l.push(r("plugins.form.field_rules.mutually_required",c));return l});return(l,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{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,m)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${m}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",_M,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,m)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${m}`},[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,(f,h)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${m}-combination-${h}`},t.toDisplayString(o(f)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),_e=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},ev=_e($M,[["__scopeId","data-v-17c1f232"]]),tv={class:"kong-ui-entities-plugin-form"},nv={key:1,class:"entity-form"},iv={class:"plugin-config-empty-state"},av=t.defineComponent({components:{...NM}}),ov=t.defineComponent({...av,__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}},emits:["loading","model-updated"],setup(e,{emit:n}){var L,F;const i=n,a=e,{axiosInstance:o}=nn((L=a.config)==null?void 0:L.axiosRequestConfig),{parseSchema:r}=we.useSchemas(((F=a.entityMap.focusedEntity)==null?void 0:F.id)||void 0,{groupFields:a.config.groupFields}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:c,unsetNullForeignKey:d}=we.usePluginHelpers(),{objectsAreEqual:u}=ni(),{i18n:{t:m}}=mi(),f=(R,V)=>{let q=`${a.config.apiBaseUrl}${Se.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),q=q.replace(/{entity}/gi,R),q=q.replace(/{id}/gi,V),q},h=R=>{let V=`${a.config.apiBaseUrl}${Se.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),V=V.replace(/{entity}/gi,R),V},k=(R,V)=>{const q=f(R,V);return o.get(q)},b=(R,V)=>{const q=h(R);return a.config.app==="konnect"?o.get(q).then(z=>{const{data:{data:K}}=z;if(delete V.size,delete V.offset,K.length&&Object.keys(V).length===1){const W=Object.keys(V)[0],j=K.filter(D=>D[W]?!!D[W].toLowerCase().includes(V[W].toLowerCase()):!1);z.data.data=j}return z}):o.get(q,{params:V})};t.provide(Ot,{getOne:k,getAll:b});const y=t.ref(""),C=t.ref(null),O=t.ref({}),x=t.reactive({}),w=t.reactive({}),A=t.computed(()=>{var R;return(R=C.value)==null?void 0:R.options}),g=()=>{var W,j;const R={...a.schema},V=w,q=x,z=Object.keys(V),K={};if(!c(O.value))for(let D=0;D<((j=(W=O.value)==null?void 0:W.fields)==null?void 0:j.length);D++)R[O.value.fields[D].model]=O.value.fields[D];return Qa.forEach(D=>{R[D]&&(R[D].fields.forEach(Z=>{Z.fields&&Z.fields.forEach(G=>{R[G.model]=G}),Z.model&&(R[Z.model]=Z)}),delete R[D])}),z.forEach(D=>{if(!R[D])return;const Z=R[D];let G=V[D];const te=q[D],le=Array.isArray(G)?"array":typeof G,ve=Z?Z.valueType:null,Xe=Z?Z.valueArrayType:null,Ie=Z?Z.transform:null;if(G==null&&te==null&&!Z.submitWhenNull)return;if(Z){if(ve&&le!==ve)switch(ve){case"array":le==="string"&&G.length&&(G=G.split(",").map(re=>{if(re=re.trim(),Xe==="string")return String(re);if(Xe==="number")return Number(re);if(Xe==="boolean"){if(typeof re=="string")return re.toLowerCase()==="true"||re==="1";if(typeof re=="number")return re===1}return re})),(!G||!G.length)&&(G=Z.submitWhenNull?null:[]);break;case"number":G=Number(G);break;case"boolean":le==="string"&&(G=G.toLowerCase()==="true"||G==="1"),le==="number"&&(G=G===1);break;case"string":G=G==null?"":String(G);break}else ve==="array"&&(!G||!G.length)&&(G=Z.submitWhenNull?null:[]);Z.type==="object-advanced"&&Z.fields&&G!==null&&(Object.entries(G).length===0?G=null:Object.keys(G).forEach(re=>{Array.isArray(G[re])||(G[re]=G[re].split(","))}))}let Ve=s(D);if(Z.fieldNameHasDashes){const[re,...We]=Ve.split(".").reverse();Ve=[re.replace(/_/g,"-"),...We].reverse().join(".")}if(ve==="object-expand"){let re;[Ve,re]=Ve.split(".");let We={};K[Ve]&&(We=K[Ve]),We[re]=G,G=We}te!==void 0&&G===""&&G!==te?K[Ve]=ve==="object"?{}:null:Z.type==="checklist"&&G===""?K[Ve]=[]:G!==""&&(K[Ve]=G),K[Ve]=Ie?Ie(G):K[Ve],d(Ve,K)}),l(K)},B=(R,V)=>{var K;const q={[V]:R};typeof((K=a.schema[V])==null?void 0:K.modelTransformer)=="function"&&(q[V]=a.schema[V].modelTransformer(R));const z=Object.assign({},w,q);Object.assign(w,z),i("model-updated",{model:w,originalModel:x,data:g()})},E=(R,V)=>{Object.keys(R).forEach(q=>{var D,Z;let z=V?`${V}-${q}`:q,K=a.schema[z];if(!K){const G=V?`${V}-${q.replace(/-/g,"_")}`:q.replace(/-/g,"_");(D=a.schema[G])!=null&&D.fieldNameHasDashes&&(z=G,K=a.schema[z]),V&&((Z=a.schema[V])==null?void 0:Z.keyFromObject)===q&&(z=V,K=a.schema[z])}const W=R[q],j=typeof W;if(K&&K.type==="object-advanced"&&!W){w[z]={},x[z]={};return}if(Array.isArray(W)){w[z]=JSON.parse(JSON.stringify(W)),x[z]=JSON.parse(JSON.stringify(W));return}if(j==="object"&&W&&!W.length)return E(W,z);if(j==="object"&&W&&W.length&&K.type==="input"){w[z]=W.join(", "),x[z]=W.join(", ");return}w[z]=W,x[z]=W}),i("model-updated",{model:w,originalModel:x,data:g()})},M=t.ref(!0),U=()=>{var R;if(a.record&&a.schema&&(E({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)&&E({consumer_id:a.record.consumer_id||a.record.consumer}),E(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)&&E({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}),E(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const V={};for(const q in a.entityMap){const z=a.entityMap[q].id,K=a.entityMap[q].idField,W=K==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(K).replace("_","-"));Object.prototype.hasOwnProperty.call(w,W)&&(V[W]=z)}E(V)}if((R=a.entityMap.consumer)!=null&&R.id&&a.schema&&a.credential){const V={};Object.prototype.hasOwnProperty.call(w,"consumer")&&(V.consumer=a.entityMap.consumer.id),E(V)}M.value=!1};return t.watch(M,R=>{i("loading",R)}),t.watch(()=>a.schema,(R,V)=>{var z,K;if(u(R||{},V||{}))return;const q=r(R);Object.assign(w,q.model),O.value={fields:(K=(z=O.value)==null?void 0:z.fields)==null?void 0:K.map(W=>({...W,disabled:W.disabled||!1}))},Object.assign(x,JSON.parse(JSON.stringify(q.model))),y.value=Tc(q.model.name),U()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var R,V;C.value=r(a.schema),Object.assign(w,((R=C.value)==null?void 0:R.model)||{}),O.value=((V=C.value)==null?void 0:V.schema)||{},U()}),(R,V)=>{const q=t.resolveComponent("KSkeleton"),z=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock("div",tv,[M.value?(t.openBlock(),t.createBlock(q,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",nv,[y.value&&(w.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(y.value),{key:0,"form-model":w,"form-options":A.value,"form-schema":O.value,"is-editing":e.editing,"on-model-updated":B},null,40,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!y.value&&(w.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(z,{key:1,model:w,options:A.value,schema:O.value,onModelUpdated:B},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",iv,t.toDisplayString(t.unref(m)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[t.unref(Qe)[w.name]&&t.unref(Qe)[w.name].fieldRules?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(ev,{rules:t.unref(Qe)[w.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))])}}}),rv=_e(ov,[["__scopeId","data-v-a3701243"]]),sv={class:"kong-ui-entities-plugin-form-container"},lv={key:0},cv={key:1,class:"plugin-form-actions"},dv=_e(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.cancelRoute)},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},useCustomNamesForPlugin:{type:Boolean,default:!1}},emits:["error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var Kn;const i=n,a=e,o=Zt.useRouter(),{i18n:{t:r}}=we.useI18n(),{customSchemas:s,typedefs:l}=we.useSchemas(void 0,{app:a.config.app}),{formatPluginFieldLabel:c}=we.usePluginHelpers(),{getMessageFromError:d}=ti(),{capitalize:u}=$i(),{objectsAreEqual:m}=ni(),{axiosInstance:f}=nn((Kn=a.config)==null?void 0:Kn.axiosRequestConfig),h=t.ref(!1),k=t.computed(()=>a.pluginId?dt.Edit:dt.Create),b=t.ref(null),y=t.computed(()=>!!(a.credential&&a.config.entityId)),C=t.ref(null),O=t.ref({}),x=t.ref(!1),w=t.reactive({enabled:!0,protocols:[],tags:[]}),A=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),g=t.ref([{title:r("view_configuration.yaml"),hash:"#yaml"},{title:r("view_configuration.json"),hash:"#json"}]),B=t.computed(()=>{if(y.value){let P=Se.form[a.config.app].credential[k.value];return P=P.replace(/{resourceEndpoint}/gi,L.value),P}return a.config.entityType&&a.config.entityId?Se.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Se.form[a.config.app].edit.all}),E=()=>{h.value=!h.value},M=t.computed(()=>{var ie,he,ne,de,I,N,ye,Pe;const P=a.config.entityType==="consumers"&&a.config.entityId||((he=(ie=C.value)==null?void 0:ie.consumer)==null?void 0:he.id),v=a.config.entityType==="consumer_groups"&&a.config.entityId||((de=(ne=C.value)==null?void 0:ne.consumer_group)==null?void 0:de.id),S=a.config.entityType==="services"&&a.config.entityId||((N=(I=C.value)==null?void 0:I.service)==null?void 0:N.id),Y=a.config.entityType==="routes"&&a.config.entityId||((Pe=(ye=C.value)==null?void 0:ye.route)==null?void 0:Pe.id);if(!(P||v||S||Y))return{global:{entity:p.GLOBAL,entityEndpoint:"plugins"}};const X={};return S&&(X.service={entity:p.SERVICE,entityEndpoint:"services",id:S,idField:Dt.SERVICE}),Y&&(X.route={entity:p.ROUTE,entityEndpoint:"routes",id:Y,idField:Dt.ROUTE}),P&&(X.consumer={entity:p.CONSUMER,entityEndpoint:"consumers",id:P,idField:Dt.CONSUMER}),v&&(X.consumer_group={entity:p.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:v,idField:Dt.CONSUMER_GROUP}),a.config.entityType&&(X.focusedEntity={entity:p[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:Dt[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),X}),U=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||k.value===dt.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"),placeholder:r("plugins.form.fields.protocols.placeholder"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},...(a.config.app==="kongManager"||a.useCustomNamesForPlugin)&&{instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")}},tags:l.tags}),L=t.computed(()=>{var S;const P=a.developer?"developers":"consumers",v=((S=ln[a.pluginType])==null?void 0:S.endpoint)||"/plugins";return`${P}/${a.config.entityId}${a.developer?"/credentials":""}${v}`}),F=P=>{const v=[...new Set(P.map(S=>typeof S))];return v.length>1?"string":v[0]},R=(P,v,S)=>{var he,ne;let Y=v&&v.fields||[];const X=s[a.pluginType],ie=(ne=(he=ln[a.pluginType])==null?void 0:he.schema)==null?void 0:ne.fields;return Array.isArray(Y)&&(Y=Y.reduce((de,I)=>{const N=Object.keys(I)[0];return N.match(/-/g)?de[N.replace(/-/g,"_")]={...I[N],fieldNameHasDashes:!0}:de[N]=I[N],de},{})),Object.keys(Y).sort().forEach(de=>{var Pe,ft,Pc,Uc,Yc,Gc;const I=Y[de],N=P?`${P}-${de}`:`${de}`;if(Object.prototype.hasOwnProperty.call(I,"overwrite")||I.hidden)return;if(I.type==="table")return R(N,I.schema,S);if(I.fields)return R(N,I,S);if(S[N]={id:N},S[N].type=I.type==="boolean"?"checkbox":"input",S[N].required=I.required,N.startsWith("config-")&&(S[N].label=c(N)),(P==="config"||P.startsWith("config-"))&&(Pe=Y[de])!=null&&Pe.description&&(S[N].help=ae.parse(Y[de].description,{mangle:!1,headerIds:!1})),I.type==="map"){if(S[N].type="object-advanced",I.values.type==="array"){const{type:me}=I.values.elements||{};S[N].schema={fields:[{schema:{fields:[{...Fn,model:N,valueArrayType:me==="integer"?"number":me||"string",inputAttributes:{...Fn.inputAttributes,type:me==="integer"?"number":"text",inputMode:me==="integer"?"numeric":"text"}}]}}]}}else I.values.fields&&(S[N].schema={fields:[{type:"object",model:"object",schema:{fields:I.values.fields.map(me=>{const $e=Object.keys(me)[0];return{model:$e,type:"input",label:u($e),placeholder:$e,inputType:me[$e].type}})}}]});return S}if(I.enum&&I.type==="array"&&(S[N].type="checklist",S[N].values=I.enum,S[N].multi=!0,S[N].multiSelect=!0),I.one_of&&I.type!=="array"&&(S[N].type="select",S[N].values=I.one_of,S[N].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),I.elements&&I.type==="array"){const me=I.elements;if(me.type==="string"&&!me.one_of){const{help:$e,label:je,hint:ze}=S[N],{help:et,...qn}=JSON.parse(JSON.stringify(Fn));S[N]={help:$e,label:je,hint:ze,...qn},S[N].help===void 0&&typeof et=="string"&&(S[N].help=ae.parse(et,{mangle:!1,headerIds:!1}))}}if(I.hint&&(S[N].hint=I.hint),X&&!X.overwriteDefault&&Object.keys(X).forEach(me=>{if(me===N){const{help:$e,label:je,hint:ze}=S[N],{help:et,...qn}=X[me];S[N]={help:$e,label:je,hint:ze,...qn},typeof et=="string"&&(S[N].help=ae.parse(et,{mangle:!1,headerIds:!1}))}}),I.type==="array"&&((ft=I.elements)==null?void 0:ft.type)==="record"&&Array.isArray(I.elements.fields)){let me={};for(const je of I.elements.fields)me={...me,...je};const $e=(Yc=(Uc=(Pc=S[N])==null?void 0:Pc.items)==null?void 0:Uc.schema)==null?void 0:Yc.fields;if(Array.isArray($e))for(const je of S[N].items.schema.fields){const ze=(Gc=me[je.model])==null?void 0:Gc.description;je.help===void 0&&typeof ze=="string"&&(je.help=ae.parse(ze,{mangle:!1,headerIds:!1}))}$e||(S[N].fieldClasses="array-card-container-wrapper",S[N].itemContainerComponent="FieldArrayCardContainer",S[N].items={type:"object",schema:{fields:Object.values(R(N,I.elements,{}))}},S[N].type="array",S[N].newElementButtonLabelClasses="kong-form-new-element-button-label",S[N].items.schema.fields.forEach(je=>{var ze,et;for(const qn of I.elements.fields){const eo=Object.keys(qn)[0],Fc=((et=(ze=je.id)==null?void 0:ze.split)==null?void 0:et.call(ze,"-"))??[];if(Fc[Fc.length-1]===eo){je.model=eo,je.label=c(eo);break}}})),S[N].items.default=()=>I.elements.fields.reduce((je,ze)=>{const et=Object.keys(ze)[0];return je[et]=ze[et].default,je},{})}if(y.value&&a.config.app==="kongManager"&&ie){for(let me=0;me<ie.length;me++)if(ie[me][N]){S[N]={...S[N],...ie[me][N]};break}}if(I.required&&I.type!=="boolean"&&(S[N].required=!0,S[N].selectOptions={hideNoneSelectedText:!0}),I.default!=null&&typeof I.default!="object"&&I.default!=="function"&&(S[N].default=I.default),S[N].type==="input"){const{type:me}=I.elements||{};me&&(S[N].valueArrayType=me==="integer"?"number":me),S[N].inputType=I.type==="array"||I.type==="string"?"text":I.type}let ye="string";I.enum?ye=F(I.enum):I.type==="boolean"?ye="boolean":I.type==="number"||I.type==="integer"?(ye="number",S[N].inputType="number"):I.type==="array"||I.type==="set"?(ye="array",S[N].default=I.default,I.len_min>0&&(S[N].submitWhenNull=!0)):I.type==="foreign"?ye="object":I.default&&Array.isArray(I.default)?(ye="array",S[N].valueArrayType=F(I.default)):I.default&&(ye=typeof I.default),S[N].valueType=ye,I.fieldNameHasDashes&&(S[N].fieldNameHasDashes=!0)}),S},V=()=>{var ie,he,ne,de;const P=((ie=Qe[a.pluginType])==null?void 0:ie.scope.includes(p.SERVICE))??!0,v=((he=Qe[a.pluginType])==null?void 0:he.scope.includes(p.ROUTE))??!0,S=((ne=Qe[a.pluginType])==null?void 0:ne.scope.includes(p.CONSUMER))??!0,Y=a.config.disableConsumerGroupScope?!1:((de=Qe[a.pluginType])==null?void 0:de.scope.includes(p.CONSUMER_GROUP))??!0,X=[];if(P&&X.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")}),v&&X.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")}),S&&X.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")}),Y&&X.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")}),X.length){const I=[...P?["service"]:[],...v?["route"]:[],...S?["consumer"]:[],...Y?["consumer_group"]:[]],ye=I.splice(I.length-2,2).map(ft=>r(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(`${I.length>0?",":""} and/or `),Pe=["Specific",[...I.length>0?[I.map(ft=>r(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(", ")]:[],ye].join(", ")].join(" ");U.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:Pe,fields:[]}),U.selectionGroup.fields[1].fields=X}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(U,s[a.pluginType].formSchema)},q=t.computed(()=>!m(A.fields,w,!0)),z=t.computed(()=>!re.value&&!x.value&&(k.value===dt.Create||q.value)),K=t.ref(!1),W=P=>{A.fields.id=(P==null?void 0:P.id)||void 0,Object.assign(w,A.fields),C.value=P,K.value=!0},j=t.ref({}),D=P=>{var v;A.fields=P.model,A.fields.id=((v=C.value)==null?void 0:v.id)||void 0,Object.assign(w,P.originalModel),j.value=P.data,a.isWizardStep&&i("model-updated",{model:A.fields,data:P.data,resourceEndpoint:L.value})};t.watch([M,K],(P,v)=>{const S=P[0]!==v[0],Y=P[1],X=v[1];!y.value&&k.value===dt.Edit&&(S||Y&&Y!==X)&&(re.value=!0,b.value=R("config",O.value,U),re.value=!1)},{deep:!0});const Z=()=>{a.config.cancelRoute&&o.push(a.config.cancelRoute)},G=()=>{a.config.backRoute&&o.push(a.config.backRoute)},te=t.computed(()=>{let P=`${a.config.apiBaseUrl}${Se.form[a.config.app].validate}`;return a.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),P=P.replace(/{id}/gi,a.pluginId),P}),le=t.computed(()=>{const P=a.config.entityType&&a.config.entityId&&!a.developer,v=y.value?Se.form[a.config.app].credential[k.value]:Se.form[a.config.app][k.value][P?"forEntity":"all"];let S=`${a.config.apiBaseUrl}${v}`;return a.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),S=S.replace(/{resourceEndpoint}/gi,L.value),S=S.replace(/{id}/gi,a.pluginId),S=S.replace(/{entityType}/gi,a.config.entityType||""),S=S.replace(/{entityId}/gi,a.config.entityId||""),S}),ve=t.computed(()=>!Object.keys(Qe).includes(a.pluginType)),Xe=t.computed(()=>{const P=by(j.value);for(const v of["config.redis.cluster_addresses","config.redis.sentinel_addresses"])Oy(P,v)&&Array.isArray(Xr(P,v))&&Xr(P,v).length===0&&xy(P,v);if(y.value){for(const v in p){const S=p[v];P[S]&&!P[S].id&&(P[S]={id:a.config.entityId})}delete P.created_at}return P}),Ie=async()=>{if(!a.isWizardStep)try{A.isReadonly=!0;let P;!y.value&&!ve.value&&await f.post(te.value,Xe.value),k.value==="create"?P=await f.post(le.value,Xe.value):k.value==="edit"&&(P=a.config.app==="konnect"?await f.put(le.value,Xe.value):await f.patch(le.value,Xe.value)),Object.assign(w,A.fields),i("update",P==null?void 0:P.data)}catch(P){A.errorMessage=d(P),i("error",P)}finally{A.isReadonly=!1}},Ve=t.computed(()=>{var Y;const P=y.value?(Y=ln[a.pluginType])==null?void 0:Y.schemaEndpoint:a.pluginType,v=y.value?Se.form[a.config.app].credentialSchema:Se.form[a.config.app].pluginSchema;let S=`${a.config.apiBaseUrl}${v}`;return a.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),S=S.replace(/{plugin}/gi,P),S}),re=t.ref(!1),We=t.ref("");return t.onBeforeMount(async()=>{var P,v,S;re.value=!0;try{if(y.value&&a.config.app==="konnect"){const Y=(P=ln[a.pluginType])==null?void 0:P.schemaEndpoint,X=ew[Y];b.value=R("",X,{}),re.value=!1}else{const Y=await f.get(Ve.value),{data:X}=Y;if(X)if(y.value)b.value=R("",X,{}),re.value=!1;else{const ie=X.fields.find(ne=>ne.config);O.value=ie?ie.config:Y,V();const he=(v=X.fields.find(ne=>ne.protocols))==null?void 0:v.protocols;if(he){const{default:ne=[],elements:de={}}=he;U.protocols.default=ne,(S=de.one_of)!=null&&S.length&&(U.protocols.values=de.one_of.map(I=>({label:I,value:I})))}(K.value||k.value===dt.Create)&&(b.value=R("config",O.value,U))}}}catch(Y){We.value=d(Y),i("error:fetch-schema",Y)}finally{re.value=!1}}),(P,v)=>{const S=t.resolveComponent("KSkeleton"),Y=t.resolveComponent("KEmptyState"),X=t.resolveComponent("KButton"),ie=t.resolveComponent("KTabs"),he=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",sv,[re.value?(t.openBlock(),t.createBlock(S,{key:0,type:"form"})):We.value?(t.openBlock(),t.createBlock(Y,{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(Zm),{key:2,"can-submit":z.value,config:e.config,"edit-id":e.pluginId,"error-message":A.errorMessage,"fetch-url":B.value,"form-fields":Xe.value,"is-readonly":A.isReadonly,"no-validate":"",onCancel:Z,"onFetch:error":v[2]||(v[2]=ne=>P.$emit("error",ne)),"onFetch:success":W,onLoading:v[3]||(v[3]=ne=>P.$emit("loading",ne))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",lv)):(t.openBlock(),t.createElementBlock("div",cv,[t.createVNode(X,{appearance:"tertiary","data-testid":"form-view-configuration",onClick:v[1]||(v[1]=ne=>E())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1}),t.createVNode(X,{appearance:"secondary",class:"form-action-button","data-testid":"form-cancel",disabled:A.isReadonly,type:"reset",onClick:Z},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["disabled"]),k.value===t.unref(dt).Create&&e.config.backRoute?(t.openBlock(),t.createBlock(X,{key:0,appearance:"secondary",class:"form-action-button","data-testid":"form-back",disabled:A.isReadonly,onClick:G},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.back")),1)]),_:1},8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(X,{appearance:"primary","data-testid":"form-submit",disabled:!z.value||A.isReadonly,type:"submit",onClick:Ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["disabled"])]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:Ie},null,32),t.createVNode(rv,{config:e.config,credential:y.value,editing:k.value===t.unref(dt).Edit,"entity-map":M.value,record:C.value||void 0,schema:b.value||{},onLoading:v[0]||(v[0]=ne=>x.value=ne),onModelUpdated:D},null,8,["config","credential","editing","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","form-fields","is-readonly"])),t.createVNode(he,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:h.value,onClose:E},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(ie,{"data-testid":"form-view-configuration-slideout-tabs",tabs:g.value},{json:t.withCtx(()=>[t.createVNode(t.unref(Li),{config:e.config,"fetcher-url":le.value,"json-record":A.fields,"request-method":a.pluginId?"put":"post"},null,8,["config","fetcher-url","json-record","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(_i),{"yaml-record":A.fields},null,8,["yaml-record"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-2574d761"]]),pv=["alt","src","width"],vi=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=Gs(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:Wt&&Wt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&(i.value.src=r)};return(r,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,src:t.unref(a),width:e.size,onError:o},null,40,pv))}}),uv={class:"kong-ui-entities-plugins-list"},mv={class:"name-cell-wrapper"},gv={class:"info-wrapper"},fv={key:0,class:"info-name"},Av={key:1,class:"info-name"},hv={key:2,class:"info-type"},yv={key:1},bv={key:1},wv=_e(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var Kn,P;const i=we.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=we.useI18n(),s=Zt.useRouter(),{axiosInstance:l}=nn((Kn=o.config)==null?void 0:Kn.axiosRequestConfig),c=t.computed(()=>{var v;return((v=o.config)==null?void 0:v.entityType)==="consumers"}),d=o.config.app==="konnect"||Ig({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),u=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),m={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0}};(P=o.config)!=null&&P.entityId||(m.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),m.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},d&&(m.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),m.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const f=m,h=t.computed(()=>{var S,Y,X,ie;let v=o.config.entityType?`${o.config.apiBaseUrl}${Se.list[o.config.app].forEntity}`:`${o.config.apiBaseUrl}${Se.list[o.config.app].all}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,((S=o.config)==null?void 0:S.controlPlaneId)||""):o.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,(Y=o.config)!=null&&Y.workspace?`/${o.config.workspace}`:"")),v.replace(/{entityType}/gi,((X=o.config)==null?void 0:X.entityType)||"").replace(/{entityId}/gi,((ie=o.config)==null?void 0:ie.entityId)||"")}),k=t.ref(""),b=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:m.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${o.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...m.enabled,label:r("search.filter.field.enabled")},name:m.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),y=t.ref(1),{fetcher:C,fetcherState:O}=Sg(o.config,h.value),x=()=>{k.value=""},w=()=>{y.value++},A=t.ref(null),g=v=>{var Y,X,ie,he;const S=[];return(Y=v.route)!=null&&Y.id&&S.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),(X=v.service)!=null&&X.id&&S.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),(ie=v.consumer)!=null&&ie.id&&S.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),(he=v.consumer_group)!=null&&he.id&&S.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),S.length?S:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},B=async(v,S)=>{var Y;return v===null?!1:await((Y=o.canRetrieveScopedEntity)==null?void 0:Y.call(o,v,S.id))},E=(v,S)=>{var X,ie,he,ne,de;let Y=null;switch(v){case"route":Y=(X=S.route)==null?void 0:X.id;break;case"service":Y=(ie=S.service)==null?void 0:ie.id;break;case"consumer":Y=(he=S.consumer)==null?void 0:he.id;break;case"consumer_group":Y=(ne=S.consumer_group)==null?void 0:ne.id;break}Y&&((de=o.config)!=null&&de.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(v,Y))},M=t.ref(!1),U=t.ref(null),L=t.computed(()=>{const v={action:"disable",id:"",name:""};if(U.value){const{enabled:S,id:Y,name:X}=U.value;v.action=S?"disable":"enable",v.id=Y,v.name=i.getDisplayName(X)||Y}return v}),F=v=>{M.value=!0,U.value=v},R=()=>{M.value=!1,U.value=null},V=async()=>{var X,ie,he,ne,de,I,N,ye;if(!await((X=o.canEdit)==null?void 0:X.call(o,U.value))||!U.value)return;let S=`${o.config.apiBaseUrl}${(de=Se.item[o.config.app])==null?void 0:de[(ie=o.config)!=null&&ie.entityType?"forEntity":"all"].replace(/{entityType}/gi,((he=o.config)==null?void 0:he.entityType)||"").replace(/{entityId}/gi,((ne=o.config)==null?void 0:ne.entityId)||"")}`.replace(/{id}/gi,U.value.id||"");o.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,((I=o.config)==null?void 0:I.controlPlaneId)||""):o.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:""));const Y=!U.value.enabled;try{const{data:Pe}=((ye=o.config)==null?void 0:ye.app)==="konnect"?await l.put(S,{...U.value,enabled:Y}):await l.patch(S,{...U.value,enabled:Y});a("toggle-enabled",Y,Pe)}catch(Pe){a("error",Pe)}U.value.enabled=Y},q=(v,S)=>{const Y=v.id;if(!S(Y)){a("copy:error",{entity:v,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:v,field:"id",message:r("copy.success",{val:Y})})},z=(v,S)=>{const Y=JSON.stringify(v);if(!S(Y)){a("copy:error",{entity:v,message:r("errors.copy")});return}a("copy:success",{entity:v,message:r("copy.success_brief")})},K=async v=>{var Y;await((Y=o.canRetrieve)==null?void 0:Y.call(o,v))&&s.push(o.config.getViewRoute(v))},W=v=>({label:r("actions.view"),to:o.config.getViewRoute(v)}),j=v=>({label:r("actions.edit"),to:o.config.getEditRoute(v)}),D=v=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(v)}),Z=t.ref(void 0),G=t.ref(!1),te=t.ref(!1),le=t.ref(""),ve=Og(o.config,h.value),Xe=v=>{Z.value=v,G.value=!0},Ie=()=>{G.value=!1},Ve=async()=>{var v,S,Y;if((v=Z.value)!=null&&v.id){te.value=!0;try{await l.delete(ve(Z.value.id)),te.value=!1,G.value=!1,y.value++,a("delete:success",Z.value)}catch(X){le.value=((Y=(S=X.response)==null?void 0:S.data)==null?void 0:Y.message)||X.message||r("errors.delete"),a("error",X)}finally{te.value=!1}}},re=t.ref(!0);t.watch(O,v=>{var S,Y,X,ie;if(Array.isArray((S=v==null?void 0:v.response)==null?void 0:S.data)&&(re.value=v.response.data.length>0),v.status===St.Error){A.value={title:r("errors.general")},(ie=(X=(Y=v.error)==null?void 0:Y.response)==null?void 0:X.data)!=null&&ie.message&&(A.value.message=v.error.response.data.message),a("error",v.error);return}A.value=null});const We=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()&&(We.value.title=r("plugins.list.empty_state.title"),We.value.ctaText=r("actions.create"))}),(v,S)=>{const Y=t.resolveComponent("KButton"),X=t.resolveComponent("KBadge"),ie=t.resolveComponent("KTruncate"),he=t.resolveComponent("KInputSwitch"),ne=t.resolveComponent("KDropdownItem"),de=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",uv,[t.createVNode(t.unref(ig),{"cache-identifier":e.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":u.value,"dropdown-menu-width":"270","empty-state-options":We.value,"enable-entity-actions":"","error-message":A.value,fetcher:t.unref(C),"fetcher-cache-key":y.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:k.value,"table-headers":t.unref(f),title:e.title,"title-tag":e.titleTag,"use-action-outside":e.useActionOutside,onClearSearchInput:x,"onClick:row":S[3]||(S[3]=I=>K(I)),onSort:w},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(Eg),{modelValue:k.value,"onUpdate:modelValue":S[0]||(S[0]=I=>k.value=I),config:b.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.useActionOutside?"Teleport":"div"),{to:e.useActionOutside?"#kong-ui-app-page-header-action-button":void 0},{default:t.withCtx(()=>[t.createVNode(t.unref(xt),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(Y,{appearance:"primary","data-testid":"toolbar-add-plugin",icon:"plus",size:"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["to"]),[[t.vShow,re.value]])]),_:1},8,["auth-function"])]),_:1},8,["to"]))]),name:t.withCtx(({row:I})=>[t.createElementVNode("div",mv,[t.createVNode(vi,{class:"plugin-icon",name:I.name,width:24},null,8,["name"]),t.createElementVNode("div",gv,[I.instance_name?(t.openBlock(),t.createElementBlock("span",fv,t.toDisplayString(I.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Av,t.toDisplayString(t.unref(i).getDisplayName(I.name)),1)),I.instance_name?(t.openBlock(),t.createElementBlock("span",hv,t.toDisplayString(t.unref(i).getDisplayName(I.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:I})=>[g(I).length>0?(t.openBlock(),t.createBlock(ie,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g(I),N=>(t.openBlock(),t.createBlock(t.unref(xt),{key:N.badgeText,"auth-function":()=>B(N.type,I),"force-show":""},{default:t.withCtx(({isAllowed:ye})=>[t.createVNode(X,{class:t.normalizeClass(ye||"disabled"),onClick:t.withModifiers(Pe=>ye&&N.type&&E(N.type,I),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",yv,"-"))]),enabled:t.withCtx(({row:I})=>[t.createVNode(t.unref(xt),{"auth-function":async()=>!!(await e.canEdit(I)&&await e.canToggle(I)),"force-show":""},{default:t.withCtx(({isAllowed:N})=>{var ye,Pe;return[t.createElementVNode("div",{onClick:S[1]||(S[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(he,{disabled:!N,"disabled-tooltip-text":!N&&((Pe=(ye=e.config).getToggleDisabledTooltip)==null?void 0:Pe.call(ye,I))||void 0,"model-value":I.enabled,onClick:t.withModifiers(ft=>N&&F(I),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:I})=>[t.createVNode(X,{appearance:I?"warning":"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(I?t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic"):t.unref(r)("plugins.list.table_headers.ordering_badge.static")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:I})=>[(I==null?void 0:I.length)>0?(t.openBlock(),t.createBlock(ie,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(I,N=>(t.openBlock(),t.createBlock(X,{key:N,onClick:S[2]||(S[2]=t.withModifiers(()=>{},["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N),1)]),_:2},1024))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",bv,"-"))]),actions:t.withCtx(({row:I})=>[t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-id",onClick:ye=>q(I,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-json",onClick:ye=>z(I,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(xt),{"auth-function":()=>e.canRetrieve(I)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-view","has-divider":"",item:W(I)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(xt),{"auth-function":()=>e.canEdit(I)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-edit",item:j(I)},null,8,["item"])]),_:2},1032,["auth-function"]),!c.value&&t.unref(d)?(t.openBlock(),t.createBlock(t.unref(xt),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(I)},{default:t.withCtx(()=>[D(I)?(t.openBlock(),t.createBlock(ne,{key:0,"data-testid":"action-entity-config-dyn-order",item:D(I)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(xt),{"auth-function":()=>e.canDelete(I)},{default:t.withCtx(()=>[t.createVNode(ne,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:N=>Xe(I)},{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","use-action-outside"]),t.createVNode(t.unref(kg),{action:L.value.action,"entity-id":L.value.id,"entity-name":L.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":V,visible:M.value,onCancel:R,onProceed:R},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(yr),{"action-pending":te.value,description:t.unref(r)("delete.description"),"entity-name":Z.value&&(Z.value.instance_name||Z.value.name||Z.value.id),"entity-type":t.unref(Vi).Plugin,error:le.value,title:t.unref(r)("delete.title"),visible:G.value,onCancel:Ie,onProceed:Ve},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-6bbe2d27"]]),Cv=e=>(t.pushScopeId("data-v-14bc032f"),e=e(),t.popScopeId(),e),Ev={class:"plugin-card-header"},kv={class:"plugin-card-footer"},Bv=Cv(()=>t.createElementVNode("hr",{class:"plugin-card-footer-divider"},null,-1)),Ov={class:"footer-skeleton"},Sv=_e(t.defineComponent({__name:"PluginCardSkeleton",props:{cardCount:{type:Number,default:1}},setup(e){return(n,i)=>{const a=t.resolveComponent("KSkeletonBox"),o=t.resolveComponent("KSkeleton");return t.openBlock(),t.createBlock(o,{"card-count":e.cardCount,class:"plugin-card-skeleton",type:"card"},{"card-header":t.withCtx(()=>[t.createElementVNode("div",Ev,[t.createVNode(a,{width:"5"})])]),"card-content":t.withCtx(()=>[t.createTextVNode(" ")]),"card-footer":t.withCtx(()=>[t.createElementVNode("div",kv,[Bv,t.createElementVNode("div",Ov,[t.createVNode(a,{width:"5"})])])]),_:1},8,["card-count"])}}}),[["__scopeId","data-v-14bc032f"]]),Iv="16px",Dc="24px",xv=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},Mv=e=>(t.pushScopeId("data-v-cf4e7d0b"),e=e(),t.popScopeId(),e),vv=["aria-hidden"],Tv={key:0,"data-testid":"kui-icon-svg-title"},Rv=Mv(()=>t.createElementVNode("path",{d:"M12 20C11.45 20 10.9792 19.8042 10.5875 19.4125C10.1958 19.0208 10 18.55 10 18C10 17.45 10.1958 16.9792 10.5875 16.5875C10.9792 16.1958 11.45 16 12 16C12.55 16 13.0208 16.1958 13.4125 16.5875C13.8042 16.9792 14 17.45 14 18C14 18.55 13.8042 19.0208 13.4125 19.4125C13.0208 19.8042 12.55 20 12 20ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM12 8C11.45 8 10.9792 7.80417 10.5875 7.4125C10.1958 7.02083 10 6.55 10 6C10 5.45 10.1958 4.97917 10.5875 4.5875C10.9792 4.19583 11.45 4 12 4C12.55 4 13.0208 4.19583 13.4125 4.5875C13.8042 4.97917 14 5.45 14 6C14 6.55 13.8042 7.02083 13.4125 7.4125C13.0208 7.80417 12.55 8 12 8Z",fill:"currentColor"},null,-1)),Nv=t.defineComponent({__name:"MoreIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Dc,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const o=String(n.size).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Dc}),a=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(o,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon more-icon","data-testid":"kui-icon-wrapper-more-icon",style:t.normalizeStyle(a.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-more-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Tv,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Rv],8,vv))]),_:1},8,["aria-hidden","style"]))}}),Vv=xv(Nv,[["__scopeId","data-v-cf4e7d0b"]]),jv=["data-testid"],Dv={class:"plugin-card-header"},Lv={class:"plugin-card-title"},Pv={key:0,class:"plugin-card-actions"},Uv=["data-testid","title"],Yv={key:0,class:"plugin-card-text"},Gv={key:0},Fv=["title"],Ti=_e(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,a=e,o=Zt.useRouter(),{i18n:{t:r}}=we.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),c=t.computed(()=>!!(h.value&&!f.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),d=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?d():m()},m=()=>{i("plugin-clicked",a.plugin)},f=t.computed(()=>a.plugin.id==="custom-plugin-create"),h=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===T.CUSTOM_PLUGINS),k=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},b=C=>{const O=a.config;a.config.app==="konnect"&&typeof O.getCustomEditRoute=="function"&&O.getCustomEditRoute&&o.push(O.getCustomEditRoute(C))},y=()=>{if(!l.value&&a.config.app==="konnect"){const C=a.config;f.value&&C.createCustomRoute?o.push(C.createCustomRoute):h.value&&d()}};return(C,O)=>{const x=t.resolveComponent("KButton"),w=t.resolveComponent("KDropdownItem"),A=t.resolveComponent("KDropdownMenu"),g=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(g,{"position-fixed":"",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:O[1]||(O[1]=B=>l.value||h.value?void 0:u())},[t.createElementVNode("div",Dv,[t.createElementVNode("div",Lv,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!h.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",Pv,[t.createVNode(A,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottomEnd"},width:"150"},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",size:"small"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Vv),{size:t.unref(Iv)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(w,{key:0,"data-testid":"edit-plugin-schema",onClick:O[0]||(O[0]=t.withModifiers(B=>b(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(w,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["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":h.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:y},[t.createVNode(vi,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||h.value&&!f.value?(t.openBlock(),t.createElementBlock("div",Yv,[h.value&&!f.value?(t.openBlock(),t.createElementBlock("p",Gv,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,Fv)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Uv),t.createElementVNode("div",{class:"plugin-card-footer",onClick:y},t.toDisplayString(f.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,jv)]),_:1},8,["text"])}}}),[["__scopeId","data-v-3e933d10"]]),Hv=_e(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const i=e,a=n,{i18nT:o,i18n:{t:r}}=we.useI18n(),{getMessageFromError:s}=ti(),{axiosInstance:l}=nn((h=i.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var k;return m.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((k=i.plugin)==null?void 0:k.name)||r("delete.custom_plugin")})}),d=t.ref(!1),u=t.ref(""),m=t.ref(!1),f=async()=>{var k,b,y,C,O;if(d.value=!0,u.value="",!(!((k=i.plugin)!=null&&k.name)||((b=i.config)==null?void 0:b.app)!=="konnect"))try{const x=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(y=i.plugin)==null?void 0:y.name}`;await l.delete(x),a("proceed")}catch(x){const{response:w}=x;(w==null?void 0:w.status)===400&&((O=(C=w.data)==null?void 0:C.message)!=null&&O.includes("plugin schema is currently in use"))?m.value=!0:u.value=s(x)}finally{d.value=!1}};return(k,b)=>{const y=t.resolveComponent("KButton"),C=t.resolveComponent("KModal");return!m.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(yr),{key:0,"action-pending":d.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(Vi).Plugin,error:u.value,"need-confirm":"",title:c.value,visible:"",onCancel:b[0]||(b[0]=O=>k.$emit("closed")),onProceed:f},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(C,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:b[2]||(b[2]=O=>k.$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(y,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:b[1]||(b[1]=O=>k.$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"]]),zv={class:"custom-plugins-grid"},Kv={class:"empty-state-title"},qv={class:"empty-state-description"},Xv={class:"plugin-card-container"},Jv={class:"plugin-card-container"},Zv=_e(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=we.useI18n(),{getPluginCards:r}=we.usePluginHelpers(),s=t.ref(!0),l=k=>{a("plugin-clicked",k)},c=t.computed(()=>{if(i.config.app==="kongManager")return[];const k=JSON.parse(JSON.stringify(i.pluginList))[T.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:T.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(k):k}),d=t.computed(()=>{var y,C;const k=(y=r("all",c.value,i.pluginsPerRow))==null?void 0:y.length,b=(C=r("hidden",c.value,i.pluginsPerRow))==null?void 0:C.length;return k>i.pluginsPerRow?o("plugins.select.view_more",{count:b}):o("plugins.select.view_less")}),u=t.ref(!1),m=t.ref(null),f=k=>{u.value=!0,m.value={id:k.id,name:k.name}},h=k=>{var b;k&&(a("revalidate"),a("delete:success",((b=m.value)==null?void 0:b.name)||"")),u.value=!1,m.value=null};return(k,b)=>{const y=t.resolveComponent("KEmptyState"),C=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",zv,[c.value.length?(t.openBlock(),t.createBlock(C,{key:1,modelValue:s.value,"onUpdate:modelValue":b[0]||(b[0]=O=>s.value=O),class:"custom-plugins-collapse","data-testid":`${t.unref(T).CUSTOM_PLUGINS}-collapse`,title:t.unref(T).CUSTOM_PLUGINS,"trigger-label":d.value},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",Xv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("visible",c.value,e.pluginsPerRow),(O,x)=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${x}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:O,onCustomPluginDelete:w=>f(O),onPluginClicked:l},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",Jv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("hidden",c.value,e.pluginsPerRow),(O,x)=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${x}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:O,onPluginClicked:l},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin"]))),128))])]),_:2},[c.value.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(y,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Kv,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",qv,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&m.value?(t.openBlock(),t.createBlock(Hv,{key:2,config:e.config,plugin:m.value,onClosed:h,onProceed:b[1]||(b[1]=O=>h(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-acd8a972"]]),Wv={class:"plugin-card-container"},Qv={class:"plugin-card-container"},Lc=_e(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},{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}}=we.useI18n(),{getPluginCards:s}=we.usePluginHelpers(),l=t.computed(()=>{var u,m;const c=((u=s("all",a.plugins,a.pluginsPerRow))==null?void 0:u.length)||0,d=((m=s("hidden",a.plugins||[],a.pluginsPerRow))==null?void 0:m.length)||0;return c>a.pluginsPerRow?r("plugins.select.view_more",{count:d}):void 0});return(c,d)=>{const u=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(u,{modelValue:i.value,"onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.value?l.value:t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",Wv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(s)("visible",a.plugins,a.pluginsPerRow),m=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:f=>o("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",Qv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(s)("hidden",a.plugins,a.pluginsPerRow),m=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:f=>o("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),_:2},[a.plugins.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-12700243"]]),_v={class:"plugin-select-grid"},$v={class:"empty-state-title"},eT={class:"empty-state-description"},_a=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},pluginsPerRow:{type:Number,default:4},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}}=we.useI18n(),r=t.ref(!1),s=t.ref(Vs),l=d=>{a("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete d[T.CUSTOM_PLUGINS],d});return(d,u)=>{const m=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",_v,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(m,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",$v,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",eT,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Lc,{key:1,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=f=>r.value=f),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,"plugins-per-row":e.pluginsPerRow,onPluginClicked:u[1]||(u[1]=f=>l(f))},null,8,["modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ns),f=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[f]?(t.openBlock(),t.createElementBlock("div",{key:f},[t.createVNode(Lc,{modelValue:s.value[f],"onUpdate:modelValue":h=>s.value[f]=h,config:e.config,name:f,"navigate-on-click":e.navigateOnClick,plugins:c.value[f]||[],"plugins-per-row":e.pluginsPerRow,onPluginClicked:u[2]||(u[2]=h=>l(h))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])])):t.createCommentVNode("",!0)],64))),256))])}}}),tT={class:"kong-ui-entities-plugin-select-form"},nT={class:"plugins-filter-input-container"},iT={key:0},aT={key:3,"aria-live":"polite",class:"plugins-results-container"},oT={"data-testid":"kong-tab"},rT={class:"tab-description"},sT={"data-testid":"custom-tab"},lT={class:"tab-description"},cT=_e(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},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:()=>({})},pluginsPerRow:{type:Number,default:4},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var K,W;const i=e,a=n,o=Zt.useRoute(),r=Zt.useRouter(),{i18n:{t:s}}=we.useI18n(),{pluginMetaData:l}=we.usePluginMetaData(),{getMessageFromError:c}=ti(),{sortAlpha:d,objectsAreEqual:u}=ni(),m=t.ref(""),f=t.ref(!0),h=t.ref(!1),k=t.ref(""),b=t.ref([]),y=t.ref({}),C=t.ref([]),{axiosInstance:O}=nn((K=i.config)==null?void 0:K.axiosRequestConfig),x=t.computed(()=>y.value?Object.entries(y.value).filter(([j])=>j!==T.CUSTOM_PLUGINS).reduce((j,[,D])=>{for(const Z of D)j[Z.id]=Z;return j},{}):{}),w=t.computed(()=>{var Z;if(!y.value)return{};const j=m.value.toLowerCase(),D=JSON.parse(JSON.stringify(y.value));for(const G in y.value){const te=((Z=y.value[G])==null?void 0:Z.filter(le=>le.name.toLowerCase().includes(j)||le.id.toLowerCase().includes(j)||le.group.toLowerCase().includes(j)))||[];te.length?D[G]=te:delete D[G]}return D}),A=t.computed(()=>i.highlightedPluginIds.reduce((j,D)=>{const Z=x.value[D];return Z&&j.push(Z),j},[])),g=t.computed(()=>Object.keys(w.value).length>0),B=t.computed(()=>Object.keys(y.value).length>0&&!g.value),E=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}]:[],M=t.ref(E.length&&((o==null?void 0:o.hash)||((W=E[0])==null?void 0:W.hash))||""),U=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...b.value])].filter(j=>!i.ignoredPlugins.includes(j)).filter(j=>i.config.entityType&&(i.config.entityType==="services"&&l[j]&&!l[j].scope.includes(p.SERVICE)||i.config.entityType==="routes"&&l[j]&&!l[j].scope.includes(p.ROUTE)||i.config.entityType==="consumer_groups"&&l[j]&&!l[j].scope.includes(p.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[j]&&!l[j].scope.includes(p.CONSUMER))?!1:j).reduce((j,D)=>{var ve;const Z=l[D]&&l[D].name||D,G={...l[D],id:D,name:Z,available:b.value.includes(D),disabledMessage:"",group:((ve=l[D])==null?void 0:ve.group)||T.CUSTOM_PLUGINS};i.disabledPlugins&&(G.disabledMessage=i.disabledPlugins[D]);const te=G.group||s("plugins.select.misc_plugins");let le=j[te];return le||(le=[]),le.push(G),le.sort(d("name")),j[te]=le,j},{}),L=t.computed(()=>{var D;let j=`${i.config.apiBaseUrl}${Se.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(j=((D=i.config.gatewayInfo)==null?void 0:D.edition)==="community"?`${i.config.apiBaseUrl}${Se.select[i.config.app].availablePluginsForOss}`:j.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),j}),F=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let j=`${i.config.apiBaseUrl}${Se.list[i.config.app].forEntity}`;return i.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),j.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),R=j=>{r.replace({hash:j,query:o.query})};t.watch(()=>i.disabledPlugins,(j,D)=>{!u(j,D)&&!f.value&&(y.value=U())}),t.watch(()=>i.ignoredPlugins,(j,D)=>{!u(j,D)&&!f.value&&(y.value=U())}),t.watch(f,j=>{a("loading",j)});const V=t.ref(!1),q=t.ref(!1),z=t.ref(!1);return t.onBeforeMount(async()=>{V.value=await i.canCreateCustomPlugin(),q.value=await i.canEditCustomPlugin(),z.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:j}=await O.get(L.value);if(i.config.app==="konnect"){const{names:D}=j;b.value=D||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:D}}=j;b.value=D?Object.keys(D):[]}}catch(j){h.value=!0,k.value=c(j)}if(F.value)try{const{data:{data:j}}=await O.get(F.value);if(j!=null&&j.length){const D=j.reduce((Z,G)=>(G.name&&Z.push(G.name),Z),[]);C.value=C.value.concat(D)}}catch{}h.value||(y.value=U()),f.value=!1}),(j,D)=>{const Z=t.resolveComponent("KInput"),G=t.resolveComponent("KSkeletonBox"),te=t.resolveComponent("KSkeleton"),le=t.resolveComponent("KEmptyState"),ve=t.resolveComponent("KTooltip"),Xe=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",tT,[t.createElementVNode("div",nT,[t.createVNode(Z,{modelValue:m.value,"onUpdate:modelValue":D[0]||(D[0]=Ie=>m.value=Ie),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(t.openBlock(),t.createElementBlock("section",iT,[t.createVNode(te,{"table-rows":1,type:"table"},{default:t.withCtx(()=>[t.createVNode(G,{width:"6"}),t.createVNode(G,{class:"title-loading-skeleton",width:"6"})]),_:1}),t.createVNode(Sv,{"card-count":8,type:"card"})])):h.value?(t.openBlock(),t.createBlock(le,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):B.value&&m.value?(t.openBlock(),t.createBlock(le,{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:m.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",aT,[t.unref(E).length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(Xe,{key:0,modelValue:M.value,"onUpdate:modelValue":D[5]||(D[5]=Ie=>M.value=Ie),"data-testid":"plugins-tabs",tabs:t.unref(E),onChange:R},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",oT,[t.createElementVNode("p",rT,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(_a,{config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":A.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":w.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:D[1]||(D[1]=Ie=>j.$emit("plugin-clicked",Ie))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",sT,[t.createElementVNode("p",lT,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Zv,{"can-create-custom-plugin":V.value,"can-delete-custom-plugin":z.value,"can-edit-custom-plugin":q.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":w.value,"plugins-per-row":e.pluginsPerRow,"onDelete:success":D[2]||(D[2]=Ie=>j.$emit("delete-custom:success",Ie)),onPluginClicked:D[3]||(D[3]=Ie=>j.$emit("plugin-clicked",Ie)),onRevalidate:D[4]||(D[4]=()=>y.value=U())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list","plugins-per-row"])])]),_:2},[e.disableCustomPlugins?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ve,{"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(_a,{key:1,config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":A.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":w.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:D[6]||(D[6]=Ie=>j.$emit("plugin-clicked",Ie))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"]))]))])}}}),[["__scopeId","data-v-c0dec08e"]]),dT={class:"kong-ui-entity-plugin-config-card"},pT={class:"name-cell-wrapper"},uT={class:"info-name"},mT={key:0},gT={key:0},fT={key:0},AT={key:0},$a="config",hT=_e(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var O;const i=n,a=e,{i18n:{t:o}}=we.useI18n(),r=we.usePluginMetaData(),{setFieldType:s}=we.usePluginHelpers(),{getPropValue:l}=ni(),c=t.computed(()=>{var x;return(x=Se.item[a.config.app])==null?void 0:x[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),d=t.computed(()=>{var A,g;const x={},w=((A=b.value)==null?void 0:A.fields)||[];for(let B=0;B<w.length;B++){const E=b.value.fields[B],M=(g=Object.keys(E))==null?void 0:g[0];s(x,M,E[M])}return{...x,instance_name:{section:xe.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:xe.Basic,order:6},route:{label:o("plugins.fields.route"),section:xe.Basic,order:6},service:{label:o("plugins.fields.service"),section:xe.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:xe.Basic,order:6},protocols:{type:_.BadgeTag,section:xe.Basic,order:7}}}),u=t.computed(()=>{var w,A,g;if(!((w=b.value)!=null&&w.fields))return[];const x=(A=b.value.fields)==null?void 0:A.find(B=>{var M;return((M=Object.keys(B))==null?void 0:M[0])===$a});return((g=x==null?void 0:x[$a])==null?void 0:g.fields)||[]}),m=t.computed(()=>{var w,A;const x={};if(!u.value)return x;for(let g=0;g<((w=u.value)==null?void 0:w.length);g++){const B=u.value[g],E=(A=Object.keys(B))==null?void 0:A[0],M=B[E];M.required&&(x[E]={order:1}),s(x,E,M)}return x}),{getMessageFromError:f}=ti(),{axiosInstance:h}=nn((O=a.config)==null?void 0:O.axiosRequestConfig),k=t.computed(()=>{var w,A;let x=`${a.config.apiBaseUrl}${Se.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,((w=a.config)==null?void 0:w.controlPlaneId)||""):a.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,(A=a.config)!=null&&A.workspace?`/${a.config.workspace}`:"")),x=x.replace(/{plugin}/gi,a.config.pluginType),x}),b=t.ref({}),y=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{y.value=!0;try{const{data:x}=await h.get(k.value);b.value=x}catch(x){C.value=f(x),i("error:fetch-schema",x)}finally{y.value=!1}}),(x,w)=>{const A=t.resolveComponent("KSkeleton"),g=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",dT,[y.value?(t.openBlock(),t.createBlock(A,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(g,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(Km),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":$a,"plugin-config-schema":m.value,"onFetch:error":w[0]||(w[0]=E=>x.$emit("fetch:error",E)),"onFetch:success":w[1]||(w[1]=E=>x.$emit("fetch:success",E)),onLoading:w[2]||(w[2]=E=>x.$emit("loading",E))},{name:t.withCtx(E=>[t.createElementVNode("div",pT,[t.createVNode(vi,{class:"plugin-icon",name:t.unref(l)("rowValue",E),width:24},null,8,["name"]),t.createElementVNode("span",uT,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",E))),1)])]),consumer:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",mT,"–"))]),route:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",gT,"–"))]),service:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",fT,"–"))]),consumer_group:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",AT,"–"))]),_:1},8,["config","config-card-doc","config-schema","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-3e4f66ec"]]),{usePluginMetaData:yT}=we;H.EntityTypeIdField=Dt,H.PLUGIN_GROUPS_COLLAPSE_STATUS=Vs,H.PluginConfigCard=hT,H.PluginForm=dv,H.PluginGroup=T,H.PluginGroupArray=Ns,H.PluginIcon=vi,H.PluginList=wv,H.PluginScope=p,H.PluginSelect=cT,H.PluginSelectGrid=_a,H.VueFormGenerator=Fe,H.getPluginIconURL=Gs,H.pluginEndpoints=Se,H.usePluginMetaData=yT,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});
|
|
87
|
+
client. If missing, it will be generated for you.`,inputType:"text",encrypted:!0}}]},$1={fields:[{id:{type:"string",auto:!0,uuid:!0,description:"A string representing a UUID (universally unique identifier)."}},{created_at:{type:"integer",auto:!0,timestamp:!0,description:"An integer representing an automatic Unix timestamp in seconds."}},{consumer:{required:!0,on_delete:"cascade",reference:"consumers",type:"foreign"}},{key:{required:!1,unique:!0,auto:!0,encrypted:!0,type:"string"}},{tags:{type:"set",elements:{type:"string",required:!0,description:"A string representing a tag."},description:"A set of strings representing tags."}}]},Qe={"basic-auth":{descriptionKey:"plugins.meta.basic-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.basic-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"hmac-auth":{descriptionKey:"plugins.meta.hmac-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.hmac-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"jwt-signer":{descriptionKey:"plugins.meta.jwt-signer.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwt-signer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},jwt:{descriptionKey:"plugins.meta.jwt.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.jwt.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"key-auth":{descriptionKey:"plugins.meta.key-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"key-auth-enc":{descriptionKey:"plugins.meta.key-auth-enc.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.key-auth-enc.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"ldap-auth-advanced":{descriptionKey:"plugins.meta.ldap-auth-advanced.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.ldap-auth-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"ldap-auth":{descriptionKey:"plugins.meta.ldap-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.ldap-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"oauth2-introspection":{descriptionKey:"plugins.meta.oauth2-introspection.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.oauth2-introspection.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},oauth2:{descriptionKey:"plugins.meta.oauth2.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.oauth2.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"openid-connect":{descriptionKey:"plugins.meta.openid-connect.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.openid-connect.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"mtls-auth":{descriptionKey:"plugins.meta.mtls-auth.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.mtls-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"vault-auth":{descriptionKey:"plugins.meta.vault-auth.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.vault-auth.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"bot-detection":{descriptionKey:"plugins.meta.bot-detection.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.bot-detection.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},cors:{descriptionKey:"plugins.meta.cors.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.cors.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"ip-restriction":{descriptionKey:"plugins.meta.ip-restriction.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.ip-restriction.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP],fieldRules:{atLeastOneOf:[["config.allow","config.deny"]]}},opa:{descriptionKey:"plugins.meta.opa.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.opa.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"kubernetes-sidecar-injector":{descriptionKey:"plugins.meta.kubernetes-sidecar-injector.description",group:T.DEPLOYMENT,isEnterprise:!1,nameKey:"plugins.meta.kubernetes-sidecar-injector.name",scope:[p.GLOBAL]},"request-validator":{descriptionKey:"plugins.meta.request-validator.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.request-validator.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.body_schema","config.parameter_schema"]]}},acl:{descriptionKey:"plugins.meta.acl.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.acl.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],fieldRules:{onlyOneOf:[["config.allow","config.deny"]]}},canary:{descriptionKey:"plugins.meta.canary.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.canary.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],fieldRules:{atLeastOneOf:[["config.upstream_uri","config.upstream_host","config.upstream_port"]]}},"forward-proxy":{descriptionKey:"plugins.meta.forward-proxy.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.forward-proxy.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.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:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"proxy-cache-advanced":{descriptionKey:"plugins.meta.proxy-cache-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.proxy-cache-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP],imageName:"proxy-cache"},"graphql-proxy-cache-advanced":{descriptionKey:"plugins.meta.graphql-proxy-cache-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-proxy-cache-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],imageName:"graphql"},"rate-limiting-advanced":{descriptionKey:"plugins.meta.rate-limiting-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.rate-limiting-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"rate-limiting":{descriptionKey:"plugins.meta.rate-limiting.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.rate-limiting.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.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:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.graphql-rate-limiting-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},mocking:{descriptionKey:"plugins.meta.mocking.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.mocking.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.api_specification_filename","config.api_specification"]]}},"request-size-limiting":{descriptionKey:"plugins.meta.request-size-limiting.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-size-limiting.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"request-termination":{descriptionKey:"plugins.meta.request-termination.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.request-termination.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"response-ratelimiting":{descriptionKey:"plugins.meta.response-ratelimiting.description",group:T.TRAFFIC_CONTROL,isEnterprise:!1,nameKey:"plugins.meta.response-ratelimiting.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"route-by-header":{descriptionKey:"plugins.meta.route-by-header.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.route-by-header.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"ai-proxy":{descriptionKey:"plugins.meta.ai-proxy.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.ai-proxy.name",scope:[p.ROUTE],useLegacyForm:!0},"ai-prompt-decorator":{descriptionKey:"plugins.meta.ai-prompt-decorator.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-decorator.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],useLegacyForm:!0},"ai-prompt-template":{descriptionKey:"plugins.meta.ai-prompt-template.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-template.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"ai-prompt-guard":{descriptionKey:"plugins.meta.ai-prompt-guard.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-prompt-guard.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],useLegacyForm:!0},"ai-request-transformer":{descriptionKey:"plugins.meta.ai-request-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-request-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"ai-response-transformer":{descriptionKey:"plugins.meta.ai-response-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.ai-response-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"ai-rate-limiting-advanced":{descriptionKey:"plugins.meta.ai-rate-limiting-advanced.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-rate-limiting-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP],useLegacyForm:!0},"ai-azure-content-safety":{descriptionKey:"plugins.meta.ai-azure-content-safety.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.ai-azure-content-safety.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],useLegacyForm:!0},"aws-lambda":{descriptionKey:"plugins.meta.aws-lambda.description",group:T.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.aws-lambda.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"azure-functions":{descriptionKey:"plugins.meta.azure-functions.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.azure-functions.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},openwhisk:{descriptionKey:"plugins.meta.openwhisk.description",group:T.SERVERLESS,isEnterprise:!1,nameKey:"plugins.meta.openwhisk.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"pre-function":{descriptionKey:"plugins.meta.pre-function.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.pre-function.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],imageName:"kong-function"},"post-function":{descriptionKey:"plugins.meta.post-function.description",group:T.SERVERLESS,isEnterprise:!0,nameKey:"plugins.meta.post-function.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE],imageName:"kong-function"},datadog:{descriptionKey:"plugins.meta.datadog.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.datadog.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},prometheus:{descriptionKey:"plugins.meta.prometheus.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.prometheus.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},zipkin:{descriptionKey:"plugins.meta.zipkin.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.zipkin.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},collector:{descriptionKey:"plugins.meta.collector.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.collector.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"response-transformer-advanced":{descriptionKey:"plugins.meta.response-transformer-advanced.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"correlation-id":{descriptionKey:"plugins.meta.correlation-id.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.correlation-id.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"request-transformer-advanced":{descriptionKey:"plugins.meta.request-transformer-advanced.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.request-transformer-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"request-transformer":{descriptionKey:"plugins.meta.request-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.request-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"response-transformer":{descriptionKey:"plugins.meta.response-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.response-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER,p.CONSUMER_GROUP]},"route-transformer-advanced":{descriptionKey:"plugins.meta.route-transformer-advanced.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.route-transformer-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.path","config.port","config.host"]]}},"kafka-upstream":{descriptionKey:"plugins.meta.kafka-upstream.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.kafka-upstream.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},degraphql:{descriptionKey:"plugins.meta.degraphql.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.degraphql.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"exit-transformer":{descriptionKey:"plugins.meta.exit-transformer.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.exit-transformer.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],imageName:"exit-transformer"},jq:{descriptionKey:"plugins.meta.jq.description",group:T.TRANSFORMATIONS,isEnterprise:!0,nameKey:"plugins.meta.jq.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],imageName:"jq",fieldRules:{atLeastOneOf:[["config.request_jq_program","config.response_jq_program"]]}},"file-log":{descriptionKey:"plugins.meta.file-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.file-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"http-log":{descriptionKey:"plugins.meta.http-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.http-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},loggly:{descriptionKey:"plugins.meta.loggly.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.loggly.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"statsd-advanced":{descriptionKey:"plugins.meta.statsd-advanced.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.statsd-advanced.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},statsd:{descriptionKey:"plugins.meta.statsd.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.statsd.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},syslog:{descriptionKey:"plugins.meta.syslog.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.syslog.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"tcp-log":{descriptionKey:"plugins.meta.tcp-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.tcp-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"udp-log":{descriptionKey:"plugins.meta.udp-log.description",group:T.LOGGING,isEnterprise:!1,nameKey:"plugins.meta.udp-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"kafka-log":{descriptionKey:"plugins.meta.kafka-log.description",group:T.LOGGING,isEnterprise:!0,nameKey:"plugins.meta.kafka-log.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},session:{descriptionKey:"plugins.meta.session.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.session.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"upstream-tls":{descriptionKey:"plugins.meta.upstream-tls.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.upstream-tls.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"application-registration":{descriptionKey:"plugins.meta.application-registration.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.application-registration.name",scope:[p.SERVICE]},"konnect-application-auth":{descriptionKey:"plugins.meta.konnect-application-auth.description",group:T.AUTHENTICATION,isEnterprise:!1,nameKey:"plugins.meta.konnect-application-auth.name",scope:[p.GLOBAL,p.SERVICE],imageName:"application-registration"},acme:{descriptionKey:"plugins.meta.acme.description",group:T.SECURITY,isEnterprise:!1,nameKey:"plugins.meta.acme.name",scope:[p.GLOBAL]},"grpc-gateway":{descriptionKey:"plugins.meta.grpc-gateway.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-gateway.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"grpc-web":{descriptionKey:"plugins.meta.grpc-web.description",group:T.TRANSFORMATIONS,isEnterprise:!1,nameKey:"plugins.meta.grpc-web.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"upstream-timeout":{descriptionKey:"plugins.meta.upstream-timeout.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.upstream-timeout.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},opentelemetry:{descriptionKey:"plugins.meta.opentelemetry.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!1,nameKey:"plugins.meta.opentelemetry.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"websocket-validator":{descriptionKey:"plugins.meta.websocket-validator.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-validator.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"websocket-size-limit":{descriptionKey:"plugins.meta.websocket-size-limit.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.websocket-size-limit.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER],fieldRules:{atLeastOneOf:[["config.client_max_payload","config.upstream_max_payload"]]}},"tls-metadata-headers":{descriptionKey:"plugins.meta.tls-metadata-headers.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-metadata-headers.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"tls-handshake-modifier":{descriptionKey:"plugins.meta.tls-handshake-modifier.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.tls-handshake-modifier.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"oas-validation":{descriptionKey:"plugins.meta.oas-validation.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.oas-validation.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},"jwe-decrypt":{descriptionKey:"plugins.meta.jwe-decrypt.description",group:T.AUTHENTICATION,isEnterprise:!0,nameKey:"plugins.meta.jwe-decrypt.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"xml-threat-protection":{descriptionKey:"plugins.meta.xml-threat-protection.description",group:T.TRAFFIC_CONTROL,isEnterprise:!0,nameKey:"plugins.meta.xml-threat-protection.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]},saml:{descriptionKey:"plugins.meta.saml.description",group:T.SECURITY,isEnterprise:!0,nameKey:"plugins.meta.saml.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE]},"app-dynamics":{descriptionKey:"plugins.meta.app-dynamics.description",group:T.ANALYTICS_AND_MONITORING,isEnterprise:!0,nameKey:"plugins.meta.app-dynamics.name",scope:[p.GLOBAL,p.SERVICE,p.ROUTE,p.CONSUMER]}},ln={acl:{titleKey:"plugins.meta.acl.name",plugin:"acl",schema:js,nameKey:"plugins.meta.acl.credential_name",endpoint:"/acls",schemaEndpoint:"acls",fields:Lt(js),applyCredentialButtonText:"Add group to consumer"},"basic-auth":{titleKey:"plugins.meta.basic-auth.name",plugin:"basic-auth",schema:Ds,nameKey:"plugins.meta.basic-auth.credential_name",endpoint:"/basic-auth",schemaEndpoint:"basicauth_credentials",fields:Lt(Ds)},"key-auth":{titleKey:"plugins.meta.key-auth.name",plugin:"key-auth",schema:Ls,nameKey:"plugins.meta.key-auth.credential_name",endpoint:"/key-auth",schemaEndpoint:"keyauth_credentials",fields:Lt(Ls)},"key-auth-enc":{titleKey:"plugins.meta.key-auth-enc.name",plugin:"key-auth-enc",schema:Ys,nameKey:"plugins.meta.key-auth-enc.credential_name",endpoint:"/key-auth-enc",schemaEndpoint:"keyauth_enc_credentials",fields:Lt(Ys)},oauth2:{titleKey:"plugins.meta.oauth2.name",plugin:"oauth2",schema:Us,nameKey:"plugins.meta.oauth2.credential_name",endpoint:"/oauth2",schemaEndpoint:"oauth2_credentials",fields:Lt(Us)},"hmac-auth":{titleKey:"plugins.meta.hmac-auth.name",plugin:"hmac-auth",schema:Ps,nameKey:"plugins.meta.hmac-auth.credential_name",endpoint:"/hmac-auth",schemaEndpoint:"hmacauth_credentials",fields:Lt(Ps)},jwt:{titleKey:"plugins.meta.jwt.name",plugin:"jwt",schema:W1,nameKey:"plugins.meta.jwt.credential_name",endpoint:"/jwt",schemaEndpoint:"jwt_secrets",fields:{id:{},key:{},algorithm:{}}}},ew={acls:K1,basicauth_credentials:q1,keyauth_credentials:X1,keyauth_enc_credentials:$1,oauth2_credentials:_1,hmacauth_credentials:J1,jwt_secrets:Q1},Gs=e=>{var a;const n=((a=Qe[e])==null?void 0:a.imageName)||e||"missing",i=new URL(Object.assign({"../assets/images/plugin-icons/acl.png":db,"../assets/images/plugin-icons/acme.png":pb,"../assets/images/plugin-icons/ai-azure-content-safety.png":ub,"../assets/images/plugin-icons/ai-data-sanitization.png":mb,"../assets/images/plugin-icons/ai-prompt-decorator.png":gb,"../assets/images/plugin-icons/ai-prompt-guard.png":fb,"../assets/images/plugin-icons/ai-prompt-template.png":Ab,"../assets/images/plugin-icons/ai-proxy.png":hb,"../assets/images/plugin-icons/ai-rate-limiting-advanced.png":yb,"../assets/images/plugin-icons/ai-request-transformer.png":bb,"../assets/images/plugin-icons/ai-response-transformer.png":wb,"../assets/images/plugin-icons/app-dynamics.png":Cb,"../assets/images/plugin-icons/application-registration.png":Eb,"../assets/images/plugin-icons/aws-lambda.png":kb,"../assets/images/plugin-icons/azure-functions.png":Bb,"../assets/images/plugin-icons/basic-auth.png":Ob,"../assets/images/plugin-icons/bot-detection.png":Sb,"../assets/images/plugin-icons/canary.png":Ib,"../assets/images/plugin-icons/collector.png":xb,"../assets/images/plugin-icons/correlation-id.png":Mb,"../assets/images/plugin-icons/cors.png":vb,"../assets/images/plugin-icons/datadog.png":Tb,"../assets/images/plugin-icons/degraphql.png":Rb,"../assets/images/plugin-icons/dynamic-ssl.png":Nb,"../assets/images/plugin-icons/exit-transformer.png":Vb,"../assets/images/plugin-icons/file-log.png":jb,"../assets/images/plugin-icons/forward-proxy.png":Db,"../assets/images/plugin-icons/graphql-rate-limiting-advanced.png":Lb,"../assets/images/plugin-icons/graphql.png":Pb,"../assets/images/plugin-icons/grpc-gateway.png":Ub,"../assets/images/plugin-icons/grpc-web.png":Yb,"../assets/images/plugin-icons/hmac-auth.png":Gb,"../assets/images/plugin-icons/http-log.png":Fb,"../assets/images/plugin-icons/ip-restriction.png":Hb,"../assets/images/plugin-icons/jq.png":zb,"../assets/images/plugin-icons/jwe-decrypt.png":Kb,"../assets/images/plugin-icons/jwt-signer.png":qb,"../assets/images/plugin-icons/jwt.png":Xb,"../assets/images/plugin-icons/kafka-log.png":Jb,"../assets/images/plugin-icons/kafka-upstream.png":Zb,"../assets/images/plugin-icons/key-auth-enc.png":Wb,"../assets/images/plugin-icons/key-auth.png":Qb,"../assets/images/plugin-icons/kong-function.png":_b,"../assets/images/plugin-icons/kubernetes-sidecar-injector.png":$b,"../assets/images/plugin-icons/ldap-auth-advanced.png":e1,"../assets/images/plugin-icons/ldap-auth.png":t1,"../assets/images/plugin-icons/loggly.png":n1,"../assets/images/plugin-icons/missing.png":i1,"../assets/images/plugin-icons/mocking.png":a1,"../assets/images/plugin-icons/mtls-auth.png":o1,"../assets/images/plugin-icons/new.png":r1,"../assets/images/plugin-icons/oas-validation.png":s1,"../assets/images/plugin-icons/oauth2-introspection.png":l1,"../assets/images/plugin-icons/oauth2.png":c1,"../assets/images/plugin-icons/opa.png":d1,"../assets/images/plugin-icons/openid-connect.png":p1,"../assets/images/plugin-icons/opentelemetry.png":u1,"../assets/images/plugin-icons/openwhisk.png":m1,"../assets/images/plugin-icons/prometheus.png":g1,"../assets/images/plugin-icons/proxy-cache.png":f1,"../assets/images/plugin-icons/rate-limiting-advanced.png":A1,"../assets/images/plugin-icons/rate-limiting.png":h1,"../assets/images/plugin-icons/request-size-limiting.png":y1,"../assets/images/plugin-icons/request-termination.png":b1,"../assets/images/plugin-icons/request-transformer-advanced.png":w1,"../assets/images/plugin-icons/request-transformer.png":C1,"../assets/images/plugin-icons/request-validator.png":E1,"../assets/images/plugin-icons/response-ratelimiting.png":k1,"../assets/images/plugin-icons/response-transformer-advanced.png":B1,"../assets/images/plugin-icons/response-transformer.png":O1,"../assets/images/plugin-icons/route-by-header.png":S1,"../assets/images/plugin-icons/route-transformer-advanced.png":I1,"../assets/images/plugin-icons/runscope.png":x1,"../assets/images/plugin-icons/saml.png":M1,"../assets/images/plugin-icons/session.png":v1,"../assets/images/plugin-icons/statsd-advanced.png":T1,"../assets/images/plugin-icons/statsd.png":R1,"../assets/images/plugin-icons/syslog.png":N1,"../assets/images/plugin-icons/tcp-log.png":V1,"../assets/images/plugin-icons/tls-handshake-modifier.png":j1,"../assets/images/plugin-icons/tls-metadata-headers.png":D1,"../assets/images/plugin-icons/udp-log.png":L1,"../assets/images/plugin-icons/upstream-timeout.png":P1,"../assets/images/plugin-icons/upstream-tls.png":U1,"../assets/images/plugin-icons/vault-auth.png":Y1,"../assets/images/plugin-icons/websocket-size-limit.png":G1,"../assets/images/plugin-icons/websocket-validator.png":F1,"../assets/images/plugin-icons/xml-threat-protection.png":H1,"../assets/images/plugin-icons/zipkin.png":z1})[`../assets/images/plugin-icons/${n}.png`],typeof document>"u"&&typeof location>"u"?require("url").pathToFileURL(__filename).href:typeof document>"u"?location.href:Wt&&Wt.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:Wt&&Wt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href:i},tw=()=>{const{i18n:{t:e}}=mi(),n={},i={};for(const[o,r]of Object.entries(Qe))n[o]={...r,name:e(r.nameKey),description:e(r.descriptionKey)};for(const[o,r]of Object.entries(ln))i[o]={...r,name:e(r.nameKey),title:e(r.titleKey)};return{pluginMetaData:n,credentialMetaData:i,credentialSchemas:ln,getDisplayName:o=>{var r;return((r=n[o])==null?void 0:r.name)||o}}};function Fs(e,n){for(var i=-1,a=e==null?0:e.length;++i<a&&n(e[i],i,e)!==!1;);return e}function nw(e){return function(n,i,a){for(var o=-1,r=Object(n),s=a(n),l=s.length;l--;){var c=s[e?l:++o];if(i(r[c],c,r)===!1)break}return n}}var iw=nw();const aw=iw;function ow(e,n){for(var i=-1,a=Array(e);++i<e;)a[i]=n(i);return a}var Hs=typeof global=="object"&&global&&global.Object===Object&&global,rw=typeof self=="object"&&self&&self.Object===Object&&self,Je=Hs||rw||Function("return this")(),rt=Je.Symbol,zs=Object.prototype,sw=zs.hasOwnProperty,lw=zs.toString,Rn=rt?rt.toStringTag:void 0;function cw(e){var n=sw.call(e,Rn),i=e[Rn];try{e[Rn]=void 0;var a=!0}catch{}var o=lw.call(e);return a&&(n?e[Rn]=i:delete e[Rn]),o}var dw=Object.prototype,pw=dw.toString;function uw(e){return pw.call(e)}var mw="[object Null]",gw="[object Undefined]",Ks=rt?rt.toStringTag:void 0;function Ct(e){return e==null?e===void 0?gw:mw:Ks&&Ks in Object(e)?cw(e):uw(e)}function st(e){return e!=null&&typeof e=="object"}var fw="[object Arguments]";function qs(e){return st(e)&&Ct(e)==fw}var Xs=Object.prototype,Aw=Xs.hasOwnProperty,hw=Xs.propertyIsEnumerable,Sa=qs(function(){return arguments}())?qs:function(e){return st(e)&&Aw.call(e,"callee")&&!hw.call(e,"callee")},qe=Array.isArray;function yw(){return!1}var Js=typeof H=="object"&&H&&!H.nodeType&&H,Zs=Js&&typeof module=="object"&&module&&!module.nodeType&&module,bw=Zs&&Zs.exports===Js,Ws=bw?Je.Buffer:void 0,ww=Ws?Ws.isBuffer:void 0,Nn=ww||yw,Cw=9007199254740991,Ew=/^(?:0|[1-9]\d*)$/;function Ia(e,n){var i=typeof e;return n=n??Cw,!!n&&(i=="number"||i!="symbol"&&Ew.test(e))&&e>-1&&e%1==0&&e<n}var kw=9007199254740991;function xa(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=kw}var Bw="[object Arguments]",Ow="[object Array]",Sw="[object Boolean]",Iw="[object Date]",xw="[object Error]",Mw="[object Function]",vw="[object Map]",Tw="[object Number]",Rw="[object Object]",Nw="[object RegExp]",Vw="[object Set]",jw="[object String]",Dw="[object WeakMap]",Lw="[object ArrayBuffer]",Pw="[object DataView]",Uw="[object Float32Array]",Yw="[object Float64Array]",Gw="[object Int8Array]",Fw="[object Int16Array]",Hw="[object Int32Array]",zw="[object Uint8Array]",Kw="[object Uint8ClampedArray]",qw="[object Uint16Array]",Xw="[object Uint32Array]",fe={};fe[Uw]=fe[Yw]=fe[Gw]=fe[Fw]=fe[Hw]=fe[zw]=fe[Kw]=fe[qw]=fe[Xw]=!0,fe[Bw]=fe[Ow]=fe[Lw]=fe[Sw]=fe[Pw]=fe[Iw]=fe[xw]=fe[Mw]=fe[vw]=fe[Tw]=fe[Rw]=fe[Nw]=fe[Vw]=fe[jw]=fe[Dw]=!1;function Jw(e){return st(e)&&xa(e.length)&&!!fe[Ct(e)]}function Ma(e){return function(n){return e(n)}}var Qs=typeof H=="object"&&H&&!H.nodeType&&H,Vn=Qs&&typeof module=="object"&&module&&!module.nodeType&&module,Zw=Vn&&Vn.exports===Qs,va=Zw&&Hs.process,cn=function(){try{var e=Vn&&Vn.require&&Vn.require("util").types;return e||va&&va.binding&&va.binding("util")}catch{}}(),_s=cn&&cn.isTypedArray,Ta=_s?Ma(_s):Jw,Ww=Object.prototype,Qw=Ww.hasOwnProperty;function $s(e,n){var i=qe(e),a=!i&&Sa(e),o=!i&&!a&&Nn(e),r=!i&&!a&&!o&&Ta(e),s=i||a||o||r,l=s?ow(e.length,String):[],c=l.length;for(var d in e)(n||Qw.call(e,d))&&!(s&&(d=="length"||o&&(d=="offset"||d=="parent")||r&&(d=="buffer"||d=="byteLength"||d=="byteOffset")||Ia(d,c)))&&l.push(d);return l}var _w=Object.prototype;function gi(e){var n=e&&e.constructor,i=typeof n=="function"&&n.prototype||_w;return e===i}function el(e,n){return function(i){return e(n(i))}}var $w=el(Object.keys,Object),eC=Object.prototype,tC=eC.hasOwnProperty;function tl(e){if(!gi(e))return $w(e);var n=[];for(var i in Object(e))tC.call(e,i)&&i!="constructor"&&n.push(i);return n}function Oe(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var nC="[object AsyncFunction]",iC="[object Function]",aC="[object GeneratorFunction]",oC="[object Proxy]";function oe(e){if(!Oe(e))return!1;var n=Ct(e);return n==iC||n==aC||n==nC||n==oC}function dn(e){return e!=null&&xa(e.length)&&!oe(e)}function pn(e){return dn(e)?$s(e):tl(e)}function rC(e,n){return e&&aw(e,n,pn)}function sC(e,n){return function(i,a){if(i==null)return i;if(!dn(i))return e(i,a);for(var o=i.length,r=n?o:-1,s=Object(i);(n?r--:++r<o)&&a(s[r],r,s)!==!1;);return i}}var lC=sC(rC);const cC=lC;function fi(e){return e}function dC(e){return typeof e=="function"?e:fi}function Le(e,n){var i=qe(e)?Fs:cC;return i(e,dC(n))}var pC="[object Symbol]";function Ai(e){return typeof e=="symbol"||st(e)&&Ct(e)==pC}var uC=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mC=/^\w*$/;function Ra(e,n){if(qe(e))return!1;var i=typeof e;return i=="number"||i=="symbol"||i=="boolean"||e==null||Ai(e)?!0:mC.test(e)||!uC.test(e)||n!=null&&e in Object(n)}var Na=Je["__core-js_shared__"],nl=function(){var e=/[^.]+$/.exec(Na&&Na.keys&&Na.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function gC(e){return!!nl&&nl in e}var fC=Function.prototype,AC=fC.toString;function Pt(e){if(e!=null){try{return AC.call(e)}catch{}try{return e+""}catch{}}return""}var hC=/[\\^$.*+?()[\]{}|]/g,yC=/^\[object .+?Constructor\]$/,bC=Function.prototype,wC=Object.prototype,CC=bC.toString,EC=wC.hasOwnProperty,kC=RegExp("^"+CC.call(EC).replace(hC,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function BC(e){if(!Oe(e)||gC(e))return!1;var n=oe(e)?kC:yC;return n.test(Pt(e))}function OC(e,n){return e==null?void 0:e[n]}function Ut(e,n){var i=OC(e,n);return BC(i)?i:void 0}var jn=Ut(Object,"create");function SC(){this.__data__=jn?jn(null):{},this.size=0}function IC(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var xC="__lodash_hash_undefined__",MC=Object.prototype,vC=MC.hasOwnProperty;function TC(e){var n=this.__data__;if(jn){var i=n[e];return i===xC?void 0:i}return vC.call(n,e)?n[e]:void 0}var RC=Object.prototype,NC=RC.hasOwnProperty;function VC(e){var n=this.__data__;return jn?n[e]!==void 0:NC.call(n,e)}var jC="__lodash_hash_undefined__";function DC(e,n){var i=this.__data__;return this.size+=this.has(e)?0:1,i[e]=jn&&n===void 0?jC:n,this}function Yt(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])}}Yt.prototype.clear=SC,Yt.prototype.delete=IC,Yt.prototype.get=TC,Yt.prototype.has=VC,Yt.prototype.set=DC;function LC(){this.__data__=[],this.size=0}function Dn(e,n){return e===n||e!==e&&n!==n}function hi(e,n){for(var i=e.length;i--;)if(Dn(e[i][0],n))return i;return-1}var PC=Array.prototype,UC=PC.splice;function YC(e){var n=this.__data__,i=hi(n,e);if(i<0)return!1;var a=n.length-1;return i==a?n.pop():UC.call(n,i,1),--this.size,!0}function GC(e){var n=this.__data__,i=hi(n,e);return i<0?void 0:n[i][1]}function FC(e){return hi(this.__data__,e)>-1}function HC(e,n){var i=this.__data__,a=hi(i,e);return a<0?(++this.size,i.push([e,n])):i[a][1]=n,this}function mt(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])}}mt.prototype.clear=LC,mt.prototype.delete=YC,mt.prototype.get=GC,mt.prototype.has=FC,mt.prototype.set=HC;var Ln=Ut(Je,"Map");function zC(){this.size=0,this.__data__={hash:new Yt,map:new(Ln||mt),string:new Yt}}function KC(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function yi(e,n){var i=e.__data__;return KC(n)?i[typeof n=="string"?"string":"hash"]:i.map}function qC(e){var n=yi(this,e).delete(e);return this.size-=n?1:0,n}function XC(e){return yi(this,e).get(e)}function JC(e){return yi(this,e).has(e)}function ZC(e,n){var i=yi(this,e),a=i.size;return i.set(e,n),this.size+=i.size==a?0:1,this}function gt(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])}}gt.prototype.clear=zC,gt.prototype.delete=qC,gt.prototype.get=XC,gt.prototype.has=JC,gt.prototype.set=ZC;var WC="Expected a function";function Va(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(WC);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(Va.Cache||gt),i}Va.Cache=gt;var QC=500;function _C(e){var n=Va(e,function(a){return i.size===QC&&i.clear(),a}),i=n.cache;return n}var $C=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,eE=/\\(\\)?/g,tE=_C(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace($C,function(i,a,o,r){n.push(o?r.replace(eE,"$1"):a||i)}),n});function nE(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 iE=1/0,il=rt?rt.prototype:void 0,al=il?il.toString:void 0;function ol(e){if(typeof e=="string")return e;if(qe(e))return nE(e,ol)+"";if(Ai(e))return al?al.call(e):"";var n=e+"";return n=="0"&&1/e==-iE?"-0":n}function rl(e){return e==null?"":ol(e)}function sl(e,n){return qe(e)?e:Ra(e,n)?[e]:tE(rl(e))}var aE=1/0;function bi(e){if(typeof e=="string"||Ai(e))return e;var n=e+"";return n=="0"&&1/e==-aE?"-0":n}function ll(e,n){n=sl(n,e);for(var i=0,a=n.length;e!=null&&i<a;)e=e[bi(n[i++])];return i&&i==a?e:void 0}function ee(e,n,i){var a=e==null?void 0:ll(e,n);return a===void 0?i:a}function Ee(e){return e==null}var oE="[object String]";function Gt(e){return typeof e=="string"||!qe(e)&&st(e)&&Ct(e)==oE}const cl={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,i={[ee(this.options,"validationErrorClass","error")]:n,[ee(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)?Le(e.styleClasses,a=>i[a]=!0):Gt(e.styleClasses)&&(i[e.styleClasses]=!0),Ee(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 oe(e.disabled)?e.disabled.call(this,this.model,e,this):Ee(e.disabled)?!1:e.disabled},fieldReadonly(e){return oe(e.readonly)?e.readonly.call(this,this.model,e,this):Ee(e.readonly)?!1:e.readonly},fieldFeatured(e){return oe(e.featured)?e.featured.call(this,this.model,e,this):Ee(e.featured)?!1:e.featured},fieldRequired(e){return oe(e.required)?e.required.call(this,this.model,e,this):Ee(e.required)?!1:e.required}}};function rE(){this.__data__=new mt,this.size=0}function sE(e){var n=this.__data__,i=n.delete(e);return this.size=n.size,i}function lE(e){return this.__data__.get(e)}function cE(e){return this.__data__.has(e)}var dE=200;function pE(e,n){var i=this.__data__;if(i instanceof mt){var a=i.__data__;if(!Ln||a.length<dE-1)return a.push([e,n]),this.size=++i.size,this;i=this.__data__=new gt(a)}return i.set(e,n),this.size=i.size,this}function lt(e){var n=this.__data__=new mt(e);this.size=n.size}lt.prototype.clear=rE,lt.prototype.delete=sE,lt.prototype.get=lE,lt.prototype.has=cE,lt.prototype.set=pE;var wi=function(){try{var e=Ut(Object,"defineProperty");return e({},"",{}),e}catch{}}();function dl(e,n,i){n=="__proto__"&&wi?wi(e,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):e[n]=i}var uE=Object.prototype,mE=uE.hasOwnProperty;function pl(e,n,i){var a=e[n];(!(mE.call(e,n)&&Dn(a,i))||i===void 0&&!(n in e))&&dl(e,n,i)}function Ci(e,n,i,a){var o=!i;i||(i={});for(var r=-1,s=n.length;++r<s;){var l=n[r],c=a?a(i[l],e[l],l,i,e):void 0;c===void 0&&(c=e[l]),o?dl(i,l,c):pl(i,l,c)}return i}function gE(e,n){return e&&Ci(n,pn(n),e)}function fE(e){var n=[];if(e!=null)for(var i in Object(e))n.push(i);return n}var AE=Object.prototype,hE=AE.hasOwnProperty;function yE(e){if(!Oe(e))return fE(e);var n=gi(e),i=[];for(var a in e)a=="constructor"&&(n||!hE.call(e,a))||i.push(a);return i}function Ei(e){return dn(e)?$s(e,!0):yE(e)}function bE(e,n){return e&&Ci(n,Ei(n),e)}var ul=typeof H=="object"&&H&&!H.nodeType&&H,ml=ul&&typeof module=="object"&&module&&!module.nodeType&&module,wE=ml&&ml.exports===ul,gl=wE?Je.Buffer:void 0,fl=gl?gl.allocUnsafe:void 0;function CE(e,n){if(n)return e.slice();var i=e.length,a=fl?fl(i):new e.constructor(i);return e.copy(a),a}function EE(e,n){var i=-1,a=e.length;for(n||(n=Array(a));++i<a;)n[i]=e[i];return n}function kE(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 Al(){return[]}var BE=Object.prototype,OE=BE.propertyIsEnumerable,hl=Object.getOwnPropertySymbols,ja=hl?function(e){return e==null?[]:(e=Object(e),kE(hl(e),function(n){return OE.call(e,n)}))}:Al;function SE(e,n){return Ci(e,ja(e),n)}function yl(e,n){for(var i=-1,a=n.length,o=e.length;++i<a;)e[o+i]=n[i];return e}var IE=el(Object.getPrototypeOf,Object);const bl=IE;var xE=Object.getOwnPropertySymbols,wl=xE?function(e){for(var n=[];e;)yl(n,ja(e)),e=bl(e);return n}:Al;function ME(e,n){return Ci(e,wl(e),n)}function Cl(e,n,i){var a=n(e);return qe(e)?a:yl(a,i(e))}function Da(e){return Cl(e,pn,ja)}function vE(e){return Cl(e,Ei,wl)}var La=Ut(Je,"DataView"),Pa=Ut(Je,"Promise"),un=Ut(Je,"Set"),Ua=Ut(Je,"WeakMap"),El="[object Map]",TE="[object Object]",kl="[object Promise]",Bl="[object Set]",Ol="[object WeakMap]",Sl="[object DataView]",RE=Pt(La),NE=Pt(Ln),VE=Pt(Pa),jE=Pt(un),DE=Pt(Ua),Ft=Ct;(La&&Ft(new La(new ArrayBuffer(1)))!=Sl||Ln&&Ft(new Ln)!=El||Pa&&Ft(Pa.resolve())!=kl||un&&Ft(new un)!=Bl||Ua&&Ft(new Ua)!=Ol)&&(Ft=function(e){var n=Ct(e),i=n==TE?e.constructor:void 0,a=i?Pt(i):"";if(a)switch(a){case RE:return Sl;case NE:return El;case VE:return kl;case jE:return Bl;case DE:return Ol}return n});const mn=Ft;var LE=Object.prototype,PE=LE.hasOwnProperty;function UE(e){var n=e.length,i=new e.constructor(n);return n&&typeof e[0]=="string"&&PE.call(e,"index")&&(i.index=e.index,i.input=e.input),i}var ki=Je.Uint8Array;function Ya(e){var n=new e.constructor(e.byteLength);return new ki(n).set(new ki(e)),n}function YE(e,n){var i=n?Ya(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}var GE=/\w*$/;function FE(e){var n=new e.constructor(e.source,GE.exec(e));return n.lastIndex=e.lastIndex,n}var Il=rt?rt.prototype:void 0,xl=Il?Il.valueOf:void 0;function HE(e){return xl?Object(xl.call(e)):{}}function zE(e,n){var i=n?Ya(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}var KE="[object Boolean]",qE="[object Date]",XE="[object Map]",JE="[object Number]",ZE="[object RegExp]",WE="[object Set]",QE="[object String]",_E="[object Symbol]",$E="[object ArrayBuffer]",ek="[object DataView]",tk="[object Float32Array]",nk="[object Float64Array]",ik="[object Int8Array]",ak="[object Int16Array]",ok="[object Int32Array]",rk="[object Uint8Array]",sk="[object Uint8ClampedArray]",lk="[object Uint16Array]",ck="[object Uint32Array]";function dk(e,n,i){var a=e.constructor;switch(n){case $E:return Ya(e);case KE:case qE:return new a(+e);case ek:return YE(e,i);case tk:case nk:case ik:case ak:case ok:case rk:case sk:case lk:case ck:return zE(e,i);case XE:return new a;case JE:case QE:return new a(e);case ZE:return FE(e);case WE:return new a;case _E:return HE(e)}}var Ml=Object.create,pk=function(){function e(){}return function(n){if(!Oe(n))return{};if(Ml)return Ml(n);e.prototype=n;var i=new e;return e.prototype=void 0,i}}();function uk(e){return typeof e.constructor=="function"&&!gi(e)?pk(bl(e)):{}}var mk="[object Map]";function gk(e){return st(e)&&mn(e)==mk}var vl=cn&&cn.isMap,fk=vl?Ma(vl):gk,Ak="[object Set]";function hk(e){return st(e)&&mn(e)==Ak}var Tl=cn&&cn.isSet,yk=Tl?Ma(Tl):hk,bk=1,wk=2,Ck=4,Rl="[object Arguments]",Ek="[object Array]",kk="[object Boolean]",Bk="[object Date]",Ok="[object Error]",Nl="[object Function]",Sk="[object GeneratorFunction]",Ik="[object Map]",xk="[object Number]",Vl="[object Object]",Mk="[object RegExp]",vk="[object Set]",Tk="[object String]",Rk="[object Symbol]",Nk="[object WeakMap]",Vk="[object ArrayBuffer]",jk="[object DataView]",Dk="[object Float32Array]",Lk="[object Float64Array]",Pk="[object Int8Array]",Uk="[object Int16Array]",Yk="[object Int32Array]",Gk="[object Uint8Array]",Fk="[object Uint8ClampedArray]",Hk="[object Uint16Array]",zk="[object Uint32Array]",ue={};ue[Rl]=ue[Ek]=ue[Vk]=ue[jk]=ue[kk]=ue[Bk]=ue[Dk]=ue[Lk]=ue[Pk]=ue[Uk]=ue[Yk]=ue[Ik]=ue[xk]=ue[Vl]=ue[Mk]=ue[vk]=ue[Tk]=ue[Rk]=ue[Gk]=ue[Fk]=ue[Hk]=ue[zk]=!0,ue[Ok]=ue[Nl]=ue[Nk]=!1;function Pn(e,n,i,a,o,r){var s,l=n&bk,c=n&wk,d=n&Ck;if(i&&(s=o?i(e,a,o,r):i(e)),s!==void 0)return s;if(!Oe(e))return e;var u=qe(e);if(u){if(s=UE(e),!l)return EE(e,s)}else{var m=mn(e),f=m==Nl||m==Sk;if(Nn(e))return CE(e,l);if(m==Vl||m==Rl||f&&!o){if(s=c||f?{}:uk(e),!l)return c?ME(e,bE(s,e)):SE(e,gE(s,e))}else{if(!ue[m])return o?e:{};s=dk(e,m,l)}}r||(r=new lt);var h=r.get(e);if(h)return h;r.set(e,s),yk(e)?e.forEach(function(y){s.add(Pn(y,n,i,y,e,r))}):fk(e)&&e.forEach(function(y,C){s.set(C,Pn(y,n,i,C,e,r))});var k=d?c?vE:Da:c?Ei:pn,b=u?void 0:k(e);return Fs(b||e,function(y,C){b&&(C=y,y=e[C]),pl(s,C,Pn(y,n,i,C,e,r))}),s}var Kk=1,qk=4;function Ga(e){return Pn(e,Kk|qk)}const Fa=(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,""),jl=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var Ha=function(){return Je.Date.now()},Xk=/\s/;function Jk(e){for(var n=e.length;n--&&Xk.test(e.charAt(n)););return n}var Zk=/^\s+/;function Wk(e){return e&&e.slice(0,Jk(e)+1).replace(Zk,"")}var Dl=NaN,Qk=/^[-+]0x[0-9a-f]+$/i,_k=/^0b[01]+$/i,$k=/^0o[0-7]+$/i,e0=parseInt;function za(e){if(typeof e=="number")return e;if(Ai(e))return Dl;if(Oe(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Oe(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Wk(e);var i=_k.test(e);return i||$k.test(e)?e0(e.slice(2),i?2:8):Qk.test(e)?Dl:+e}var t0="Expected a function",n0=Math.max,i0=Math.min;function Un(e,n,i){var a,o,r,s,l,c,d=0,u=!1,m=!1,f=!0;if(typeof e!="function")throw new TypeError(t0);n=za(n)||0,Oe(i)&&(u=!!i.leading,m="maxWait"in i,r=m?n0(za(i.maxWait)||0,n):r,f="trailing"in i?!!i.trailing:f);function h(g){var B=a,E=o;return a=o=void 0,d=g,s=e.apply(E,B),s}function k(g){return d=g,l=setTimeout(C,n),u?h(g):s}function b(g){var B=g-c,E=g-d,M=n-B;return m?i0(M,r-E):M}function y(g){var B=g-c,E=g-d;return c===void 0||B>=n||B<0||m&&E>=r}function C(){var g=Ha();if(y(g))return O(g);l=setTimeout(C,b(g))}function O(g){return l=void 0,f&&a?h(g):(a=o=void 0,s)}function x(){l!==void 0&&clearTimeout(l),d=0,a=c=o=l=void 0}function w(){return l===void 0?s:O(Ha())}function A(){var g=Ha(),B=y(g);if(a=arguments,o=this,c=g,B){if(l===void 0)return k(c);if(m)return clearTimeout(l),l=setTimeout(C,n),h(c)}return l===void 0&&(l=setTimeout(C,n)),s}return A.cancel=x,A.flush=w,A}var a0="__lodash_hash_undefined__";function o0(e){return this.__data__.set(e,a0),this}function r0(e){return this.__data__.has(e)}function Yn(e){var n=-1,i=e==null?0:e.length;for(this.__data__=new gt;++n<i;)this.add(e[n])}Yn.prototype.add=Yn.prototype.push=o0,Yn.prototype.has=r0;function Ll(e,n,i,a){for(var o=e.length,r=i+(a?1:-1);a?r--:++r<o;)if(n(e[r],r,e))return r;return-1}function s0(e){return e!==e}function l0(e,n,i){for(var a=i-1,o=e.length;++a<o;)if(e[a]===n)return a;return-1}function c0(e,n,i){return n===n?l0(e,n,i):Ll(e,s0,i)}function d0(e,n){var i=e==null?0:e.length;return!!i&&c0(e,n,0)>-1}function p0(e,n,i){for(var a=-1,o=e==null?0:e.length;++a<o;)if(i(n,e[a]))return!0;return!1}function Pl(e,n){return e.has(n)}function u0(){}function Ka(e){var n=-1,i=Array(e.size);return e.forEach(function(a){i[++n]=a}),i}var m0=1/0,g0=un&&1/Ka(new un([,-0]))[1]==m0?function(e){return new un(e)}:u0,f0=200;function A0(e,n,i){var a=-1,o=d0,r=e.length,s=!0,l=[],c=l;if(i)s=!1,o=p0;else if(r>=f0){var d=n?null:g0(e);if(d)return Ka(d);s=!1,o=Pl,c=new Yn}else c=n?[]:l;e:for(;++a<r;){var u=e[a],m=n?n(u):u;if(u=i||u!==0?u:0,s&&m===m){for(var f=c.length;f--;)if(c[f]===m)continue e;n&&c.push(m),l.push(u)}else o(c,m,i)||(c!==l&&c.push(m),l.push(u))}return l}function Ul(e){return e&&e.length?A0(e):[]}var h0=0;function Yl(e){var n=++h0;return rl(e)+n}function y0(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 Gl=Math.max;function b0(e,n,i){return n=Gl(n===void 0?e.length-1:n,0),function(){for(var a=arguments,o=-1,r=Gl(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),y0(e,this,l)}}function w0(e){return function(){return e}}var C0=wi?function(e,n){return wi(e,"toString",{configurable:!0,enumerable:!1,value:w0(n),writable:!0})}:fi;const E0=C0;var k0=800,B0=16,O0=Date.now;function S0(e){var n=0,i=0;return function(){var a=O0(),o=B0-(a-i);if(i=a,o>0){if(++n>=k0)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var I0=S0(E0);function x0(e,n){return I0(b0(e,n,fi),e+"")}function M0(e,n,i){if(!Oe(i))return!1;var a=typeof n;return(a=="number"?dn(i)&&Ia(n,i.length):a=="string"&&n in i)?Dn(i[n],e):!1}var Fl=Object.prototype,v0=Fl.hasOwnProperty,Et=x0(function(e,n){e=Object(e);var i=-1,a=n.length,o=a>2?n[2]:void 0;for(o&&M0(n[0],n[1],o)&&(a=1);++i<a;)for(var r=n[i],s=Ei(r),l=-1,c=s.length;++l<c;){var d=s[l],u=e[d];(u===void 0||Dn(u,Fl[d])&&!v0.call(e,d))&&(e[d]=r[d])}return e}),T0=Je.isFinite;function R0(e){return typeof e=="number"&&T0(e)}var Hl=1/0,N0=17976931348623157e292;function V0(e){if(!e)return e===0?e:0;if(e=za(e),e===Hl||e===-Hl){var n=e<0?-1:1;return n*N0}return e===e?e:0}function zl(e){var n=V0(e),i=n%1;return n===n?i?n-i:n:0}function j0(e){return typeof e=="number"&&e==zl(e)}var D0="[object Number]";function qa(e){return typeof e=="number"||st(e)&&Ct(e)==D0}var Kl=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,kt="\\d\\d?",Bt="\\d\\d",L0="\\d{3}",P0="\\d{4}",Gn="[^\\s]+",ql=/\[([^]*?)\]/gm;function Xl(e,n){for(var i=[],a=0,o=e.length;a<o;a++)i.push(e[a].substr(0,n));return i}var Jl=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 Ht(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 Zl=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Wl=["January","February","March","April","May","June","July","August","September","October","November","December"],U0=Xl(Wl,3),Y0=Xl(Zl,3),Ql={dayNamesShort:Y0,dayNames:Zl,monthNamesShort:U0,monthNames:Wl,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},Bi=Ht({},Ql),G0=function(e){return Bi=Ht(Bi,e)},_l=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},Ge=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},F0={D:function(e){return String(e.getDate())},DD:function(e){return Ge(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return Ge(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return Ge(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return Ge(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return Ge(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return Ge(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return Ge(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return Ge(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return Ge(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return Ge(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return Ge(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+Ge(Math.floor(Math.abs(n)/60),2)+":"+Ge(Math.abs(n)%60,2)}},$l=function(e){return+e-1},ec=[null,kt],tc=[null,Gn],nc=["isPm",Gn,function(e,n){var i=e.toLowerCase();return i===n.amPm[0]?0:i===n.amPm[1]?1:null}],ic=["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}],H0={D:["day",kt],DD:["day",Bt],Do:["day",kt+Gn,function(e){return parseInt(e,10)}],M:["month",kt,$l],MM:["month",Bt,$l],YY:["year",Bt,function(e){var n=new Date,i=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?i-1:i)+e)}],h:["hour",kt,void 0,"isPm"],hh:["hour",Bt,void 0,"isPm"],H:["hour",kt],HH:["hour",Bt],m:["minute",kt],mm:["minute",Bt],s:["second",kt],ss:["second",Bt],YYYY:["year",P0],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",Bt,function(e){return+e*10}],SSS:["millisecond",L0],d:ec,dd:ec,ddd:tc,dddd:tc,MMM:["month",Gn,Jl("monthNamesShort")],MMMM:["month",Gn,Jl("monthNames")],a:nc,A:nc,ZZ:ic,Z:ic},Oi={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"},z0=function(e){return Ht(Oi,e)},K0=function(e,n,i){if(n===void 0&&(n=Oi.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=Oi[n]||n;var a=[];n=n.replace(ql,function(r,s){return a.push(s),"@@@"});var o=Ht(Ht({},Bi),i);return n=n.replace(Kl,function(r){return F0[r](e,o)}),n.replace(/@@@/g,function(){return a.shift()})};function q0(e,n,i){if(i===void 0&&(i={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Oi[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(ql,function(w,A){return s.push(_l(A)),"@@@"}),c={},d={};l=_l(l).replace(Kl,function(w){var A=H0[w],g=A[0],B=A[1],E=A[3];if(c[g])throw new Error("Invalid format. "+g+" specified twice in format");return c[g]=!0,E&&(d[E]=!0),r.push(A),"("+B+")"}),Object.keys(d).forEach(function(w){if(!c[w])throw new Error("Invalid format. "+w+" 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 m=Ht(Ht({},Bi),i),f=1;f<u.length;f++){var h=r[f-1],k=h[0],b=h[2],y=b?b(u[f],m):+u[f];if(y==null)return null;o[k]=y}o.isPm===1&&o.hour!=null&&+o.hour!=12?o.hour=+o.hour+12:o.isPm===0&&+o.hour==12&&(o.hour=0);var C;if(o.timezoneOffset==null){C=new Date(o.year,o.month,o.day,o.hour,o.minute,o.second,o.millisecond);for(var O=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],f=0,x=O.length;f<x;f++)if(c[O[f][0]]&&o[O[f][0]]!==C[O[f][1]]())return null}else if(C=new Date(Date.UTC(o.year,o.month,o.day,o.hour,o.minute-o.timezoneOffset,o.second,o.millisecond)),o.month>11||o.month<0||o.day>31||o.day<1||o.hour>23||o.hour<0||o.minute>59||o.minute<0||o.second>59||o.second<0)return null;return C}var ct={format:K0,parse:q0,defaultI18n:Ql,setGlobalDateI18n:G0,setGlobalDateMasks:z0};const Re={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 Ze(e,n,i=Re){return Ee(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 zt={resources:Re,required(e,n,i,a=Re){return Ze(e,n.required,a)},number(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=[];return R0(e)?(!Ee(n.min)&&e<n.min&&r.push(be(a.numberTooSmall,n.min)),!Ee(n.max)&&e>n.max&&r.push(be(a.numberTooBig,n.max))):r.push(be(a.invalidNumber)),r},integer(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=zt.number(e,n,i,a);return j0(e)||r.push(be(a.invalidInteger)),r},double(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!qa(e)||isNaN(e))return[be(a.invalidNumber)]},string(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=[];return Gt(e)?(!Ee(n.min)&&e.length<n.min&&r.push(be(a.textTooSmall,e.length,n.min)),!Ee(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=Re){if(n.required){if(!Array.isArray(e))return[be(a.thisNotArray)];if(e.length===0)return[be(a.fieldIsRequired)]}if(!Ee(e)){if(!Ee(n.min)&&e.length<n.min)return[be(a.selectMinItems,n.min)];if(!Ee(n.max)&&e.length>n.max)return[be(a.selectMaxItems,n.max)]}},date(e,n,i,a=Re){const o=Ze(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(!Ee(n.min)){const l=new Date(n.min);r.valueOf()<l.valueOf()&&s.push(be(a.dateIsEarly,ct.format(r),ct.format(l)))}if(!Ee(n.max)){const l=new Date(n.max);r.valueOf()>l.valueOf()&&s.push(be(a.dateIsLate,ct.format(r),ct.format(l)))}return s},regexp(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!Ee(n.pattern)&&!new RegExp(n.pattern).test(e))return[be(a.invalidFormat)]},email(e,n,i,a=Re){const o=Ze(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=Re){const o=Ze(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=Re){const o=Ze(e,n.required,a);if(o!=null)return o;const r=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!r.test(s))return[be(a.invalidCard)];let l=0,c,d,u;for(let m=s.length-1;m>=0;m--)c=s.substring(m,m+1),d=parseInt(c,10),u?(d*=2,d>=10?l+=d%10+1:l+=d):l+=d,u=!u;if(!(l%10===0&&s))return[be(a.invalidCardNumber)]},alpha(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z]*$/.test(e))return[be(a.invalidTextContainNumber)]},alphaNumeric(e,n,i,a=Re){const o=Ze(e,n.required,a);if(o!=null)return o;if(!/^[a-zA-Z0-9]*$/.test(e))return[be(a.invalidTextContainSpec)]}};Object.keys(zt).forEach(e=>{const n=zt[e];oe(n)&&(n.locale=i=>(a,o,r)=>n(a,o,r,Et(i,Re)))});function ac(e){return Gt(e)?zt[e]!=null?zt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function Xa(e,n,i){let a=ee(i.context,"schema.attributes",{});const o=n.value||"input";Gt(o)&&(a=ee(a,o)||a),Le(a,(r,s)=>{e.setAttribute(s,r)})}const se={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:Xa,updated:Xa,componentUpdated:Xa}},computed:{value:{cache:!1,get(){let e;return oe(ee(this.schema,"get"))?e=this.schema.get(this.model):e=ee(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),oe(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=ee(this.formOptions,"validateAsync",!1);let i=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const o=[];Array.isArray(this.schema.validator)?Le(this.schema.validator,r=>{o.push(ac(r).bind(this))}):o.push(ac(this.schema.validator).bind(this)),Le(o,r=>{if(n)i.push(r(this.value,this.schema,this.model));else{const s=r(this.value,this.schema,this.model);s&&oe(s.then)?s.then(l=>{l&&(this.errors=this.errors.concat(l));const c=this.errors.length===0;this.$emit("validated",c,this.errors,this)}):s&&(i=i.concat(s))}})}const a=o=>{let r=[];Le(Ul(o),l=>{Array.isArray(l)&&l.length>0?r=r.concat(l):Gt(l)&&r.push(l)}),oe(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(){oe(this.debouncedValidateFunc)||(this.debouncedValidateFunc=Un(this.validate.bind(this),ee(this.schema,"validateDebounceTime",ee(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let i=!1;oe(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),oe(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),ee(this.formOptions,"validateAfterChanged",!1)===!0&&(ee(this.schema,"validateDebounceTime",ee(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=ee(this.formOptions,"fieldIdPrefix","");return Fa(e,i)+(n?"-"+Yl():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return ee(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},X0={mixins:[se]},J0=["id","autocomplete","disabled","name","required"];function Z0(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("input",{id:e.getFieldID(e.schema),type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,class:t.normalizeClass(e.schema.fieldClasses),required:e.schema.required},null,10,J0)),[[t.vModelCheckbox,e.value],[s,"input"]])}const Q=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},W0=Q(X0,[["render",Z0]]);var Q0=4;function oc(e){return Pn(e,Q0)}const _0={class:"wrapper"},$0=["disabled"],eB=["id","checked","disabled","onChange","name"],tB=["disabled"],nB={class:"info"},iB=t.createElementVNode("div",{class:"arrow"},null,-1),aB={class:"dropList"},oB=["id","checked","disabled","onChange","name"];function rB(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",_0,[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:c=>r.onChanged(c,l),name:r.getInputName(l)},null,40,eB),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256))],8,$0)):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",nB,t.toDisplayString(r.selectedCount)+" selected",1),iB],2),t.createElementVNode("div",aB,[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:c=>r.onChanged(c,l),name:r.getInputName(l)},null,40,oB),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,tB))])),[[s,"wrapper"]])}const sB={mixins:[se],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?jl(this.schema.inputName+"_"+this.getItemValue(e)):jl(this.getItemValue(e))},getItemValue(e){if(Oe(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(Oe(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((Ee(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const i=oc(this.value);i.push(this.getItemValue(n)),this.value=i}else{const i=oc(this.value);i.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=i}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},lB=Q(sB,[["render",rB]]);function cB(e){const n=t.ref([]),i=t.ref(null),a=b=>Gt(b)?zt[b]!=null?zt[b]:(console.warn(`'${b}' is not a validator function!`),null):b,o=t.computed({get(){var b,y;let C;return oe(ee(e.schema,"get"))?C=e.schema.get((b=e.model)==null?void 0:b.value):C=ee((y=e.model)==null?void 0:y.value,e.schema.model),h(C)},set(b){const y=o;b=k(b),oe(b)?b(b,y):l(b,y)}}),r=b=>{var y;c();const C=(y=e.schema)==null?void 0:y.validator,O=ee(e.formOptions,"validateAsync",!1);let x=[];if(C&&e.schema.readonly!==!0&&e.disabled!==!0){const A=[];Array.isArray(C)?Le(C,g=>{A.push(a(g))}):A.push(a(C)),Le(A,g=>{var B,E;if(O)x.push(g(o.value,e.schema,(B=e.model)==null?void 0:B.value));else{const M=g(o.value,e.schema,(E=e.model)==null?void 0:E.value);M&&oe(M.then)?M.then(U=>{U&&(n.value=n.value.concat(U));const L=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:L,errors:n.value,field:e.schema})}):M&&(x=x.concat(M))}})}const w=A=>{var g,B;let E=[];if(Le(Ul(A),M=>{Array.isArray(M)&&M.length>0?E=E.concat(M):Gt(M)&&E.push(M)}),oe((g=e.schema)==null?void 0:g.onValidated)&&e.schema.onValidated((B=e.model)==null?void 0:B.value,E,e.schema),!b){const M=E.length===0;e.emitValidated&&e.emitValidated({isValid:M,errors:E,field:e.schema})}return A=E,E};return O?Promise.all(x).then(w):w(x)},s=()=>{oe(i.value)?i.value():i.value=Un(r,ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",500)))},l=(b,y)=>{var C,O,x;let w=!1;oe(e.schema.set)?(e.schema.set((C=e.model)==null?void 0:C.value,b),w=!0):e.schema.model&&(d(e.schema.model,b),w=!0),w&&(e.emitModelUpdated&&(O=e.model)!=null&&O.value&&e.emitModelUpdated({value:b,model:e.schema.model}),oe(e.schema.onChanged)&&e.schema.onChanged((x=e.model)==null?void 0:x.value,b,y,e.schema),ee(e.formOptions,"validateAfterChanged",!1)===!0&&(ee(e.schema,"validateDebounceTime",ee(e.formOptions,"validateDebounceTime",0))>0?s():r()))},c=()=>{n.value.splice(0)},d=(b,y)=>{var C;let O=b.replace(/\[(\w+)\]/g,".$1");O=O.replace(/^\./,"");let x=((C=e.model)==null?void 0:C.value)||{},w=0;const A=O.split("."),g=A.length;for(;w<g;){const B=A[w];if(w<g-1)x[B]!==void 0||(x[B]={}),x=x[B];else{x[B]=y;return}++w}},u=(b,y=!1)=>{const C=ee(e.formOptions,"fieldIdPrefix","");return Fa(b,C)+(y?"-"+Yl():"")},m=b=>`${u(b)}-label`,f=()=>ee(e.schema,"fieldClasses",[]),h=b=>b,k=b=>b;return{value:o,clearValidationErrors:c,getFieldID:u,getLabelId:m,getFieldClasses:f,updateModelValue:l}}const rc={useAbstractFields:cB},dB={class:"form-field-wrapper"},pB=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),{updateModelValue:s,getFieldID:l,clearValidationErrors:c,value:d}=rc.useAbstractFields({model:r.model,schema:a.schema,formOptions:a.formOptions,emitModelUpdated:C=>{o("modelUpdated",C.value,C.model)}});n({clearValidationErrors:c});const u=t.computed(()=>{var C;const O=(C=a.schema)==null?void 0:C.inputType.toLowerCase();return O==="string"?"text":O==="datetime"?"datetime-local":O||"text"}),m={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},f=(C,O)=>{var x,w;let A=C;const g=m[u.value]||"",B=ct.parse(C,g);B&&((x=a.schema)!=null&&x.format?A=ct.format(B,(w=a.schema)==null?void 0:w.format):A=B.valueOf()),s(A,O)},h=(C,O)=>{qa(C)||(C=NaN),s(C,O)},k=C=>{let O=C;switch(u.value){case"number":case"range":qa(parseFloat(C))&&(O=parseFloat(C));break}d.value=O,s(O,C)},b=t.ref(null),y=()=>{var C;oe(b.value)&&((C=b.value)==null||C.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":b.value=Un((C,O)=>{h(C,O)},parseInt(ee(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":b.value=Un((C,O)=>{f(C,O)},parseInt(ee(a.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{u.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):u.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):u.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(C,O)=>{const x=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",dB,[t.createVNode(x,t.mergeProps(C.$attrs,{id:t.unref(l)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||null,help:e.hint?e.hint:u.value==="color"||u.value==="range"?t.unref(d):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(d),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,type:u.value,width:e.schema.width,onBlur:y,"onUpdate:modelValue":k}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","type","width"])])}}}),sc=Q(pB,[["__scopeId","data-v-b6d4701b"]]),uB=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}=rc.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)}}}),mB=Q(uB,[["__scopeId","data-v-852ab959"]]),gB=["disabled"],fB=["id","disabled","name","onClick","value","checked","required"];function AB(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",{class:"radio-list",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>t.withDirectives((t.openBlock(),t.createElementBlock("label",{class:t.normalizeClass(r.getItemCssClasses(l))},[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"radio",disabled:r.isItemDisabled(l)||null,name:r.id,onClick:c=>r.onSelection(l),value:r.getItemValue(l),checked:r.isItemChecked(l)||null,class:t.normalizeClass(e.schema.fieldClasses),required:e.schema.required},null,10,fB),[[s,"input"]]),t.createTextVNode(t.toDisplayString(r.getItemName(l)),1)],2)),[[s,"label"]])),256))],8,gB)),[[s,"wrapper"]])}const hB={mixins:[se],computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},id(){return this.schema.model}},methods:{getItemValue(e){if(Oe(e)){if(typeof this.schema.radiosOptions<"u"&&typeof this.schema.radiosOptions.value<"u")return e[this.schema.radiosOptions.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 `radiosOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/radios.html#radios-field-with-object-values")}else return e},getItemName(e){if(Oe(e)){if(typeof this.schema.radiosOptions<"u"&&typeof this.schema.radiosOptions.name<"u")return e[this.schema.radiosOptions.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 `radiosOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/radios.html#radios-field-with-object-values")}else return e},getItemCssClasses(e){return{"is-checked":this.isItemChecked(e),"is-disabled":this.isItemDisabled(e)}},onSelection(e){this.value=this.getItemValue(e)},isItemChecked(e){return this.getItemValue(e)===this.value},isItemDisabled(e){if(this.disabled)return!0;const n=ee(e,"disabled",!1);return oe(n)?n(this.model):n}}},yB=Q(hB,[["render",AB]]);function bB(e,n){for(var i=-1,a=e==null?0:e.length;++i<a;)if(n(e[i],i,e))return!0;return!1}var wB=1,CB=2;function lc(e,n,i,a,o,r){var s=i&wB,l=e.length,c=n.length;if(l!=c&&!(s&&c>l))return!1;var d=r.get(e),u=r.get(n);if(d&&u)return d==n&&u==e;var m=-1,f=!0,h=i&CB?new Yn:void 0;for(r.set(e,n),r.set(n,e);++m<l;){var k=e[m],b=n[m];if(a)var y=s?a(b,k,m,n,e,r):a(k,b,m,e,n,r);if(y!==void 0){if(y)continue;f=!1;break}if(h){if(!bB(n,function(C,O){if(!Pl(h,O)&&(k===C||o(k,C,i,a,r)))return h.push(O)})){f=!1;break}}else if(!(k===b||o(k,b,i,a,r))){f=!1;break}}return r.delete(e),r.delete(n),f}function EB(e){var n=-1,i=Array(e.size);return e.forEach(function(a,o){i[++n]=[o,a]}),i}var kB=1,BB=2,OB="[object Boolean]",SB="[object Date]",IB="[object Error]",xB="[object Map]",MB="[object Number]",vB="[object RegExp]",TB="[object Set]",RB="[object String]",NB="[object Symbol]",VB="[object ArrayBuffer]",jB="[object DataView]",cc=rt?rt.prototype:void 0,Ja=cc?cc.valueOf:void 0;function DB(e,n,i,a,o,r,s){switch(i){case jB:if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case VB:return!(e.byteLength!=n.byteLength||!r(new ki(e),new ki(n)));case OB:case SB:case MB:return Dn(+e,+n);case IB:return e.name==n.name&&e.message==n.message;case vB:case RB:return e==n+"";case xB:var l=EB;case TB:var c=a&kB;if(l||(l=Ka),e.size!=n.size&&!c)return!1;var d=s.get(e);if(d)return d==n;a|=BB,s.set(e,n);var u=lc(l(e),l(n),a,o,r,s);return s.delete(e),u;case NB:if(Ja)return Ja.call(e)==Ja.call(n)}return!1}var LB=1,PB=Object.prototype,UB=PB.hasOwnProperty;function YB(e,n,i,a,o,r){var s=i&LB,l=Da(e),c=l.length,d=Da(n),u=d.length;if(c!=u&&!s)return!1;for(var m=c;m--;){var f=l[m];if(!(s?f in n:UB.call(n,f)))return!1}var h=r.get(e),k=r.get(n);if(h&&k)return h==n&&k==e;var b=!0;r.set(e,n),r.set(n,e);for(var y=s;++m<c;){f=l[m];var C=e[f],O=n[f];if(a)var x=s?a(O,C,f,n,e,r):a(C,O,f,e,n,r);if(!(x===void 0?C===O||o(C,O,i,a,r):x)){b=!1;break}y||(y=f=="constructor")}if(b&&!y){var w=e.constructor,A=n.constructor;w!=A&&"constructor"in e&&"constructor"in n&&!(typeof w=="function"&&w instanceof w&&typeof A=="function"&&A instanceof A)&&(b=!1)}return r.delete(e),r.delete(n),b}var GB=1,dc="[object Arguments]",pc="[object Array]",Si="[object Object]",FB=Object.prototype,uc=FB.hasOwnProperty;function HB(e,n,i,a,o,r){var s=qe(e),l=qe(n),c=s?pc:mn(e),d=l?pc:mn(n);c=c==dc?Si:c,d=d==dc?Si:d;var u=c==Si,m=d==Si,f=c==d;if(f&&Nn(e)){if(!Nn(n))return!1;s=!0,u=!1}if(f&&!u)return r||(r=new lt),s||Ta(e)?lc(e,n,i,a,o,r):DB(e,n,c,i,a,o,r);if(!(i&GB)){var h=u&&uc.call(e,"__wrapped__"),k=m&&uc.call(n,"__wrapped__");if(h||k){var b=h?e.value():e,y=k?n.value():n;return r||(r=new lt),o(b,y,i,a,r)}}return f?(r||(r=new lt),YB(e,n,i,a,o,r)):!1}function Za(e,n,i,a,o){return e===n?!0:e==null||n==null||!st(e)&&!st(n)?e!==e&&n!==n:HB(e,n,i,a,Za,o)}var zB=1,KB=2;function qB(e,n,i,a){var o=i.length,r=o,s=!a;if(e==null)return!r;for(e=Object(e);o--;){var l=i[o];if(s&&l[2]?l[1]!==e[l[0]]:!(l[0]in e))return!1}for(;++o<r;){l=i[o];var c=l[0],d=e[c],u=l[1];if(s&&l[2]){if(d===void 0&&!(c in e))return!1}else{var m=new lt;if(a)var f=a(d,u,c,e,n,m);if(!(f===void 0?Za(u,d,zB|KB,a,m):f))return!1}}return!0}function mc(e){return e===e&&!Oe(e)}function XB(e){for(var n=pn(e),i=n.length;i--;){var a=n[i],o=e[a];n[i]=[a,o,mc(o)]}return n}function gc(e,n){return function(i){return i==null?!1:i[e]===n&&(n!==void 0||e in Object(i))}}function JB(e){var n=XB(e);return n.length==1&&n[0][2]?gc(n[0][0],n[0][1]):function(i){return i===e||qB(i,e,n)}}function ZB(e,n){return e!=null&&n in Object(e)}function WB(e,n,i){n=sl(n,e);for(var a=-1,o=n.length,r=!1;++a<o;){var s=bi(n[a]);if(!(r=e!=null&&i(e,s)))break;e=e[s]}return r||++a!=o?r:(o=e==null?0:e.length,!!o&&xa(o)&&Ia(s,o)&&(qe(e)||Sa(e)))}function QB(e,n){return e!=null&&WB(e,n,ZB)}var _B=1,$B=2;function eO(e,n){return Ra(e)&&mc(n)?gc(bi(e),n):function(i){var a=ee(i,e);return a===void 0&&a===n?QB(i,e):Za(n,a,_B|$B)}}function tO(e){return function(n){return n==null?void 0:n[e]}}function nO(e){return function(n){return ll(n,e)}}function iO(e){return Ra(e)?tO(bi(e)):nO(e)}function fc(e){return typeof e=="function"?e:e==null?fi:typeof e=="object"?qe(e)?eO(e[0],e[1]):JB(e):iO(e)}function aO(e){return function(n,i,a){var o=Object(n);if(!dn(n)){var r=fc(i);n=pn(n),i=function(l){return r(o[l],l,o)}}var s=e(n,i,a);return s>-1?o[r?n[s]:s]:void 0}}var oO=Math.max;function rO(e,n,i){var a=e==null?0:e.length;if(!a)return-1;var o=i==null?0:zl(i);return o<0&&(o=oO(a+o,0)),Ll(e,fc(n),o)}var sO=aO(rO);const lO=["disabled","name","id"],cO=["disabled"],dO=["label"],pO=["value"],uO=["value"];function mO(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},[r.selectOptions.hideNoneSelectedText?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null},t.toDisplayString(r.selectOptions.noneSelectedText||"<Nothing selected>"),9,cO)),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,l=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[l.group?(t.openBlock(),t.createElementBlock("optgroup",{key:0,label:r.getGroupName(l)},[l.ops?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(l.ops,c=>(t.openBlock(),t.createElementBlock("option",{value:r.getItemValue(c)},t.toDisplayString(r.getItemName(c)),9,pO))),256)):t.createCommentVNode("",!0)],8,dO)):t.createCommentVNode("",!0),l.group?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("option",{key:1,value:r.getItemValue(l)},t.toDisplayString(r.getItemName(l)),9,uO))],64))),256))],10,lO)),[[t.vModelSelect,e.value],[s,"input"]])}const gO={mixins:[se],computed:{selectOptions(){return this.schema.selectOptions||{}},items(){const e=this.schema.values;return typeof e=="function"?this.groupValues(e.apply(this,[this.model,this.schema])):this.groupValues(e)}},methods:{formatValueToField(e){return Ee(e)?null:e},groupValues(e){const n=[];let i={};return e.forEach(a=>{i=null,a.group&&Oe(a)?(i=sO(n,o=>o.group===a.group),i?i.ops.push({id:a.id,name:a.name}):(i={group:"",ops:[]},i.group=a.group,i.ops.push({id:a.id,name:a.name}),n.push(i))):n.push(a)}),n},getGroupName(e){if(e&&e.group)return e.group;throw new Error("Group name is missing! https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")},getItemValue(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.id;throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e},getItemName(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},Ac=Q(gO,[["render",mO]]);var fO="[object Map]",AO="[object Set]",hO=Object.prototype,yO=hO.hasOwnProperty;function bO(e){if(e==null)return!0;if(dn(e)&&(qe(e)||typeof e=="string"||typeof e.splice=="function"||Nn(e)||Ta(e)||Sa(e)))return!e.length;var n=mn(e);if(n==fO||n==AO)return!e.size;if(gi(e))return!tl(e).length;for(var i in e)if(yO.call(e,i))return!1;return!0}const wO=["id","value","name","disabled"];function CO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{id:e.getFieldID(e.schema),type:"submit",value:e.schema.buttonText,onClick:n[0]||(n[0]=(...s)=>r.onClick&&r.onClick(...s)),name:e.schema.inputName,disabled:e.disabled||null,class:t.normalizeClass(e.schema.fieldClasses)},null,10,wO)}const EO={mixins:[se],methods:{onClick(e){if(this.schema.validateBeforeSubmit===!0){e.preventDefault();const n=ee(this.formOptions,"validateAsync",!1),i=this.vfg.validate(),a=o=>{n&&!bO(o)||!n&&!o?oe(this.schema.onValidationError)&&this.schema.onValidationError(this.model,this.schema,o,e):oe(this.schema.onSubmit)&&this.schema.onSubmit(this.model,this.schema,e)};i&&oe(i.then)?i.then(a):a(i)}else oe(this.schema.onSubmit)&&this.schema.onSubmit(this.model,this.schema,e)}}},kO=Q(EO,[["render",CO]]),BO=["id","disabled","maxlength","minlength","placeholder","readonly","required","rows","name"];function OO(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("textarea",{class:t.normalizeClass(["form-control",e.schema.fieldClasses]),"onUpdate:modelValue":n[0]||(n[0]=l=>e.value=l),id:e.getFieldID(e.schema),disabled:e.disabled||null,maxlength:e.schema.max,minlength:e.schema.min,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,rows:e.schema.rows||2,name:e.schema.inputName},null,10,BO)),[[t.vModelText,e.value],[s,"input"]])}const SO={mixins:[se]},hc=Q(SO,[["render",OO]]),IO={class:"wrapper"},xO=["id","name","accept","multiple","placeholder","readonly","required","disabled"];function MO(e,n,i,a,o,r){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",IO,[t.withDirectives(t.createElementVNode("input",{class:"form-control",id:e.getFieldID(e.schema),type:"file",name:e.schema.inputName,onChange:n[0]||(n[0]=(...l)=>r.onChange&&r.onChange(...l)),accept:e.schema.accept,multiple:e.schema.multiple,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,disabled:e.disabled||null},null,40,xO),[[s,"input"]])])),[[s,"wrapper"]])}const vO={mixins:[se],methods:{onChange(e){oe(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,this.schema,e,this)}}},TO=Q(vO,[["render",MO]]),RO=["value","autocomplete","disabled","placeholder","readonly","name","id"];function NO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text",value:e.value,autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,RO)}const VO={mixins:[se],data(){return{cleave:null}},mounted(){this.$nextTick(function(){window.Cleave?(this.cleave=new window.Cleave(this.$el,Et(this.schema.cleaveOptions||{},{creditCard:!1,phone:!1,phoneRegionCode:"AU",date:!1,datePattern:["d","m","Y"],numeral:!1,numeralThousandsGroupStyle:"thousand",numeralDecimalScale:2,numeralDecimalMark:".",blocks:[],delimiter:" ",prefix:null,numericOnly:!1,uppercase:!1,lowercase:!1,maxLength:0})),this.cleave.properties&&this.cleave.properties.hasOwnProperty.call("result")?this.$watch("cleave.properties.result",()=>{this.value=this.cleave.properties.result}):this.$el.addEventListener("input",this.inputChange)):console.warn("Cleave is missing. Please download from https://github.com/nosir/cleave.js/ and load the script in the HTML head section!")})},beforeUnmount(){this.cleave&&(this.cleave.destroy(),this.$el.removeEventListener("input",this.inputChange))},methods:{inputChange(){this.value=this.$el.value}}},jO=Q(VO,[["render",NO]]),yc={formatValueToField(e){if(e!=null){const n=this.schema.format?ct.parse(e,this.schema.format):new Date(e);return ct.format(n,this.getDateFormat())}return e},formatValueToModel(e){if(e!=null){const n=ct.parse(e,this.getDateFormat());this.schema.format?e=ct.format(n,this.schema.format):e=n.valueOf()}return e}},DO={class:"input-group date"},LO=["autocomplete","disabled","placeholder","readonly","name","id"],PO=t.createElementVNode("span",{class:"input-group-addon"},[t.createElementVNode("span",{class:"glyphicon glyphicon-calendar"})],-1);function UO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",DO,[t.withDirectives(t.createElementVNode("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,LO),[[t.vModelText,e.value]]),PO])}const bc="YYYY-MM-DD HH:mm:ss",YO={mixins:[se],mounted(){this.$nextTick(function(){if(window.$&&window.$.fn.datetimepicker){const e=this.$el.querySelector(".form-control");$(this.$el).datetimepicker(Et(this.schema.dateTimePickerOptions||{},{format:bc})).on("dp.change",()=>{this.value=e.value})}else console.warn("Bootstrap datetimepicker library is missing. Please download from https://eonasdan.github.io/bootstrap-datetimepicker/ and load the script and CSS in the HTML head section!")})},beforeUnmount(){window.$&&window.$.fn.datetimepicker&&$(this.$el).data("DateTimePicker").destroy()},methods:{getDateFormat(){return this.schema.dateTimePickerOptions&&this.schema.dateTimePickerOptions.format?this.schema.dateTimePickerOptions.format:bc},...yc}},GO=Q(YO,[["render",UO]]),FO=["autocomplete","disabled","placeholder","readonly","name","id"];function HO(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,debounce:"500",onFocus:n[1]||(n[1]=s=>r.geolocate()),id:e.getFieldID(e.schema)},null,40,FO)),[[t.vModelText,e.value]])}const zO={mixins:[se],data(){return{autocomplete:"",inputs:{street_number:"long_name",route:"long_name",country:"long_name",administrative_area_level_1:"long_name",administrative_area_level_2:"long_name",locality:"long_name",postal_code:"short_name"}}},mounted(){this.$nextTick(()=>{window.google&&window.google.maps&&window.google.maps.places&&window.google.maps.places.Autocomplete?(this.autocomplete=new google.maps.places.Autocomplete(this.$el,{types:["geocode"]}),this.autocomplete.addListener("place_changed",this.pipeAddress)):console.warn("Google Maps API is missing. Please add https://maps.googleapis.com/maps/api/js?key=YOUR_KEY&libraries=places script in the HTML head section!")})},methods:{pipeAddress(){const e=this.autocomplete.getPlace();if(e){this.value=e.formatted_address;const n={};if(e.address_components!==void 0)for(let i=0;i<e.address_components.length;i++){const a=e.address_components[i].types[0];this.inputs[a]&&(n[a]=e.address_components[i][this.inputs[a]])}oe(this.schema.onPlaceChanged)&&this.schema.onPlaceChanged(this.value,n,e,this.model,this.schema)}},geolocate(){navigator.geolocation&&navigator.geolocation.getCurrentPosition(e=>{const n={lat:e.coords.latitude,lng:e.coords.longitude},i=new window.google.maps.Circle({center:n,radius:e.coords.accuracy});this.autocomplete.setBounds(i.getBounds())})}}},KO=Q(zO,[["render",HO]]),qO={class:"wrapper"},XO=["autocomplete","disabled","placeholder","readonly"],JO=["disabled","name"];function ZO(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",qO,[t.withDirectives(t.createElementVNode("input",{class:"form-control link",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>r.wrappedValue=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly},null,8,XO),[[t.vShow,e.schema.hideInput!==!0],[t.vModelText,r.wrappedValue]]),e.schema.browse!==!1?(t.openBlock(),t.createElementBlock("input",{key:0,class:"form-control file",type:"file",disabled:e.disabled||null,onChange:n[1]||(n[1]=(...s)=>r.fileChanged&&r.fileChanged(...s)),name:e.schema.inputName},null,40,JO)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"preview",style:t.normalizeStyle(r.previewStyle)},[t.createElementVNode("div",{class:"remove",title:"Remove image",onClick:n[2]||(n[2]=(...s)=>r.remove&&r.remove(...s))})],4)])}const WO={mixins:[se],computed:{previewStyle(){return this.schema.preview!==!1?{display:"block","background-image":this.value!=null?"url("+this.value+")":"none"}:{display:"none"}},wrappedValue:{get(){return this.value&&this.value.indexOf("data")===0?"<inline base64 image>":this.value},set(e){e&&e.indexOf("http")===0&&(this.value=e)}}},watch:{model:{deep:!0,handler(){const e=this.$el.querySelector("input.file");e&&(e.value="")}}},methods:{remove(){this.value=""},fileChanged(e){const n=new FileReader;n.onload=i=>{this.value=i.target.result},e.target.files&&e.target.files.length>0&&n.readAsDataURL(e.target.files[0])}}},QO=Q(WO,[["render",ZO]]),_O=["autocomplete","disabled","placeholder","readonly","name","id"];function $O(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,_O)),[[t.vModelText,e.value]])}const eS={mixins:[se],mounted(){this.$nextTick(function(){window.$&&window.$.fn.mask?$(this.$el).unmask().mask(this.schema.mask,this.schema.maskOptions):console.warn("JQuery MaskedInput library is missing. Please download from https://github.com/digitalBush/jquery.maskedinput and load the script in the HTML head section!")})},beforeUnmount(){window.$&&window.$.fn.mask&&$(this.$el).unmask()}},tS=Q(eS,[["render",$O]]),nS={mixins:[se],data(){return{slider:null}},computed:{containPips(){return this.schema.noUiSliderOptions&&typeof this.schema.noUiSliderOptions.pips<"u"},containTooltip(){return this.schema.noUiSliderOptions&&this.schema.noUiSliderOptions.tooltips}},watch:{model:{handler(){window.noUiSlider&&this.slider&&this.slider.noUiSlider&&this.slider.noUiSlider.set(this.value)},deep:!0}},mounted(){this.$nextTick(()=>{window.noUiSlider?(this.slider=this.$el,window.noUiSlider.create(this.slider,Et(this.schema.noUiSliderOptions||{},{start:this.getStartValue(),range:{min:this.schema.min,max:this.schema.max}})),this.slider.noUiSlider.on("change",this.onChange.bind(this))):console.warn("noUiSlider is missing. Please download from https://github.com/leongersen/noUiSlider and load the script and CSS in the HTML head section!")})},beforeUnmount(){this.slider&&this.slider.noUiSlider.off("change")},methods:{onChange(e){Array.isArray(e)?this.value=[parseFloat(e[0]),parseFloat(e[1])]:this.value=parseFloat(e)},formatValueToField(e){this.slider!==null&&typeof this.slider.noUiSlider<"u"&&this.slider.noUiSlider.set(e)},formatValueToModel(e){if(typeof this.slider.noUiSlider<"u")return e instanceof Array?[Number(e[0]),Number(e[1])]:Number(e)},getStartValue(){return this.value!=null?this.value:typeof this.schema.noUiSliderOptions<"u"&&this.schema.noUiSliderOptions.double?[this.schema.min,this.schema.min]:this.schema.min}}},iS=["disabled"];function aS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["slider",{"contain-pips":r.containPips,"contain-tooltip":r.containTooltip}]),disabled:e.disabled||null},null,10,iS)}const oS=Q(nS,[["render",aS]]),rS=["autocomplete","disabled","placeholder","readonly","name"];function sS(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("input",{class:"form-control",type:"text","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,rS)),[[t.vModelText,e.value]])}const lS="YYYY-MM-DD",cS={mixins:[se],data(){return{picker:null,options:null}},mounted(){this.initialize(ee(this.schema,"pikadayOptions",{}))},beforeUnmount(){this.picker&&this.picker.destroy()},methods:{getDateFormat(){return ee(this.schema,"pikadayOptions.format",lS)},...yc,initialize(e){this.picker&&this.picker.destroy&&this.picker.destroy(),this.$nextTick(()=>{window.Pikaday?(this.options=Et({},e,{field:this.$el,onSelect:()=>{this.value=this.picker.toString()}}),this.picker=new window.Pikaday(this.options)):console.warn("Pikaday is missing. Please download from https://github.com/dbushell/Pikaday/ and load the script and CSS in the HTML head section!")})}}},dS=Q(cS,[["render",sS]]),pS=["autocomplete","data-disable","data-max","data-min","data-step","placeholder","readonly","name"];function uS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{type:"text",autocomplete:e.schema.autocomplete,"data-disable":e.disabled,"data-max":e.schema.max,"data-min":e.schema.min,"data-step":e.schema.step,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName},null,8,pS)}const mS={mixins:[se],data(){return{slider:null}},watch:{model:{deep:!0,handler(){if(window.$&&window.$.fn.ionRangeSlider){let e,n;Array.isArray(this.value)?[e,n]=this.value:e=this.value,this.slider&&this.slider.update({from:e,to:n})}}}},mounted(){this.$nextTick(function(){if(window.$&&window.$.fn.ionRangeSlider){let e,n;Array.isArray(this.value)?[e,n]=this.value:e=this.value;const i=this;$(this.$el).ionRangeSlider(Et(this.schema.rangeSliderOptions||{},{type:"single",grid:!0,hide_min_max:!0,from:e,to:n,onChange(a){i.slider.options.type==="double"?i.value=[a.from,a.to]:i.value=a.from}})),this.slider=$(this.$el).data("ionRangeSlider")}else console.warn("ion.rangeSlider library is missing. Please download from https://github.com/IonDen/ion.rangeSlider and load the script and CSS in the HTML head section!")})},beforeUnmount(){this.slider&&this.slider.destroy()}},gS=Q(mS,[["render",uS]]),fS=["disabled","multiple","title","name"],AS=["disabled","selected"],hS=["value"];function yS(e,n,i,a,o,r){return t.withDirectives((t.openBlock(),t.createElementBlock("select",{class:"selectpicker","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),disabled:e.disabled||null,multiple:e.schema.multiSelect,title:e.schema.placeholder,"data-width":"100%",name:e.schema.inputName},[e.schema.multiSelect!==!0?(t.openBlock(),t.createElementBlock("option",{key:0,disabled:e.schema.required||null,value:null,selected:e.value==null},null,8,AS)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.items,s=>(t.openBlock(),t.createElementBlock("option",{value:r.getItemValue(s)},t.toDisplayString(r.getItemName(s)),9,hS))),256))],8,fS)),[[t.vModelSelect,e.value]])}const bS={mixins:[se],computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e}},watch:{model:{deep:!0,handler(){$.fn.selectpicker&&$(this.$el).selectpicker("refresh")}}},mounted(){this.$nextTick(function(){$.fn.selectpicker?$(this.$el).selectpicker("destroy").selectpicker(this.schema.selectOptions):console.warn("Bootstrap-select library is missing. Please download from https://silviomoreto.github.io/bootstrap-select/ and load the script and CSS in the HTML head section!")})},beforeUnmount(){$.fn.selectpicker&&$(this.$el).selectpicker("destroy")},methods:{getItemValue(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.value<"u")return e[this.schema.selectOptions.value];if(typeof e.id<"u")return e.id;throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e},getItemName(e){if(Oe(e)){if(typeof this.schema.selectOptions<"u"&&typeof this.schema.selectOptions.name<"u")return e[this.schema.selectOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return e}}},wS=Q(bS,[["render",yS]]),CS=["autocomplete","disabled","placeholder","readonly","name","id"];function ES(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("input",{type:"text",autocomplete:e.schema.autocomplete,disabled:e.disabled||null,placeholder:e.schema.placeholder,readonly:e.schema.readonly,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,CS)}const kS={mixins:[se],data(){return{picker:null}},watch:{model:{deep:!0,handler(){window.$&&window.$.fn.spectrum&&this.picker.spectrum("set",this.value)}},disabled(e){e?this.picker.spectrum("disable"):this.picker.spectrum("enable")}},mounted(){this.$nextTick(function(){window.$&&window.$.fn.spectrum?(this.picker=$(this.$el).spectrum("destroy").spectrum(Et(this.schema.colorOptions||{},{showInput:!0,showAlpha:!0,disabled:this.schema.disabled,allowEmpty:!this.schema.required,preferredFormat:"hex",change:e=>{this.value=e?e.toString():null}})),this.picker.spectrum("set",this.value)):console.warn("Spectrum color library is missing. Please download from http://bgrins.github.io/spectrum/ and load the script and CSS in the HTML head section!")})},beforeUnmount(){this.picker&&this.picker.spectrum("destroy")}},BS=Q(kS,[["render",ES]]),OS=["src"];function SS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("img",{src:r.mapLink},null,8,OS)}const IS={mixins:[se],computed:{mapLink(){let e,n,i;if(this.value){const a=Et(this.schema.staticMapOptions||{},{lat:"lat",lng:"lng",zoom:8,sizeX:640,sizeY:640});e=this.value[a.lat],n=this.value[a.lng],i=`http://maps.googleapis.com/maps/api/staticmap?center=${e},${n}&zoom=${a.zoom}&size=${a.sizeX}x${a.sizeY}`;const o=["scale","format","maptype","language","region","markers","path","visible","style","key","signature"];for(const r of o)typeof a[r]<"u"&&(i+=`&${r}=${a[r]}`)}return i}}},xS=Q(IS,[["render",SS]]),MS=["autocomplete","disabled","name","id"],vS=["data-on","data-off","for"],TS=t.createElementVNode("span",{class:"handle"},null,-1);function RS(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("label",null,[t.withDirectives(t.createElementVNode("input",{type:"checkbox","onUpdate:modelValue":n[0]||(n[0]=s=>e.value=s),autocomplete:e.schema.autocomplete,disabled:e.disabled||null,name:e.schema.inputName,id:e.getFieldID(e.schema)},null,8,MS),[[t.vModelCheckbox,e.value]]),t.createElementVNode("span",{class:"label","data-on":e.schema.textOn||"On","data-off":e.schema.textOff||"Off",for:e.getFieldID(e.schema)},null,8,vS),TS])}const NS={mixins:[se],methods:{formatValueToField(e){return e!=null&&this.schema.valueOn?e===this.schema.valueOn:e},formatValueToModel(e){return e!=null&&this.schema.valueOn?e?this.schema.valueOn:this.schema.valueOff:e}}},VS=Q(NS,[["render",RS]]),jS={mixins:[se],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=""}}},DS={key:0},LS={key:1},PS=["id"],US={key:0},YS=["onUpdate:modelValue"],GS={key:1},FS=["onUpdate:modelValue"],HS={key:2},zS=["onUpdate:modelValue"],KS=["onClick"],qS=t.createElementVNode("option",{value:"string"}," String ",-1),XS=t.createElementVNode("option",{value:"number"}," Number ",-1),JS=t.createElementVNode("option",{value:"boolean"}," Boolean ",-1),ZS=[qS,XS,JS];function WS(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",null,[e.schema.schema?(t.openBlock(),t.createElementBlock("div",DS,[t.createVNode(s,{model:e.value,options:e.formOptions,schema:e.schema.schema},null,8,["model","options","schema"])])):(t.openBlock(),t.createElementBlock("div",LS,[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,(c,d)=>(t.openBlock(),t.createElementBlock("tr",{key:d},[t.createElementVNode("td",null,t.toDisplayString(d),1),o.keyTypes[d]==="string"?(t.openBlock(),t.createElementBlock("td",US,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[d]=u,type:"text"},null,8,YS),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),o.keyTypes[d]==="boolean"?(t.openBlock(),t.createElementBlock("td",GS,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[d]=u,type:"checkbox"},null,8,FS),[[t.vModelCheckbox,e.value[d]]])])):t.createCommentVNode("",!0),o.keyTypes[d]==="number"?(t.openBlock(),t.createElementBlock("td",HS,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":u=>e.value[d]=u,type:"number"},null,8,zS),[[t.vModelText,e.value[d]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:u=>r.removeElement(d)},null,8,KS)])]))),128))],10,PS),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":n[0]||(n[0]=c=>o.newKeyType=c)},ZS,512),[[t.vModelSelect,o.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[1]||(n[1]=c=>o.newKeyName=c),type:"text"},null,512),[[t.vModelText,o.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:n[2]||(n[2]=(...c)=>r.addKey&&r.addKey(...c))})]))])),[[l,o.attributes]])}const wc=Q(jS,[["render",WS]]),QS={mixins:[se],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(c=>n.find(d=>d.model===c)),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(c=>c===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)}}},Cc=e=>(t.pushScopeId("data-v-22600a29"),e=e(),t.popScopeId(),e),_S=["id"],$S=["data-testid"],eI={class:"item-wrapper"},tI={class:"index-wrapper"},nI=Cc(()=>t.createElementVNode("hr",{class:"divider"},null,-1)),iI={key:0},aI={key:1},oI=["onUpdate:modelValue","placeholder","onInput"],rI={key:0,class:"hint"},sI=Cc(()=>t.createElementVNode("hr",{class:"wide-divider"},null,-1)),lI={class:"input-item"},cI=["placeholder"],dI={key:0,class:"hint"};function pI(e,n,i,a,o,r){const s=t.resolveComponent("KIcon"),l=t.resolveComponent("KButton"),c=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,(d,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,"data-testid":`field-object-key-${u}`},[t.createElementVNode("div",null,[t.createElementVNode("div",eI,[t.createElementVNode("div",tI,[t.createElementVNode("strong",null,t.toDisplayString(u),1),t.createElementVNode("div",null,[t.createVNode(l,{appearance:"tertiary",class:"delete",type:"button",onClick:m=>r.removeElement(u)},{default:t.withCtx(()=>[t.createVNode(s,{icon:"trash",size:"18"})]),_:2},1032,["onClick"])])]),nI,r.subSchema?(t.openBlock(),t.createElementBlock("div",iI,[t.createVNode(c,{model:r.transformedModel[u],options:{helpAsHtml:!0},schema:r.subSchema,onModelUpdated:r.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",aI,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":m=>e.value[u]=m,class:"form-control",placeholder:e.schema.fields&&e.schema.fields[0].schema.placeholder,type:"text",onInput:m=>r.updateModel(e.value[u],e.model[e.schema.model])},null,40,oI),[[t.vModelText,e.value[u]]]),e.schema.fields&&e.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",rI,t.toDisplayString(e.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0)])),sI])])],8,$S))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:r.hasObjectKeys}])},[t.createElementVNode("div",lI,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.newKeyName=d),class:"form-control","data-testid":"keyname-input",placeholder:e.schema.placeholder,type:"text"},null,8,cI),[[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",dI,t.toDisplayString(e.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,_S)}const Ec=Q(QS,[["render",pI],["__scopeId","data-v-22600a29"]]),Ii="24px",kc=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},uI=e=>(t.pushScopeId("data-v-1d2a8d30"),e=e(),t.popScopeId(),e),mI=["aria-hidden"],gI={key:0,"data-testid":"kui-icon-svg-title"},fI=uI(()=>t.createElementVNode("path",{d:"M11 19V13H5V11H11V5H13V11H19V13H13V19H11Z",fill:"currentColor"},null,-1)),AI=t.defineComponent({__name:"AddIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Ii,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const o=String(n.size).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Ii}),a=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(o,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon add-icon","data-testid":"kui-icon-wrapper-add-icon",style:t.normalizeStyle(a.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-add-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",gI,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),fI],8,mI))]),_:1},8,["aria-hidden","style"]))}}),hI=kc(AI,[["__scopeId","data-v-1d2a8d30"]]),yI=e=>(t.pushScopeId("data-v-b199fa56"),e=e(),t.popScopeId(),e),bI=["aria-hidden"],wI={key:0,"data-testid":"kui-icon-svg-title"},CI=yI(()=>t.createElementVNode("path",{d:"M7 21C6.45 21 5.97917 20.8042 5.5875 20.4125C5.19583 20.0208 5 19.55 5 19V6H4V4H9V3H15V4H20V6H19V19C19 19.55 18.8042 20.0208 18.4125 20.4125C18.0208 20.8042 17.55 21 17 21H7ZM17 6H7V19H17V6ZM9 17H11V8H9V17ZM13 17H15V8H13V17Z",fill:"currentColor"},null,-1)),EI=t.defineComponent({__name:"TrashIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Ii,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const o=String(n.size).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Ii}),a=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(o,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trash-icon","data-testid":"kui-icon-wrapper-trash-icon",style:t.normalizeStyle(a.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trash-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",wI,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),CI],8,bI))]),_:1},8,["aria-hidden","style"]))}}),xi=kc(EI,[["__scopeId","data-v-b199fa56"]]),kI={class:"array-item"},BI=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",kI,[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(xi))]),_:1})])}}}),Bc=Q(BI,[["__scopeId","data-v-ec926551"]]),OI=e=>(t.pushScopeId("data-v-27d212bd"),e=e(),t.popScopeId(),e),SI={class:"multi-item-wrapper"},II=OI(()=>t.createElementVNode("hr",null,null,-1)),xI=t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",SI,[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(()=>[t.createTextVNode(" - Remove Field ")]),_:1}),II])}}}),Oc=Q(xI,[["__scopeId","data-v-27d212bd"]]),MI={name:"FieldMetric",components:{AddIcon:hI,TrashIcon:xi},mixins:[se],emits:["remove-item"],data(){return{contentVisible:!1}}},vI={key:0,class:"content"};function TI(e,n,i,a,o,r){const s=t.resolveComponent("AddIcon"),l=t.resolveComponent("TrashIcon"),c=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]=d=>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",vI,[t.renderSlot(e.$slots,"default"),t.createVNode(c,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=d=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(l)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Sc=Q(MI,[["render",TI]]),Ot="kong-ui-forms-api",RI="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}";function NI(e){return e?e.length===36&&new RegExp(`^${RI}$`).test(e):!1}const Wa=50,Kt={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 VI(e,n,i){return i?Kt.SET_REFERRAL_VALUE:e&&!n||!e&&n?Kt.UPDATE_ENTITY:e&&n?Kt.CREATE_FROM_ENTITY:Kt.CREATE_NOT_FROM_ENTITY}const jI={mixins:[se],inject:[Ot],emits:["model-updated"],data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return VI(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}},watch:{idValue:{handler(e,n){e!==n&&this.updateModel(e)}}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Kt.UPDATE_ENTITY:if(!this[Ot]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[Ot].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 Kt.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Kt.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=Un(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;NI(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[Ot])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<Wa;){const a=await this[Ot].getAll(this.entity,{size:Wa,offset:i,...e});if(n.push(...a.data.data),i=a.data.offset,!i)break}return n.slice(0,Wa)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[Ot]?(await this[Ot].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}}},DI={class:"field-wrap autosuggest"},LI=["data-testid","data-testlabel"],PI=["data-testid"],UI={class:"autosuggest__results_message"};function YI(e,n,i,a,o,r){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock("div",DI,[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,LI),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.getSuggestionLabel(l).split(" - ").slice(1),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,class:"field-span","data-testid":l.id&&`${l.id}-${d+1}`||d+1},t.toDisplayString(c),9,PI))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",UI,[t.createElementVNode("span",null,t.toDisplayString(o.message),1)])]),_:1},8,["id","modelValue","items","loading","placeholder","onChange","onQueryChange"])])}const Ic=Q(jI,[["render",YI],["__scopeId","data-v-d0c3e2aa"]]),GI={class:"array-card-container"},FI=t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null}},emits:["remove-item"],setup(e){return(n,i)=>{const a=t.resolveComponent("KCard"),o=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",GI,[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(xi))]),_:1})])}}}),xc=Q(FI,[["__scopeId","data-v-5fa27cb4"]]),HI={mixins:[se],emits:["model-updated"],methods:{updateModel(e){this.$emit("model-updated",e,this.schema.model)},checkOption(e){return this.model[this.schema.model]?e.value.toString()===this.model[this.schema.model].toString():e.checked},onChange(e){let n=e.target.value.split(",");this.schema.array||(n=n.toString()),this.updateModel(n)}}},zI={class:"selection-group"},KI={class:"form-group"},qI=["id","checked","name","value"];function XI(e,n,i,a,o,r){return t.openBlock(),t.createElementBlock("div",zI,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(s,l)=>(t.openBlock(),t.createElementBlock("div",{key:l,class:"option-group"},[t.createElementVNode("div",KI,[t.createElementVNode("label",{class:t.normalizeClass(["k-label",s.name])},[t.createElementVNode("input",{id:e.schema.name+"-"+l,checked:r.checkOption(s),class:"k-input",name:e.schema.name,type:"radio",value:s.value,onChange:n[0]||(n[0]=(...c)=>r.onChange&&r.onChange(...c))},null,40,qI),t.createTextVNode(" "+t.toDisplayString(s.name),1)],2)])]))),128))])}const Mc=Q(HI,[["render",XI],["__scopeId","data-v-7e49acd6"]]),JI={name:"FieldArray",components:{FieldArrayItem:Bc,FieldArrayMultiItem:Oc,FieldSelect:Ac,FieldMetric:Sc,FieldObject:wc,FieldObjectAdvanced:Ec,FieldAutoSuggest:Ic,FieldRadio:Mc,FieldArrayCardContainer:xc,FieldTextArea:hc,FieldInput:sc},mixins:[se],props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},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,c){e[i]=c},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.splice(e,1)},getFieldType(e){return"field-"+e.type},modelUpdated(){}}},ZI=["id"],WI={key:1},QI=["onUpdate:modelValue","aria-labelledby","type"],_I=["value","onClick"],$I=["onUpdate:modelValue","aria-labelledby"],ex=["value","onClick"];function tx(e,n,i,a,o,r){const s=t.resolveComponent("FieldTextArea"),l=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,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:t.normalizeClass(e.schema.fieldItemsClasses)},[e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:0,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onRemoveItem:u=>r.removeElement(d)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onModelUpdated:r.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",WI,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(r.getFieldType(e.schema.items)),{"form-options":e.formOptions,model:c,schema:r.generateSchema(e.value,e.schema.items,d),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-${d}`,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onRemoveItem:u=>r.removeElement(d)},{default:t.withCtx(()=>{var u,m;return[((u=e.schema.inputAttributes)==null?void 0:u.type)==="textarea"?(t.openBlock(),t.createBlock(s,{key:0,"aria-labelledby":e.getLabelId(e.schema),class:"k-input","form-options":e.formOptions,model:c,schema:r.generateSchema(e.value,e.schema.items,d),onModelUpdated:r.modelUpdated},null,8,["aria-labelledby","form-options","model","schema","onModelUpdated"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:1,"onUpdate:modelValue":f=>e.value[d]=f,"aria-labelledby":e.getLabelId(e.schema),ref_for:!0},e.schema.inputAttributes,{type:((m=e.schema.inputAttributes)==null?void 0:m.type)||"text"}),null,16,QI)),[[t.vModelDynamic,e.value[d]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:f=>r.removeElement(d)}),null,16,_I)):t.createCommentVNode("",!0)]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:3,ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":u=>e.value[d]=u,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,$I)),[[t.vModelText,e.value[d]]]),e.schema.showRemoveButton?(t.openBlock(),t.createElementBlock("input",t.mergeProps({key:4,ref_for:!0},e.schema.removeElementButtonAttributes,{type:"button",value:e.schema.removeElementButtonLabel||i.removeElementButtonLabel,onClick:u=>r.removeElement(d)}),null,16,ex)):t.createCommentVNode("",!0)],2))),128)),t.createVNode(l,{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,ZI)):t.createCommentVNode("",!0)}const nx=Q(JI,[["render",tx],["__scopeId","data-v-c42fe627"]]),ix={mixins:[se],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)}}},ax={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},ox={class:"material-icons"};function rx(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",ax,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:n[0]||(n[0]=(...l)=>r.handleOpen&&r.handleOpen(...l))},[t.createElementVNode("i",ox,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 sx=Q(ix,[["render",rx],["__scopeId","data-v-2d8e71e1"]]),lx={mixins:[se],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)}}},cx={class:"selection-group"},dx={class:"form-group"},px=["value"],ux={class:"control-help"},mx={class:"option-field"},gx={class:"option-field-container"};function fx(e,n,i,a,o,r){const s=t.resolveComponent("vue-form-generator");return t.openBlock(),t.createElementBlock("div",cx,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.fields,(l,c)=>(t.openBlock(),t.createElementBlock("div",{key:c,class:"option-group"},[t.createElementVNode("div",dx,[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${l.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":n[0]||(n[0]=d=>o.checkedGroup=d),class:"k-input",type:"radio",value:c},null,8,px),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(l.label)+" ",1),t.createElementVNode("div",ux,t.toDisplayString(l.description),1)],2)]),t.withDirectives(t.createElementVNode("div",mx,[t.createElementVNode("div",gx,[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===c]])]))),128))])}const Ax=Q(lx,[["render",fx],["__scopeId","data-v-25fe24da"]]),hx={mixins:[se],emits:["model-updated"],methods:{onUpdate(e){this.$emit("model-updated",e,this.schema.model)}}};function yx(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 bx=Q(hx,[["render",yx]]),wx={name:"FieldKeyValuePairs",components:{TrashIcon:xi},mixins:[se],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)}}},Cx={class:"key-value-pairs-editor"},Ex=["data-testid","placeholder","value","onInput"],kx=["data-testid","placeholder","value","onInput"];function Bx(e,n,i,a,o,r){const s=t.resolveComponent("TrashIcon"),l=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Cx,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.pairs,(c,d)=>(t.openBlock(),t.createElementBlock("div",{key:d,class:"pair-item"},[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${d}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:c.key,onInput:u=>{r.onInput(u,d,"key")}},null,40,Ex),t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${d}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:c.value,onInput:u=>{r.onInput(u,d,"value")}},null,40,kx),t.createVNode(l,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${d}`,onClick:()=>{r.removePair(d)}},{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 Ox=Q(wx,[["render",Bx],["__scopeId","data-v-29d15375"]]),Sx=Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:sx,FieldArray:nx,FieldArrayCardContainer:xc,FieldArrayItem:Bc,FieldArrayMultiItem:Oc,FieldAutoSuggest:Ic,FieldCheckbox:W0,FieldChecklist:lB,FieldCleave:jO,FieldDateTimePicker:GO,FieldGoogleAddress:KO,FieldImage:QO,FieldInput:sc,FieldKeyValuePairs:Ox,FieldLabel:mB,FieldMasked:tS,FieldMetric:Sc,FieldMultiselect:bx,FieldNoUiSlider:oS,FieldObject:wc,FieldObjectAdvanced:Ec,FieldPikaday:dS,FieldRadio:Mc,FieldRadios:yB,FieldRangeSlider:gS,FieldSelect:Ac,FieldSelectEx:wS,FieldSelectionGroup:Ax,FieldSpectrum:BS,FieldStaticMap:xS,FieldSubmit:kO,FieldTextArea:hc,FieldUpload:TO,fieldSwitch:VS},Symbol.toStringTag,{value:"Module"})),Ix={name:"FormGroup",components:Sx,mixins:[cl],props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated"],data(){return{child:t.ref()}},methods:{fieldTypeHasLabel(e){if(Ee(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=ee(this.options,"fieldIdPrefix","");return Fa(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldType(e){return"field-"+e.type},getButtonType(e){return ee(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 oe(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},xx=e=>(t.pushScopeId("data-v-239269fd"),e=e(),t.popScopeId(),e),Mx=["innerHTML"],vx={class:"icon-wrapper"},Tx=["innerHTML"],Rx={key:0,class:"link-wrapper"},Nx=xx(()=>t.createElementVNode("span",{class:"section-header"},"More info",-1)),Vx={class:"field-wrap"},jx={key:0,class:"buttons"},Dx=["type","onClick","textContent"],Lx=["innerHTML"],Px={key:2,class:"errors help-block"},Ux=["innerHTML"];function Yx(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",vx,[t.createElementVNode("span",{innerHTML:r.formattedLabel(i.field.label)},null,8,Tx)]),i.field.link?(t.openBlock(),t.createElementBlock("div",Rx,[t.createVNode(s,{href:i.field.link},{default:t.withCtx(()=>[Nx]),_: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,Mx)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",Vx,[(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:i.field,vfg:i.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onValidated"])),r.buttonVisibility(i.field)?(t.openBlock(),t.createElementBlock("div",jx,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.field.buttons,(c,d)=>(t.openBlock(),t.createElementBlock("button",{key:d,class:t.normalizeClass(c.classes),type:r.getButtonType(c),onClick:u=>r.buttonClickHandler(c,i.field,u),textContent:t.toDisplayString(c.label)},null,10,Dx))),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,Lx)):t.createCommentVNode("",!0),r.fieldErrors(i.field).length>0?(t.openBlock(),t.createElementBlock("div",Px,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.fieldErrors(i.field),(c,d)=>(t.openBlock(),t.createElementBlock("span",{key:d,innerHTML:c},null,8,Ux))),128))])):t.createCommentVNode("",!0)],2)}const Gx=Q(Ix,[["render",Yx],["__scopeId","data-v-239269fd"]]),Fx={name:"FormGenerator",components:{formGroup:Gx},mixins:[cl],props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}}},emits:["validated","modelUpdated"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&Le(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&Le(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 oe(e.visible)?e.visible.call(this,this.model,e,this):Ee(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&&Le(n,o=>{this.errors.push({field:i.schema,error:o})});const a=this.errors.length===0;this.$emit("validated",a,this.errors,this)},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e=null){e===null&&(e=ee(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],i=[];Le(this.$refs.children,o=>{oe(o.validate)&&(n.push(o.$refs.child),i.push(o.$refs.child.validate(!0)))});const a=o=>{const r=[];Le(o,(l,c)=>{Array.isArray(l)&&l.length>0&&Le(l,d=>{r.push({field:n[c].schema,error:d})})}),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),Le(this.$refs.children,e=>{e.clearValidationErrors()})}}},Hx={key:0,class:"vue-form-generator"},zx={key:0};function Kx(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",Hx,[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,c=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:c.model},[r.fieldVisible(c)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:c,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.groups,(c,d)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${d}`},[c.collapsible!==void 0&&c.collapsible!==!1?(t.openBlock(),t.createBlock(l,{key:0,class:"root-level-collapse","model-value":!1,title:c.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,m,f,h;return[(u=c.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(m=c.slots)==null?void 0:m.beforeContent,{key:0}):t.createCommentVNode("",!0),c.fields.length===0&&(f=c.slots)!=null&&f.emptyState?t.renderSlot(e.$slots,(h=c.slots)==null?void 0:h.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:k,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),c.collapsible!==!0&&c.collapsible.nestedCollapsible&&c.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(l,{key:3,class:"nested-collapse","model-value":o.collapseStates[`group-${d}-nested`]??!0,"trigger-alignment":"leading","trigger-label":o.collapseStates[`group-${d}-nested`]??!0?c.collapsible.nestedCollapsible.triggerLabel.expand:c.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":k=>o.collapseStates[`group-${d}-nested`]=k},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.collapsible.nestedCollapsible.fields,k=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:k.model},[r.fieldVisible(k)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:o.errors,field:k,model:i.model,options:i.options,vfg:o.vfg,onModelUpdated:r.onModelUpdated,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[c.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(c))},{default:t.withCtx(()=>[c.legend?(t.openBlock(),t.createElementBlock("legend",zx,t.toDisplayString(c.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.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,onValidated:r.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const Fe=Q(Fx,[["render",Kx]]),qx={fields:[{inputType:"text",label:"Config.Client Id",model:"config-client_id",type:"input"},{inputType:"text",label:"Config.Client Secret",model:"config-client_secret",type:"input"},{inputType:"text",label:"Config.Issuer",model:"config-issuer",required:!0,type:"input"},{inputType:"text",label:"Config.Auth Methods",model:"config-auth_methods",type:"input"}]},Xx={fields:[{inputType:"text",label:"Config.Scopes Claim",model:"config-scopes_claim",type:"input"},{inputType:"text",label:"Config.Scopes Required",model:"config-scopes_required",type:"input"},{inputType:"text",label:"Config.Audience Claim",model:"config-audience_claim",type:"input"},{inputType:"text",label:"Config.Audience Required",model:"config-audience_required",type:"input"},{inputType:"text",label:"Config.Roles Claim",model:"config-roles_claim",type:"input"},{inputType:"text",label:"Config.Roles Required",model:"config-roles_required",type:"input"},{inputType:"text",label:"Config.Groups Claim",model:"config-groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Groups Required",model:"config-groups_required",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"},{inputType:"text",label:"Config.Authenticated Groups Claim",model:"config-authenticated_groups_claim",type:"array",valueType:"string",valueArrayType:"array",itemContainerComponent:"FieldArrayItem",fieldClasses:"auth-array-item-container",fieldItemsClasses:"auth-array-item",inputAttributes:{class:"form-control",style:{minWidth:"200px"}},validator:"array",newElementButtonLabelClasses:"auth-array-item-new",newElementButtonLabel:"+ Add"}]},Jx={fields:[{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",newElementButtonLabel:"+ Add Client JWK",items:{type:"object",schema:{fields:[{model:"kid",label:"kid",type:"input",inputType:"string"},{model:"issuer",label:"issuer",type:"input",inputType:"string"},{model:"kty",label:"kty",type:"input",inputType:"string"},{model:"use",label:"use",type:"input",inputType:"string"},{model:"key_ops",label:"key_ops",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"alg",label:"alg",type:"input",inputType:"string"},{model:"x5u",label:"x5u",type:"input",inputType:"string"},{model:"x5c",label:"x5c",type:"array",fieldItemsClasses:"jwk-array-input-wrapper",showRemoveButton:!0,removeElementButtonLabel:"Remove",items:{type:"input",inputType:"string"}},{model:"x5t",label:"x5t",type:"input",inputType:"string"},{model:"x5t#S256",label:"x5t#S256",type:"input",inputType:"string"},{model:"k",label:"k",type:"input",inputType:"string"},{model:"x",label:"x",type:"input",inputType:"string"},{model:"y",label:"y",type:"input",inputType:"string"},{model:"crv",label:"crv",type:"input",inputType:"string"},{model:"n",label:"n",type:"input",inputType:"string"},{model:"e",label:"e",type:"input",inputType:"string"},{model:"d",label:"d",type:"input",inputType:"string"},{model:"p",label:"p",type:"input",inputType:"string"},{model:"q",label:"q",type:"input",inputType:"string"},{model:"dp",label:"dp",type:"input",inputType:"string"},{model:"dq",label:"dq",type:"input",inputType:"string"},{model:"qi",label:"qi",type:"input",inputType:"string"},{model:"oth",label:"oth",type:"input",inputType:"string"},{model:"r",label:"r",type:"input",inputType:"string"},{model:"t",label:"t",type:"input",inputType:"string"}]}},model:"config-client_jwk",label:"Config.Client Jwk",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#jwk-record"},{type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper",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"}]}},model:"config-session_redis_cluster_nodes",label:"Config.Session Redis Cluster Nodes",order:0,disabled:!1,link:"https://docs.konghq.com/hub/kong-inc/openid-connect/#host-record"}]},Zx={name:"OIDCForm",components:{VueFormGenerator:Fe},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;this.init||(this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")},this.commonFieldsSchema={...qx},this.authFieldsSchema={...Xx},this.advancedFieldsSchema.fields=this.formSchema.fields.filter(i=>i.model.startsWith("config")&&!this.commonFieldsSchema.fields.filter(a=>a.model===i.model).length&&!this.authFieldsSchema.fields.filter(a=>a.model===i.model).length||i.model==="tags"),this.advancedFieldsSchema.fields=this.advancedFieldsSchema.fields.map(i=>Jx.fields.find(o=>o.model===i.model)||i),this.commonFieldsSchema.fields=this.commonFieldsSchema.fields.filter(i=>i.model!=="config-auth_methods"),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}]);const n={};for(const i of this.formSchema.fields)n[i.model]=i;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()}}},gn=e=>(t.pushScopeId("data-v-e7395ff0"),e=e(),t.popScopeId(),e),Wx={class:"general-settings"},Qx={class:"link-wrapper"},_x=gn(()=>t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)),$x=gn(()=>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)),eM={class:"auth-method-container"},tM={class:"general-settings"},nM={class:"link-wrapper"},iM=gn(()=>t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)),aM=gn(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),oM={class:"general-settings"},rM={class:"link-wrapper"},sM=gn(()=>t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)),lM=gn(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1));function cM(e,n,i,a,o,r){const s=t.resolveComponent("VueFormGenerator"),l=t.resolveComponent("KExternalLink"),c=t.resolveComponent("KLabel"),d=t.resolveComponent("KCheckbox"),u=t.resolveComponent("KInputSwitch"),m=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(m,{tabs:o.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Wx,[t.createElementVNode("div",Qx,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#important-configuration-parameters"},{default:t.withCtx(()=>[_x]),_:1})]),$x,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(c,null,{default:t.withCtx(()=>[t.createTextVNode("Auth Methods")]),_:1}),t.createElementVNode("div",eM,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.authMethods,f=>(t.openBlock(),t.createElementBlock("div",{key:f.value,class:"auth-method"},[t.createVNode(d,{modelValue:f.prop,"onUpdate:modelValue":h=>f.prop=h,onChange:h=>r.handleUpdate(h,f.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(f.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]))),128))]),t.createVNode(u,{modelValue:o.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=f=>o.sessionManagement=f),label:"Enable Session Management",onChange:r.handleUpdate},null,8,["modelValue","onChange"])])]),authorization:t.withCtx(()=>[t.createElementVNode("div",tM,[t.createElementVNode("div",nM,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/#authorization"},{default:t.withCtx(()=>[iM]),_:1})]),aM,r.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:i.formModel,options:i.formOptions,schema:o.authFieldsSchema,onModelUpdated:i.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",oM,[t.createElementVNode("div",rM,[t.createVNode(l,{href:"https://docs.konghq.com/hub/kong-inc/openid-connect/"},{default:t.withCtx(()=>[sM]),_:1})]),lM,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)])]),_:1},8,["tabs"])])}const dM=Q(Zx,[["render",cM],["__scopeId","data-v-e7395ff0"]]),pM={packageName:"forms"},vc={general:pM,"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"}}},uM=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){const{t:n,te:i}=Jt.createI18n("en-us",vc),a=e,o=t.computed(()=>a.formModel.id&&a.isEditing||!a.isEditing),r=t.computed(()=>{const s=a.formSchema;return s.fields.map(l=>{const c=`post-function.${l.model}`;return l.hint=i(`${c}.hint`)&&n(`${c}.hint`)||l.hint,l.help=i(`${c}.help`)&&n(`${c}.help`)||l.help,l.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||l.newElementButtonLabel,l.model!=="tags"&&(l.valueType==="array"||l.type==="array")&&(l.type="array",l.valueArrayType="array",l.itemContainerComponent="FieldArrayItem",l.fieldClasses="post-function-array-item-container",l.fieldItemsClasses="post-function-array-item",l.inputAttributes={...l.inputAttributes,type:"textarea"}),l}),s});return(s,l)=>o.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),mM=Q(uM,[["__scopeId","data-v-6706c68b"]]),gM=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){const{t:n,te:i}=Jt.createI18n("en-us",vc),a=e,o=t.computed(()=>a.formModel.id&&a.isEditing||!a.isEditing),r=t.computed(()=>{const s=a.formSchema;return s.fields.map(l=>{const c=`exit-transformer.${l.model}`;return l.hint=i(`${c}.hint`)&&n(`${c}.hint`)||l.hint,l.help=i(`${c}.help`)&&n(`${c}.help`)||l.help,l.newElementButtonLabel=i(`${c}.newElementButtonLabel`)&&n(`${c}.newElementButtonLabel`)||l.newElementButtonLabel,l.model!=="tags"&&(l.valueType==="array"||l.type==="array")&&(l.type="array",l.valueArrayType="array",l.itemContainerComponent="FieldArrayItem",l.fieldClasses="exit-transformer-array-item-container",l.fieldItemsClasses="exit-transformer-array-item",l.inputAttributes={...l.inputAttributes,type:"textarea"}),l}),s});return(s,l)=>o.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:r.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),fM=Q(gM,[["__scopeId","data-v-0fc8ef29"]]),AM={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}]},hM={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}]},yM={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}]},qt=e=>(t.pushScopeId("data-v-b9df1c3f"),e=e(),t.popScopeId(),e),bM={class:"general-settings"},wM=qt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),CM=qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),EM=qt(()=>t.createElementVNode("hr",null,null,-1)),kM={class:"sub-form"},BM={class:"general-settings"},OM=qt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),SM=qt(()=>t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),IM={class:"sub-form"},xM={class:"general-settings"},MM=qt(()=>t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),vM=qt(()=>t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),TM=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){const n=e,i=t.ref("zeroSsl"),a=t.ref("shm"),o=t.computed(()=>{var A;const g={};if((A=n.formSchema)!=null&&A.fields)for(const B of n.formSchema.fields)g[B.model]=B;return g}),r=t.computed(()=>{var A;const g=Ga(AM);for(const B of g.fields){const E=(A=o.value[B.model])==null?void 0:A.help;B.help===void 0&&typeof E=="string"&&(B.help=E)}return g}),s=t.computed(()=>{var A;const g=Ga(hM);for(const B of g.fields){const E=(A=o.value[B.model])==null?void 0:A.help;B.help===void 0&&typeof E=="string"&&(B.help=E)}return g}),l=t.computed(()=>{var A;const g=Ga(yM);for(const B of g.fields){const E=(A=o.value[B.model])==null?void 0:A.help;B.help===void 0&&typeof E=="string"&&(B.help=E)}return g}),c=t.computed(()=>({fields:n.formSchema.fields.filter(A=>!A.model.startsWith("config")&&A.model!=="tags")})),d=t.computed(()=>({fields:r.value.fields.filter(A=>!s.value.fields.some(g=>g.model===A.model)&&!l.value.fields.some(g=>g.model===A.model))})),u=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage")&&!A.model.startsWith("config-storage_config-consul")&&!A.model.startsWith("config-storage_config-redis")&&!A.model.startsWith("config-storage_config-shm")&&!A.model.startsWith("config-storage_config-vault"))})),m=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-consul"))})),f=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-redis"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-shm"))})),k=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config-storage_config-vault"))})),b=t.computed(()=>({fields:n.formSchema.fields.filter(A=>A.model.startsWith("config")&&!d.value.fields.filter(g=>g.model===A.model).length&&!u.value.fields.filter(g=>g.model===A.model).length||A.model==="tags")})),y=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),C=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],O=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{i.value==="zeroSsl"&&(n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const x=A=>{i.value=A.value,(A.value==="zeroSsl"||A.value==="other")&&(A.value==="zeroSsl"?n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":n.formModel["config-api_uri"]="https://acme.example.com/",n.formModel["config-tos_accepted"]=!1),A.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},w=(A,g)=>{g==="config-storage"&&(a.value=A),n.onModelUpdated()};return(A,g)=>{const B=t.resolveComponent("KSelect"),E=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(Fe,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:c.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(E,{tabs:C},{general:t.withCtx(()=>[t.createElementVNode("div",bM,[wM,CM,y.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),EM,t.createVNode(B,{class:"issuer-select",items:O,label:"Issuer",onChange:x}),t.createElementVNode("div",kM,[i.value==="letsEncrypt"?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),i.value==="zeroSsl"||i.value==="other"?(t.openBlock(),t.createBlock(Fe,{key:1,model:e.formModel,options:e.formOptions,schema:l.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",BM,[OM,SM,y.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:w},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",IM,[a.value==="consul"?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="redis"?(t.openBlock(),t.createBlock(Fe,{key:1,model:e.formModel,options:e.formOptions,schema:f.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="shm"?(t.openBlock(),t.createBlock(Fe,{key:2,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),a.value==="vault"?(t.openBlock(),t.createBlock(Fe,{key:3,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",xM,[MM,vM,y.value?(t.openBlock(),t.createBlock(Fe,{key:0,model:e.formModel,options:e.formOptions,schema:b.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),RM=Q(TM,[["__scopeId","data-v-b9df1c3f"]]),NM=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:RM,ExitTransformer:fM,OIDCForm:dM,PostFunction:mM},Symbol.toStringTag,{value:"Module"})),Qa=["array","metric","advanced","selectionGroup","object-advanced"],Tc=(e,n=!1)=>({...n&&{acme:"ACMEForm"},"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer"})[e],Xt={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldArrayCardContainer",fieldClasses:"array-card-container-wrapper"},VM={"config-prompts-prepend":{...Xt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}},"config-prompts-append":{...Xt,newElementButtonLabel:"+ Add Message",items:{type:"object",schema:{fields:[{label:"Role",model:"role",help:"LLM message role",type:"select",values:["system","assistant","user"]},{label:"Content",model:"content",type:"input",help:"LLM message content",inputType:"text"}]}}}},jM={"config-templates":{...Xt,newElementButtonLabel:"+ Add Template",items:{type:"object",schema:{fields:[{label:"Template Name",model:"name",help:"Template Name, for reference in user requests",type:"input",inputType:"text"},{label:"Template String",model:"template",help:"Template string content, containing {{placeholders}} for variable substitution",type:"textArea",inputType:"text"}]}}}},DM={"config-llm_providers":{...Xt,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",inputType:"number"},{label:"Name",model:"name",help:"The llm providers.",type:"select",values:["anthropic","azure","cohere","llama2","mistral","openai","requestPrompt"]},{label:"Limit",model:"limit",help:"Limit applied to the llm provider.",type:"input",inputType:"number"}]}}}},LM={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:Tn.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"}},Fn={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"},Hn={type:"array",showRemoveButton:!1,newElementButtonLabelClasses:"kong-form-new-element-button-label",itemContainerComponent:"FieldMetric",fieldClasses:"metrics-wrapper"},PM={"config-metrics":{...Hn,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"}]}}}},UM={"config-strategy":{label:"Config.Strategy",type:"select",default:"cluster",values:["cluster","redis"]}},Rc={"config-bootstrap_servers":{...Xt,newElementButtonLabel:"+ Add Bootstrap Server",label:"Bootstrap Server(s)",placeholder:"Enter a Bootstrap Server",help:"Set of bootstrap brokers.",items:{type:"object",schema:{fields:[{label:"Host",model:"host",type:"input",inputType:"text"},{label:"Port",model:"port",type:"input",inputType:"number"}]}}}},YM={"config-api_specification":{label:"Config.API Specification",placeholder:"Enter an API spec",type:"textArea",rows:10}},GM={"config-access":{},"config-body_filter":{},"config-header_filter":{},"config-certificate":{},"config-functions":{},"config-log":{},"config-rewrite":{}},Nc=["config-access","config-body_filter","config-header_filter","config-certificate","config-functions","config-log","config-rewrite"].reduce((e,n)=>({...e,[n]:Tn.fields.arrayItems({newElementButtonLabel:"Add"})}),GM),Mi={"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"}},FM={"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":{}},HM=["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]:Tn.fields.arrayItems({newElementButtonLabel:"Add"})}),FM),zM={"config-parameter_schema":{...Hn,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"}]}}}},KM={"config-rules":{...Xt,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"}]}}}},qM={"config-session_redis_cluster_nodes":{...Xt,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"}]}}}},XM={"config-metrics":{...Hn,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"]}]}}}},JM={"config-allow_status_codes":{type:"input",inputType:"text",valueArrayType:"string",valueType:"array",label:"config.allow_status_codes",help:"A list of status code ranges, separated by commas. e.g. 200-204, 500-505"},"config-metrics":{...Hn,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"]}]}}}},ZM={"config-vault":{type:"AutoSuggest",entity:"vaults",placeholder:"Select a Vault",inputValues:{fields:["prefix","name","id"]},modelTransformer:e=>({id:e}),keyFromObject:"id"}},WM={"config-static_tags":{...Hn,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"}]}}}},QM=(e,n)=>{const i=e.model.startsWith("config-"),a=n.model.startsWith("config-");return i&&!a?1:!i&&a?-1:0},Vc=(e,n)=>(e.order??0)-(n.order??0),jc=(e,n)=>QM(e,n)||Vc(e,n)||e.model.localeCompare(n.model),we={useI18n:mi,usePluginMetaData:tw,usePluginHelpers:Rs,useSchemas:(e,n)=>{const{capitalize:i}=$i(),{convertToDotNotation:a}=Rs(),{i18n:{t:o}}=mi(),r={"application-registration":{overwriteDefault:!0,formSchema:{...LM}},datadog:{...PM},"upstream-tls":{"config-trusted_certificates":{type:"textArea",valueType:"array",rows:4,help:"A comma separated list of certificate values"}},jwt:{...Z1},"kafka-upstream":{...Rc},"kafka-log":{...Rc},statsd:{...XM},"statsd-advanced":{...JM},"route-by-header":{...KM},"ai-prompt-decorator":{...VM},"ai-prompt-template":{...jM},"ai-rate-limiting-advanced":{...DM},"vault-auth":{...ZM},"oas-validation":{"config-api_spec":{type:"textArea",rows:15}},mocking:{...YM},"rate-limiting":{...Mi},"rate-limiting-advanced":(n==null?void 0:n.app)==="kongManager"?{"config-consumer_groups":Mi["config-consumer_groups"]}:{...Mi},"graphql-rate-limiting-advanced":{...UM},"response-ratelimiting":{...Mi},"pre-function":{...Nc},"post-function":{...Nc},"request-transformer-advanced":{...HM},"request-validator":{...zM},zipkin:{...WM},saml:{...qM}},s=()=>["created_at","updated_at","id"],l=(g,B,E)=>{let M={};(B||g)&&(M=B||(g.fields?g.fields:g));const U=s().concat(g.blacklist?g.blacklist:[]),L=Object.keys(M).filter(K=>!U.includes(K)),F=L.indexOf("comparator");F>-1&&L.splice(F,1);let R={fields:[]};const V={};L.forEach(K=>{d(M[K],K,M,V,R,E)});const q=V.name,z=Qe[q];if(!Tc(q)&&(n!=null&&n.groupFields)&&!(z!=null&&z.useLegacyForm)){const K=[],W=[],j=[],D={};if(z!=null&&z.fieldRules){const te=[...z.fieldRules.atLeastOneOf??[],...z.fieldRules.onlyOneOf??[],...z.fieldRules.mutuallyRequired??[]];if(z.fieldRules.onlyOneOfMutuallyRequired)for(const le of z.fieldRules.onlyOneOfMutuallyRequired)te.push(...le);for(const le of te)for(const ve of le)D[ve.replace(/-/g,"_").replace(/\./g,"-")]=!1}for(const te of R.fields){if(te.pinned){K.push(te);continue}if(te.required||D[te.model]!==void 0){D[te.model]===!1&&(D[te.model]=!0),W.push(te);continue}j.push(te)}const Z=Object.entries(D).filter(([,te])=>!te).map(([te])=>te.replace(/-/g,".").replace(/_/g,"-"));Z.length>0&&console.warn(`Unknown checked fields for plugin ${q}: ${Z.join(", ")}`);const G=[];K.length>0&&G.push({fields:K.sort(Vc)}),(W.length>0||j.length>0)&&G.push({fields:W.sort(jc),collapsible:{title:o("plugins.form.grouping.plugin_configuration.title"),description:o("plugins.form.grouping.plugin_configuration.description"),nestedCollapsible:{fields:j.sort(jc),triggerLabel:{expand:o("plugins.form.grouping.advanced_parameters.view"),collapse:o("plugins.form.grouping.advanced_parameters.hide")}}},slots:{beforeContent:"plugin-config-before-content",emptyState:"plugin-config-empty-state"}}),R={groups:G}}else R.fields.sort((K,W)=>(K.order=K.order||0,W.order=W.order||0,K.order-W.order));return{schema:R,model:V,options:{noneSelectedText:"Nothing Selected...",helpAsHtml:!0}}},c=g=>Array.isArray(g.default)||g.default!=null&&typeof g.default!="object"&&g.default!=="function",d=(g,B,E,M,U,L)=>{const F=c(g);return M[B]=F?g.default:null,g.id=B,g.model=B,g.fields&&g.type==="record"?m(g,B,E,M,U,L):(E[B]=g,A(g,M),L&&L[B]&&u(E[B],L[B]),U.fields.push(g)),E},u=(g,B)=>(B&&(Object.assign(g,B),B.label&&(g.label=B.label)),g),m=(g,B,E,M,U,L)=>{g.fields.forEach(F=>{Object.keys(F).forEach(R=>{const V=F[R];E=d(V,B+"-"+R,E,M,U,L)})})},f=(g,B)=>{g.type="input",g.inputType="hidden",g.styleClasses="kong-form-hidden-field-wrapper";const E=e;B[g.model]=E?{id:E}:null},h=g=>{g.type="input",g.inputType="number",g.between&&g.between.length===2&&(g.min=g.between[0],g.max=g.between[1])},k=g=>{Object.prototype.hasOwnProperty.call(g,"one_of")?(g.type="select",g.values=g.one_of,g.selectOptions={hideNoneSelectedText:!0}):(g.type="input",g.inputType="text")},b=g=>{g.type="input",g.inputType="text",g.valueType="array",g.valueArrayType="string"},y=g=>{g.type="checkbox",g.default=!0,g.required=!1},C=g=>{if(g.type="object-advanced",g.values.type==="array"){const{type:B}=g.values.elements||{};g.schema={fields:[{schema:{fields:[{...Fn,model:g.model,valueArrayType:B==="integer"?"number":B||"string",inputAttributes:{...Fn.inputAttributes,type:B==="integer"?"number":"text",inputMode:B==="integer"?"numeric":"text"}}]}}]}}else g.values.fields&&(g.schema={fields:[{type:"object",model:"object",schema:{fields:g.values.fields.map(B=>{const E=Object.keys(B)[0];return{model:E,type:"input",label:i(E),placeholder:E,inputType:B[E].type}})}}]})},O=g=>g.fields.reduce((B,E)=>(E.fields&&E.fields.forEach(M=>{B[M.model]=M}),E.model&&(B[E.model]=E),B),{}),x=(g,B)=>{if(!Qa.includes(g.model))return;const E=O(g);Qa.forEach(M=>{Object.keys(E).forEach(U=>{const L=c(E[U]);B[U]=L?E[U].default:null}),delete B[M]})},w=(g,B)=>g.inputType==="hidden"?"":a(i(g.label||B.replace(/_/g," "))),A=(g,B)=>{switch(x(g,B),g.type){case"foreign":f(g,B);break;case"number":h(g),g.attributes={step:"any"};break;case"integer":h(g);break;case"string":k(g);break;case"set":b(g);break;case"boolean":y(g);break;case"map":C(g);break}g.inputType==="foreign"&&f(g,B),g.label=w(g,g.model)};return{buildFormSchema:d,parseSchema:l,customSchemas:r,typedefs:Tn}}},He="/v2/control-planes/{controlPlaneId}/core-entities",Ne="/{workspace}",Se={list:{konnect:{all:`${He}/plugins`,forEntity:`${He}/{entityType}/{entityId}/plugins`},kongManager:{all:`${Ne}/plugins`,forEntity:`${Ne}/{entityType}/{entityId}/plugins`}},select:{konnect:{availablePlugins:`${He}/v1/available-plugins`},kongManager:{availablePlugins:`${Ne}/kong`,availablePluginsForOss:"/"}},form:{konnect:{create:{all:`${He}/plugins`,forEntity:`${He}/{entityType}/{entityId}/plugins`},edit:{all:`${He}/plugins/{id}`,forEntity:`${He}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/plugins/{plugin}",credential:{create:`${He}/{resourceEndpoint}`,edit:`${He}/{resourceEndpoint}/{id}`},credentialSchema:"/v2/control-planes/{controlPlaneId}/schemas/core-entities/{plugin}",validate:`${He}/v1/schemas/json/plugin/validate`,entityGetOne:`${He}/{entity}/{id}`,entityGetAll:`${He}/{entity}?size=1000`},kongManager:{create:{all:`${Ne}/plugins`,forEntity:`${Ne}/{entityType}/{entityId}/plugins`},edit:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`},pluginSchema:`${Ne}/schemas/plugins/{plugin}`,credential:{create:`${Ne}/{resourceEndpoint}`,edit:`${Ne}/{resourceEndpoint}/{id}`},credentialSchema:`${Ne}/schemas/{plugin}`,validate:`${Ne}/schemas/plugins/validate`,entityGetOne:`${Ne}/{entity}/{id}`,entityGetAll:`${Ne}/{entity}`}},item:{konnect:{all:`${He}/plugins/{id}`,forEntity:`${He}/{entityType}/{entityId}/plugins/{id}`},kongManager:{all:`${Ne}/plugins/{id}`,forEntity:`${Ne}/{entityType}/{entityId}/plugins/{id}`}}},_M={key:0},$M=t.defineComponent({__name:"PluginFieldRuleAlerts",props:{rules:{}},setup(e){const n=e,{formatPluginFieldLabel:i}=we.usePluginHelpers(),{i18n:{t:a}}=we.useI18n(),o=l=>l.map(c=>c.replace(/^[cC]onfig\./,"").split(".").map(d=>i(d)).join(".")).join(", "),r=(l,c)=>a(l,{parameters:o(c)}),s=t.computed(()=>{const l=[];if(n.rules.atLeastOneOf)for(const c of n.rules.atLeastOneOf)l.push(r("plugins.form.field_rules.at_least_one_of",c));if(n.rules.onlyOneOf)for(const c of n.rules.onlyOneOf)l.push(r("plugins.form.field_rules.only_one_of",c));if(n.rules.mutuallyRequired)for(const c of n.rules.mutuallyRequired)l.push(r("plugins.form.field_rules.mutually_required",c));return l});return(l,c)=>{const d=t.resolveComponent("KAlert");return t.openBlock(),t.createBlock(d,{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,m)=>(t.openBlock(),t.createElementBlock("li",{key:`simple-alert-${m}`},t.toDisplayString(u),1))),128)),n.rules.onlyOneOfMutuallyRequired&&n.rules.onlyOneOfMutuallyRequired.length>0?(t.openBlock(),t.createElementBlock("li",_M,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.rules.onlyOneOfMutuallyRequired,(u,m)=>(t.openBlock(),t.createElementBlock("div",{key:`only-one-mutually-alert-${m}`},[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,(f,h)=>(t.openBlock(),t.createElementBlock("li",{key:`only-one-mutually-alert-${m}-combination-${h}`},t.toDisplayString(o(f)),1))),128))])]))),128))])):t.createCommentVNode("",!0)])]),_:1})}}}),_e=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},ev=_e($M,[["__scopeId","data-v-17c1f232"]]),tv={class:"kong-ui-entities-plugin-form"},nv={key:1,class:"entity-form"},iv={class:"plugin-config-empty-state"},av=t.defineComponent({components:{...NM}}),ov=t.defineComponent({...av,__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}},emits:["loading","model-updated"],setup(e,{emit:n}){var L,F;const i=n,a=e,{axiosInstance:o}=nn((L=a.config)==null?void 0:L.axiosRequestConfig),{parseSchema:r}=we.useSchemas(((F=a.entityMap.focusedEntity)==null?void 0:F.id)||void 0,{groupFields:a.config.groupFields}),{convertToDotNotation:s,unFlattenObject:l,isObjectEmpty:c,unsetNullForeignKey:d}=we.usePluginHelpers(),{objectsAreEqual:u}=ni(),{i18n:{t:m}}=mi(),f=(R,V)=>{let q=`${a.config.apiBaseUrl}${Se.form[a.config.app].entityGetOne}`;return a.config.app==="konnect"?q=q.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(q=q.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),q=q.replace(/{entity}/gi,R),q=q.replace(/{id}/gi,V),q},h=R=>{let V=`${a.config.apiBaseUrl}${Se.form[a.config.app].entityGetAll}`;return a.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),V=V.replace(/{entity}/gi,R),V},k=(R,V)=>{const q=f(R,V);return o.get(q)},b=(R,V)=>{const q=h(R);return a.config.app==="konnect"?o.get(q).then(z=>{const{data:{data:K}}=z;if(delete V.size,delete V.offset,K.length&&Object.keys(V).length===1){const W=Object.keys(V)[0],j=K.filter(D=>D[W]?!!D[W].toLowerCase().includes(V[W].toLowerCase()):!1);z.data.data=j}return z}):o.get(q,{params:V})};t.provide(Ot,{getOne:k,getAll:b});const y=t.ref(""),C=t.ref(null),O=t.ref({}),x=t.reactive({}),w=t.reactive({}),A=t.computed(()=>{var R;return(R=C.value)==null?void 0:R.options}),g=()=>{var W,j;const R={...a.schema},V=w,q=x,z=Object.keys(V),K={};if(!c(O.value))for(let D=0;D<((j=(W=O.value)==null?void 0:W.fields)==null?void 0:j.length);D++)R[O.value.fields[D].model]=O.value.fields[D];return Qa.forEach(D=>{R[D]&&(R[D].fields.forEach(Z=>{Z.fields&&Z.fields.forEach(G=>{R[G.model]=G}),Z.model&&(R[Z.model]=Z)}),delete R[D])}),z.forEach(D=>{if(!R[D])return;const Z=R[D];let G=V[D];const te=q[D],le=Array.isArray(G)?"array":typeof G,ve=Z?Z.valueType:null,Xe=Z?Z.valueArrayType:null,Ie=Z?Z.transform:null;if(G==null&&te==null&&!Z.submitWhenNull)return;if(Z){if(ve&&le!==ve)switch(ve){case"array":le==="string"&&G.length&&(G=G.split(",").map(re=>{if(re=re.trim(),Xe==="string")return String(re);if(Xe==="number")return Number(re);if(Xe==="boolean"){if(typeof re=="string")return re.toLowerCase()==="true"||re==="1";if(typeof re=="number")return re===1}return re})),(!G||!G.length)&&(G=Z.submitWhenNull?null:[]);break;case"number":G=Number(G);break;case"boolean":le==="string"&&(G=G.toLowerCase()==="true"||G==="1"),le==="number"&&(G=G===1);break;case"string":G=G==null?"":String(G);break}else ve==="array"&&(!G||!G.length)&&(G=Z.submitWhenNull?null:[]);Z.type==="object-advanced"&&Z.fields&&G!==null&&(Object.entries(G).length===0?G=null:Object.keys(G).forEach(re=>{Array.isArray(G[re])||(G[re]=G[re].split(","))}))}let Ve=s(D);if(Z.fieldNameHasDashes){const[re,...We]=Ve.split(".").reverse();Ve=[re.replace(/_/g,"-"),...We].reverse().join(".")}if(ve==="object-expand"){let re;[Ve,re]=Ve.split(".");let We={};K[Ve]&&(We=K[Ve]),We[re]=G,G=We}te!==void 0&&G===""&&G!==te?K[Ve]=ve==="object"?{}:null:Z.type==="checklist"&&G===""?K[Ve]=[]:G!==""&&(K[Ve]=G),K[Ve]=Ie?Ie(G):K[Ve],d(Ve,K)}),l(K)},B=(R,V)=>{var K;const q={[V]:R};typeof((K=a.schema[V])==null?void 0:K.modelTransformer)=="function"&&(q[V]=a.schema[V].modelTransformer(R));const z=Object.assign({},w,q);Object.assign(w,z),i("model-updated",{model:w,originalModel:x,data:g()})},E=(R,V)=>{Object.keys(R).forEach(q=>{var D,Z;let z=V?`${V}-${q}`:q,K=a.schema[z];if(!K){const G=V?`${V}-${q.replace(/-/g,"_")}`:q.replace(/-/g,"_");(D=a.schema[G])!=null&&D.fieldNameHasDashes&&(z=G,K=a.schema[z]),V&&((Z=a.schema[V])==null?void 0:Z.keyFromObject)===q&&(z=V,K=a.schema[z])}const W=R[q],j=typeof W;if(K&&K.type==="object-advanced"&&!W){w[z]={},x[z]={};return}if(Array.isArray(W)){w[z]=JSON.parse(JSON.stringify(W)),x[z]=JSON.parse(JSON.stringify(W));return}if(j==="object"&&W&&!W.length)return E(W,z);if(j==="object"&&W&&W.length&&K.type==="input"){w[z]=W.join(", "),x[z]=W.join(", ");return}w[z]=W,x[z]=W}),i("model-updated",{model:w,originalModel:x,data:g()})},M=t.ref(!0),U=()=>{var R;if(a.record&&a.schema&&(E({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)&&E({consumer_id:a.record.consumer_id||a.record.consumer}),E(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)&&E({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}),E(a.record.config,"config"))),Object.keys(a.entityMap).length&&!a.entityMap.global&&a.schema){const V={};for(const q in a.entityMap){const z=a.entityMap[q].id,K=a.entityMap[q].idField,W=K==="consumer_group_id"?"consumer_group-id":JSON.parse(JSON.stringify(K).replace("_","-"));Object.prototype.hasOwnProperty.call(w,W)&&(V[W]=z)}E(V)}if((R=a.entityMap.consumer)!=null&&R.id&&a.schema&&a.credential){const V={};Object.prototype.hasOwnProperty.call(w,"consumer")&&(V.consumer=a.entityMap.consumer.id),E(V)}M.value=!1};return t.watch(M,R=>{i("loading",R)}),t.watch(()=>a.schema,(R,V)=>{var z,K;if(u(R||{},V||{}))return;const q=r(R);Object.assign(w,q.model),O.value={fields:(K=(z=O.value)==null?void 0:z.fields)==null?void 0:K.map(W=>({...W,disabled:W.disabled||!1}))},Object.assign(x,JSON.parse(JSON.stringify(q.model))),y.value=Tc(q.model.name),U()},{immediate:!0,deep:!0}),t.onBeforeMount(()=>{var R,V;C.value=r(a.schema),Object.assign(w,((R=C.value)==null?void 0:R.model)||{}),O.value=((V=C.value)==null?void 0:V.schema)||{},U()}),(R,V)=>{const q=t.resolveComponent("KSkeleton"),z=t.resolveComponent("VueFormGenerator");return t.openBlock(),t.createElementBlock("div",tv,[M.value?(t.openBlock(),t.createBlock(q,{key:0,type:"form"})):(t.openBlock(),t.createElementBlock("div",nv,[y.value&&(w.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(y.value),{key:0,"form-model":w,"form-options":A.value,"form-schema":O.value,"is-editing":e.editing,"on-model-updated":B},null,40,["form-model","form-options","form-schema","is-editing"])):t.createCommentVNode("",!0),!y.value&&(w.id&&e.editing||!e.editing)?(t.openBlock(),t.createBlock(z,{key:1,model:w,options:A.value,schema:O.value,onModelUpdated:B},t.createSlots({"plugin-config-empty-state":t.withCtx(()=>[t.createElementVNode("div",iv,t.toDisplayString(t.unref(m)("plugins.form.grouping.plugin_configuration.empty")),1)]),_:2},[t.unref(Qe)[w.name]&&t.unref(Qe)[w.name].fieldRules?{name:"plugin-config-before-content",fn:t.withCtx(()=>[t.createVNode(ev,{rules:t.unref(Qe)[w.name].fieldRules},null,8,["rules"])]),key:"0"}:void 0]),1032,["model","options","schema"])):t.createCommentVNode("",!0)]))])}}}),rv=_e(ov,[["__scopeId","data-v-a3701243"]]),sv={class:"kong-ui-entities-plugin-form-container"},lv={key:0},cv={key:1,class:"plugin-form-actions"},dv=_e(t.defineComponent({__name:"PluginForm",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.cancelRoute)},pluginType:{type:String,required:!0},pluginId:{type:String,default:""},hideScopeSelection:{type:Boolean,default:!1},credential:{type:Boolean,default:!1},developer:{type:Boolean,default:!1},isWizardStep:{type:Boolean,default:!1},useCustomNamesForPlugin:{type:Boolean,default:!1}},emits:["error:fetch-schema","error","loading","update","model-updated"],setup(e,{emit:n}){var Kn;const i=n,a=e,o=Zt.useRouter(),{i18n:{t:r}}=we.useI18n(),{customSchemas:s,typedefs:l}=we.useSchemas(void 0,{app:a.config.app}),{formatPluginFieldLabel:c}=we.usePluginHelpers(),{getMessageFromError:d}=ti(),{capitalize:u}=$i(),{objectsAreEqual:m}=ni(),{axiosInstance:f}=nn((Kn=a.config)==null?void 0:Kn.axiosRequestConfig),h=t.ref(!1),k=t.computed(()=>a.pluginId?dt.Edit:dt.Create),b=t.ref(null),y=t.computed(()=>!!(a.credential&&a.config.entityId)),C=t.ref(null),O=t.ref({}),x=t.ref(!1),w=t.reactive({enabled:!0,protocols:[],tags:[]}),A=t.reactive({fields:{enabled:!0,protocols:[],tags:[]},isReadonly:!1,errorMessage:""}),g=t.ref([{title:r("view_configuration.yaml"),hash:"#yaml"},{title:r("view_configuration.json"),hash:"#json"}]),B=t.computed(()=>{if(y.value){let P=Se.form[a.config.app].credential[k.value];return P=P.replace(/{resourceEndpoint}/gi,L.value),P}return a.config.entityType&&a.config.entityId?Se.form[a.config.app].edit.forEntity.replace(/{entityType}/gi,a.config.entityType).replace(/{entityId}/gi,a.config.entityId):Se.form[a.config.app].edit.all}),E=()=>{h.value=!h.value},M=t.computed(()=>{var ie,he,ne,de,I,N,ye,Pe;const P=a.config.entityType==="consumers"&&a.config.entityId||((he=(ie=C.value)==null?void 0:ie.consumer)==null?void 0:he.id),v=a.config.entityType==="consumer_groups"&&a.config.entityId||((de=(ne=C.value)==null?void 0:ne.consumer_group)==null?void 0:de.id),S=a.config.entityType==="services"&&a.config.entityId||((N=(I=C.value)==null?void 0:I.service)==null?void 0:N.id),Y=a.config.entityType==="routes"&&a.config.entityId||((Pe=(ye=C.value)==null?void 0:ye.route)==null?void 0:Pe.id);if(!(P||v||S||Y))return{global:{entity:p.GLOBAL,entityEndpoint:"plugins"}};const X={};return S&&(X.service={entity:p.SERVICE,entityEndpoint:"services",id:S,idField:Dt.SERVICE}),Y&&(X.route={entity:p.ROUTE,entityEndpoint:"routes",id:Y,idField:Dt.ROUTE}),P&&(X.consumer={entity:p.CONSUMER,entityEndpoint:"consumers",id:P,idField:Dt.CONSUMER}),v&&(X.consumer_group={entity:p.CONSUMER_GROUP,entityEndpoint:"consumer_groups",id:v,idField:Dt.CONSUMER_GROUP}),a.config.entityType&&(X.focusedEntity={entity:p[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()],entityEndpoint:a.config.entityType,id:a.config.entityId,idField:Dt[a.config.entityType.substring(0,a.config.entityType.length-1).toUpperCase()]}),X}),U=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||k.value===dt.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"),placeholder:r("plugins.form.fields.protocols.placeholder"),required:!0,styleClasses:"plugin-protocols-select",type:"multiselect",values:[{label:"grpc",value:"grpc"},{label:"grpcs",value:"grpcs"},{label:"http",value:"http"},{label:"https",value:"https"},{label:"tcp",value:"tcp"},{label:"tls",value:"tls"},{label:"tls_passthrough",value:"tls_passthrough"},{label:"udp",value:"udp"},{label:"ws",value:"ws"},{label:"wss",value:"wss"}]},...(a.config.app==="kongManager"||a.useCustomNamesForPlugin)&&{instance_name:{default:"",type:"input",label:r("plugins.form.fields.instance_name.label"),inputType:"text",help:r("plugins.form.fields.instance_name.help")}},tags:l.tags}),L=t.computed(()=>{var S;const P=a.developer?"developers":"consumers",v=((S=ln[a.pluginType])==null?void 0:S.endpoint)||"/plugins";return`${P}/${a.config.entityId}${a.developer?"/credentials":""}${v}`}),F=P=>{const v=[...new Set(P.map(S=>typeof S))];return v.length>1?"string":v[0]},R=(P,v,S)=>{var he,ne;let Y=v&&v.fields||[];const X=s[a.pluginType],ie=(ne=(he=ln[a.pluginType])==null?void 0:he.schema)==null?void 0:ne.fields;return Array.isArray(Y)&&(Y=Y.reduce((de,I)=>{const N=Object.keys(I)[0];return N.match(/-/g)?de[N.replace(/-/g,"_")]={...I[N],fieldNameHasDashes:!0}:de[N]=I[N],de},{})),Object.keys(Y).sort().forEach(de=>{var Pe,ft,Pc,Uc,Yc,Gc;const I=Y[de],N=P?`${P}-${de}`:`${de}`;if(Object.prototype.hasOwnProperty.call(I,"overwrite")||I.hidden)return;if(I.type==="table")return R(N,I.schema,S);if(I.fields)return R(N,I,S);if(S[N]={id:N},S[N].type=I.type==="boolean"?"checkbox":"input",S[N].required=I.required,N.startsWith("config-")&&(S[N].label=c(N)),(P==="config"||P.startsWith("config-"))&&(Pe=Y[de])!=null&&Pe.description&&(S[N].help=ae.parse(Y[de].description,{mangle:!1,headerIds:!1})),I.type==="map"){if(S[N].type="object-advanced",I.values.type==="array"){const{type:me}=I.values.elements||{};S[N].schema={fields:[{schema:{fields:[{...Fn,model:N,valueArrayType:me==="integer"?"number":me||"string",inputAttributes:{...Fn.inputAttributes,type:me==="integer"?"number":"text",inputMode:me==="integer"?"numeric":"text"}}]}}]}}else I.values.fields&&(S[N].schema={fields:[{type:"object",model:"object",schema:{fields:I.values.fields.map(me=>{const $e=Object.keys(me)[0];return{model:$e,type:"input",label:u($e),placeholder:$e,inputType:me[$e].type}})}}]});return S}if(I.enum&&I.type==="array"&&(S[N].type="checklist",S[N].values=I.enum,S[N].multi=!0,S[N].multiSelect=!0),I.one_of&&I.type!=="array"&&(S[N].type="select",S[N].values=I.one_of,S[N].selectOptions={noneSelectedText:r("plugins.form.no_selection")}),I.elements&&I.type==="array"){const me=I.elements;if(me.type==="string"&&!me.one_of){const{help:$e,label:je,hint:ze}=S[N],{help:et,...qn}=JSON.parse(JSON.stringify(Fn));S[N]={help:$e,label:je,hint:ze,...qn},S[N].help===void 0&&typeof et=="string"&&(S[N].help=ae.parse(et,{mangle:!1,headerIds:!1}))}}if(I.hint&&(S[N].hint=I.hint),X&&!X.overwriteDefault&&Object.keys(X).forEach(me=>{if(me===N){const{help:$e,label:je,hint:ze}=S[N],{help:et,...qn}=X[me];S[N]={help:$e,label:je,hint:ze,...qn},typeof et=="string"&&(S[N].help=ae.parse(et,{mangle:!1,headerIds:!1}))}}),I.type==="array"&&((ft=I.elements)==null?void 0:ft.type)==="record"&&Array.isArray(I.elements.fields)){let me={};for(const je of I.elements.fields)me={...me,...je};const $e=(Yc=(Uc=(Pc=S[N])==null?void 0:Pc.items)==null?void 0:Uc.schema)==null?void 0:Yc.fields;if(Array.isArray($e))for(const je of S[N].items.schema.fields){const ze=(Gc=me[je.model])==null?void 0:Gc.description;je.help===void 0&&typeof ze=="string"&&(je.help=ae.parse(ze,{mangle:!1,headerIds:!1}))}$e||(S[N].fieldClasses="array-card-container-wrapper",S[N].itemContainerComponent="FieldArrayCardContainer",S[N].items={type:"object",schema:{fields:Object.values(R(N,I.elements,{}))}},S[N].type="array",S[N].newElementButtonLabelClasses="kong-form-new-element-button-label",S[N].items.schema.fields.forEach(je=>{var ze,et;for(const qn of I.elements.fields){const eo=Object.keys(qn)[0],Fc=((et=(ze=je.id)==null?void 0:ze.split)==null?void 0:et.call(ze,"-"))??[];if(Fc[Fc.length-1]===eo){je.model=eo,je.label=c(eo);break}}})),S[N].items.default=()=>I.elements.fields.reduce((je,ze)=>{const et=Object.keys(ze)[0];return je[et]=ze[et].default,je},{})}if(y.value&&ie){for(let me=0;me<ie.length;me++)if(ie[me][N]){S[N]={...S[N],...ie[me][N]};break}}if(I.required&&I.type!=="boolean"&&(S[N].required=!0,S[N].selectOptions={hideNoneSelectedText:!0}),I.default!=null&&typeof I.default!="object"&&I.default!=="function"&&(S[N].default=I.default),S[N].type==="input"){const{type:me}=I.elements||{};me&&(S[N].valueArrayType=me==="integer"?"number":me),S[N].inputType=I.type==="array"||I.type==="string"?"text":I.type}let ye="string";I.enum?ye=F(I.enum):I.type==="boolean"?ye="boolean":I.type==="number"||I.type==="integer"?(ye="number",S[N].inputType="number"):I.type==="array"||I.type==="set"?(ye="array",S[N].default=I.default,I.len_min>0&&(S[N].submitWhenNull=!0)):I.type==="foreign"?ye="object":I.default&&Array.isArray(I.default)?(ye="array",S[N].valueArrayType=F(I.default)):I.default&&(ye=typeof I.default),S[N].valueType=ye,I.fieldNameHasDashes&&(S[N].fieldNameHasDashes=!0)}),S},V=()=>{var ie,he,ne,de;const P=((ie=Qe[a.pluginType])==null?void 0:ie.scope.includes(p.SERVICE))??!0,v=((he=Qe[a.pluginType])==null?void 0:he.scope.includes(p.ROUTE))??!0,S=((ne=Qe[a.pluginType])==null?void 0:ne.scope.includes(p.CONSUMER))??!0,Y=a.config.disableConsumerGroupScope?!1:((de=Qe[a.pluginType])==null?void 0:de.scope.includes(p.CONSUMER_GROUP))??!0,X=[];if(P&&X.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")}),v&&X.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")}),S&&X.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")}),Y&&X.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")}),X.length){const I=[...P?["service"]:[],...v?["route"]:[],...S?["consumer"]:[],...Y?["consumer_group"]:[]],ye=I.splice(I.length-2,2).map(ft=>r(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(`${I.length>0?",":""} and/or `),Pe=["Specific",[...I.length>0?[I.map(ft=>r(ft==="service"?"plugins.form.scoping.gateway_service.plural":`plugins.form.scoping.${ft}.plural`)).join(", ")]:[],ye].join(", ")].join(" ");U.selectionGroup.fields.push({label:r("plugins.form.scoping.label"),description:Pe,fields:[]}),U.selectionGroup.fields[1].fields=X}s[a.pluginType]&&s[a.pluginType].overwriteDefault&&Object.hasOwnProperty.call(s[a.pluginType],"formSchema")&&Object.assign(U,s[a.pluginType].formSchema)},q=t.computed(()=>!m(A.fields,w,!0)),z=t.computed(()=>!re.value&&!x.value&&(k.value===dt.Create||q.value)),K=t.ref(!1),W=P=>{A.fields.id=(P==null?void 0:P.id)||void 0,Object.assign(w,A.fields),C.value=P,K.value=!0},j=t.ref({}),D=P=>{var v;A.fields=P.model,A.fields.id=((v=C.value)==null?void 0:v.id)||void 0,Object.assign(w,P.originalModel),j.value=P.data,a.isWizardStep&&i("model-updated",{model:A.fields,data:P.data,resourceEndpoint:L.value})};t.watch([M,K],(P,v)=>{const S=P[0]!==v[0],Y=P[1],X=v[1];!y.value&&k.value===dt.Edit&&(S||Y&&Y!==X)&&(re.value=!0,b.value=R("config",O.value,U),re.value=!1)},{deep:!0});const Z=()=>{a.config.cancelRoute&&o.push(a.config.cancelRoute)},G=()=>{a.config.backRoute&&o.push(a.config.backRoute)},te=t.computed(()=>{let P=`${a.config.apiBaseUrl}${Se.form[a.config.app].validate}`;return a.config.app==="konnect"?P=P.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(P=P.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),P=P.replace(/{id}/gi,a.pluginId),P}),le=t.computed(()=>{const P=a.config.entityType&&a.config.entityId&&!a.developer,v=y.value?Se.form[a.config.app].credential[k.value]:Se.form[a.config.app][k.value][P?"forEntity":"all"];let S=`${a.config.apiBaseUrl}${v}`;return a.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),S=S.replace(/{resourceEndpoint}/gi,L.value),S=S.replace(/{id}/gi,a.pluginId),S=S.replace(/{entityType}/gi,a.config.entityType||""),S=S.replace(/{entityId}/gi,a.config.entityId||""),S}),ve=t.computed(()=>!Object.keys(Qe).includes(a.pluginType)),Xe=t.computed(()=>{const P=by(j.value);for(const v of["config.redis.cluster_addresses","config.redis.sentinel_addresses"])Oy(P,v)&&Array.isArray(Xr(P,v))&&Xr(P,v).length===0&&xy(P,v);if(y.value){for(const v in p){const S=p[v];P[S]&&!P[S].id&&(P[S]={id:a.config.entityId})}delete P.created_at}return P}),Ie=async()=>{if(!a.isWizardStep)try{A.isReadonly=!0;let P;!y.value&&!ve.value&&await f.post(te.value,Xe.value),k.value==="create"?P=await f.post(le.value,Xe.value):k.value==="edit"&&(P=a.config.app==="konnect"?await f.put(le.value,Xe.value):await f.patch(le.value,Xe.value)),Object.assign(w,A.fields),i("update",P==null?void 0:P.data)}catch(P){A.errorMessage=d(P),i("error",P)}finally{A.isReadonly=!1}},Ve=t.computed(()=>{var Y;const P=y.value?(Y=ln[a.pluginType])==null?void 0:Y.schemaEndpoint:a.pluginType,v=y.value?Se.form[a.config.app].credentialSchema:Se.form[a.config.app].pluginSchema;let S=`${a.config.apiBaseUrl}${v}`;return a.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,a.config.controlPlaneId||""):a.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,a.config.workspace?`/${a.config.workspace}`:"")),S=S.replace(/{plugin}/gi,P),S}),re=t.ref(!1),We=t.ref("");return t.onBeforeMount(async()=>{var P,v,S;re.value=!0;try{if(y.value&&a.config.app==="konnect"){const Y=(P=ln[a.pluginType])==null?void 0:P.schemaEndpoint,X=ew[Y];b.value=R("",X,{}),re.value=!1}else{const Y=await f.get(Ve.value),{data:X}=Y;if(X)if(y.value)b.value=R("",X,{}),re.value=!1;else{const ie=X.fields.find(ne=>ne.config);O.value=ie?ie.config:Y,V();const he=(v=X.fields.find(ne=>ne.protocols))==null?void 0:v.protocols;if(he){const{default:ne=[],elements:de={}}=he;U.protocols.default=ne,(S=de.one_of)!=null&&S.length&&(U.protocols.values=de.one_of.map(I=>({label:I,value:I})))}(K.value||k.value===dt.Create)&&(b.value=R("config",O.value,U))}}}catch(Y){We.value=d(Y),i("error:fetch-schema",Y)}finally{re.value=!1}}),(P,v)=>{const S=t.resolveComponent("KSkeleton"),Y=t.resolveComponent("KEmptyState"),X=t.resolveComponent("KButton"),ie=t.resolveComponent("KTabs"),he=t.resolveComponent("KSlideout");return t.openBlock(),t.createElementBlock("div",sv,[re.value?(t.openBlock(),t.createBlock(S,{key:0,type:"form"})):We.value?(t.openBlock(),t.createBlock(Y,{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(Zm),{key:2,"can-submit":z.value,config:e.config,"edit-id":e.pluginId,"error-message":A.errorMessage,"fetch-url":B.value,"form-fields":Xe.value,"is-readonly":A.isReadonly,"no-validate":"",onCancel:Z,"onFetch:error":v[2]||(v[2]=ne=>P.$emit("error",ne)),"onFetch:success":W,onLoading:v[3]||(v[3]=ne=>P.$emit("loading",ne))},{"form-actions":t.withCtx(()=>[e.isWizardStep?(t.openBlock(),t.createElementBlock("div",lv)):(t.openBlock(),t.createElementBlock("div",cv,[t.createVNode(X,{appearance:"tertiary","data-testid":"form-view-configuration",onClick:v[1]||(v[1]=ne=>E())},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.view_configuration")),1)]),_:1}),t.createVNode(X,{appearance:"secondary",class:"form-action-button","data-testid":"form-cancel",disabled:A.isReadonly,type:"reset",onClick:Z},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.cancel")),1)]),_:1},8,["disabled"]),k.value===t.unref(dt).Create&&e.config.backRoute?(t.openBlock(),t.createBlock(X,{key:0,appearance:"secondary",class:"form-action-button","data-testid":"form-back",disabled:A.isReadonly,onClick:G},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.back")),1)]),_:1},8,["disabled"])):t.createCommentVNode("",!0),t.createVNode(X,{appearance:"primary","data-testid":"form-submit",disabled:!z.value||A.isReadonly,type:"submit",onClick:Ie},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.save")),1)]),_:1},8,["disabled"])]))]),default:t.withCtx(()=>[t.createElementVNode("form",{hidden:"",onSubmit:Ie},null,32),t.createVNode(rv,{config:e.config,credential:y.value,editing:k.value===t.unref(dt).Edit,"entity-map":M.value,record:C.value||void 0,schema:b.value||{},onLoading:v[0]||(v[0]=ne=>x.value=ne),onModelUpdated:D},null,8,["config","credential","editing","entity-map","record","schema"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","form-fields","is-readonly"])),t.createVNode(he,{"close-on-blur":!1,"data-testid":"form-view-configuration-slideout","has-overlay":!1,"offset-top":60,title:t.unref(r)("view_configuration.title"),visible:h.value,onClose:E},{default:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(t.unref(r)("view_configuration.message")),1),t.createVNode(ie,{"data-testid":"form-view-configuration-slideout-tabs",tabs:g.value},{json:t.withCtx(()=>[t.createVNode(t.unref(Li),{config:e.config,"fetcher-url":le.value,"json-record":A.fields,"request-method":a.pluginId?"put":"post"},null,8,["config","fetcher-url","json-record","request-method"])]),yaml:t.withCtx(()=>[t.createVNode(t.unref(_i),{"yaml-record":A.fields},null,8,["yaml-record"])]),_:1},8,["tabs"])]),_:1},8,["title","visible"])])}}}),[["__scopeId","data-v-3bdf44a5"]]),pv=["alt","src","width"],vi=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=Gs(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:Wt&&Wt.src||new URL("entities-plugins.umd.js",document.baseURI).href).href;i.value&&(i.value.src=r)};return(r,s)=>(t.openBlock(),t.createElementBlock("img",{ref_key:"img",ref:i,alt:e.alt,src:t.unref(a),width:e.size,onError:o},null,40,pv))}}),uv={class:"kong-ui-entities-plugins-list"},mv={class:"name-cell-wrapper"},gv={class:"info-wrapper"},fv={key:0,class:"info-name"},Av={key:1,class:"info-name"},hv={key:2,class:"info-type"},yv={key:1},bv={key:1},wv=_e(t.defineComponent({__name:"PluginList",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.createRoute||!e.getViewRoute||!e.getEditRoute||!e.getConfigureDynamicOrderingRoute||e.app==="kongManager"&&!e.isExactMatch&&!e.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canToggle:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},canRetrieveScopedEntity:{type:Function,required:!1,default:async()=>!0},canConfigureDynamicOrdering:{type:Function,required:!1,default:async()=>!0},title:{type:String,default:""},titleTag:{type:String,default:"h2"},useActionOutside:{type:Boolean,default:!1}},emits:["error","copy:success","copy:error","delete:success","toggle-enabled"],setup(e,{emit:n}){var Kn,P;const i=we.usePluginMetaData(),a=n,o=e,{i18n:{t:r}}=we.useI18n(),s=Zt.useRouter(),{axiosInstance:l}=nn((Kn=o.config)==null?void 0:Kn.axiosRequestConfig),c=t.computed(()=>{var v;return((v=o.config)==null?void 0:v.entityType)==="consumers"}),d=o.config.app==="konnect"||Ig({gatewayInfo:o.config.gatewayInfo,supportedRange:{enterprise:["3.0"]}}),u=t.computed(()=>o.config.app!=="kongManager"||!!o.config.disableSorting),m={name:{label:r("plugins.list.table_headers.name"),searchable:!0,sortable:!0}};(P=o.config)!=null&&P.entityId||(m.appliedTo={label:r("plugins.list.table_headers.applied_to"),sortable:!1}),m.enabled={label:r("plugins.list.table_headers.enabled"),searchable:!0,sortable:!0},d&&(m.ordering={label:r("plugins.list.table_headers.ordering"),sortable:!0}),m.tags={label:r("plugins.list.table_headers.tags"),sortable:!1};const f=m,h=t.computed(()=>{var S,Y,X,ie;let v=o.config.entityType?`${o.config.apiBaseUrl}${Se.list[o.config.app].forEntity}`:`${o.config.apiBaseUrl}${Se.list[o.config.app].all}`;return o.config.app==="konnect"?v=v.replace(/{controlPlaneId}/gi,((S=o.config)==null?void 0:S.controlPlaneId)||""):o.config.app==="kongManager"&&(v=v.replace(/\/{workspace}/gi,(Y=o.config)!=null&&Y.workspace?`/${o.config.workspace}`:"")),v.replace(/{entityType}/gi,((X=o.config)==null?void 0:X.entityType)||"").replace(/{entityId}/gi,((ie=o.config)==null?void 0:ie.entityId)||"")}),k=t.ref(""),b=t.computed(()=>o.config.app==="konnect"||o.config.isExactMatch?{isExactMatch:!0,fields:{name:m.name,id:{label:r("plugins.list.table_headers.id"),sortable:!0}},placeholder:r(`search.placeholder.${o.config.app}`)}:{isExactMatch:!1,fields:{enabled:{...m.enabled,label:r("search.filter.field.enabled")},name:m.name,instance_name:{label:r("plugins.list.table_headers.instance_name"),searchable:!0}},schema:o.config.filterSchema}),y=t.ref(1),{fetcher:C,fetcherState:O}=Sg(o.config,h.value),x=()=>{k.value=""},w=()=>{y.value++},A=t.ref(null),g=v=>{var Y,X,ie,he;const S=[];return(Y=v.route)!=null&&Y.id&&S.push({type:"route",badgeText:r("plugins.list.table_headers.applied_to_badges.route")}),(X=v.service)!=null&&X.id&&S.push({type:"service",badgeText:r("plugins.list.table_headers.applied_to_badges.service")}),(ie=v.consumer)!=null&&ie.id&&S.push({type:"consumer",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer")}),(he=v.consumer_group)!=null&&he.id&&S.push({type:"consumer_group",badgeText:r("plugins.list.table_headers.applied_to_badges.consumer_group")}),S.length?S:[{type:null,badgeText:r("plugins.list.table_headers.applied_to_badges.global")}]},B=async(v,S)=>{var Y;return v===null?!1:await((Y=o.canRetrieveScopedEntity)==null?void 0:Y.call(o,v,S.id))},E=(v,S)=>{var X,ie,he,ne,de;let Y=null;switch(v){case"route":Y=(X=S.route)==null?void 0:X.id;break;case"service":Y=(ie=S.service)==null?void 0:ie.id;break;case"consumer":Y=(he=S.consumer)==null?void 0:he.id;break;case"consumer_group":Y=(ne=S.consumer_group)==null?void 0:ne.id;break}Y&&((de=o.config)!=null&&de.getScopedEntityViewRoute)&&s.push(o.config.getScopedEntityViewRoute(v,Y))},M=t.ref(!1),U=t.ref(null),L=t.computed(()=>{const v={action:"disable",id:"",name:""};if(U.value){const{enabled:S,id:Y,name:X}=U.value;v.action=S?"disable":"enable",v.id=Y,v.name=i.getDisplayName(X)||Y}return v}),F=v=>{M.value=!0,U.value=v},R=()=>{M.value=!1,U.value=null},V=async()=>{var X,ie,he,ne,de,I,N,ye;if(!await((X=o.canEdit)==null?void 0:X.call(o,U.value))||!U.value)return;let S=`${o.config.apiBaseUrl}${(de=Se.item[o.config.app])==null?void 0:de[(ie=o.config)!=null&&ie.entityType?"forEntity":"all"].replace(/{entityType}/gi,((he=o.config)==null?void 0:he.entityType)||"").replace(/{entityId}/gi,((ne=o.config)==null?void 0:ne.entityId)||"")}`.replace(/{id}/gi,U.value.id||"");o.config.app==="konnect"?S=S.replace(/{controlPlaneId}/gi,((I=o.config)==null?void 0:I.controlPlaneId)||""):o.config.app==="kongManager"&&(S=S.replace(/\/{workspace}/gi,(N=o.config)!=null&&N.workspace?`/${o.config.workspace}`:""));const Y=!U.value.enabled;try{const{data:Pe}=((ye=o.config)==null?void 0:ye.app)==="konnect"?await l.put(S,{...U.value,enabled:Y}):await l.patch(S,{...U.value,enabled:Y});a("toggle-enabled",Y,Pe)}catch(Pe){a("error",Pe)}U.value.enabled=Y},q=(v,S)=>{const Y=v.id;if(!S(Y)){a("copy:error",{entity:v,field:"id",message:r("errors.copy")});return}a("copy:success",{entity:v,field:"id",message:r("copy.success",{val:Y})})},z=(v,S)=>{const Y=JSON.stringify(v);if(!S(Y)){a("copy:error",{entity:v,message:r("errors.copy")});return}a("copy:success",{entity:v,message:r("copy.success_brief")})},K=async v=>{var Y;await((Y=o.canRetrieve)==null?void 0:Y.call(o,v))&&s.push(o.config.getViewRoute(v))},W=v=>({label:r("actions.view"),to:o.config.getViewRoute(v)}),j=v=>({label:r("actions.edit"),to:o.config.getEditRoute(v)}),D=v=>({label:r("actions.configure_dynamic_ordering"),to:o.config.getConfigureDynamicOrderingRoute(v)}),Z=t.ref(void 0),G=t.ref(!1),te=t.ref(!1),le=t.ref(""),ve=Og(o.config,h.value),Xe=v=>{Z.value=v,G.value=!0},Ie=()=>{G.value=!1},Ve=async()=>{var v,S,Y;if((v=Z.value)!=null&&v.id){te.value=!0;try{await l.delete(ve(Z.value.id)),te.value=!1,G.value=!1,y.value++,a("delete:success",Z.value)}catch(X){le.value=((Y=(S=X.response)==null?void 0:S.data)==null?void 0:Y.message)||X.message||r("errors.delete"),a("error",X)}finally{te.value=!1}}},re=t.ref(!0);t.watch(O,v=>{var S,Y,X,ie;if(Array.isArray((S=v==null?void 0:v.response)==null?void 0:S.data)&&(re.value=v.response.data.length>0),v.status===St.Error){A.value={title:r("errors.general")},(ie=(X=(Y=v.error)==null?void 0:Y.response)==null?void 0:X.data)!=null&&ie.message&&(A.value.message=v.error.response.data.message),a("error",v.error);return}A.value=null});const We=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()&&(We.value.title=r("plugins.list.empty_state.title"),We.value.ctaText=r("actions.create"))}),(v,S)=>{const Y=t.resolveComponent("KButton"),X=t.resolveComponent("KBadge"),ie=t.resolveComponent("KTruncate"),he=t.resolveComponent("KInputSwitch"),ne=t.resolveComponent("KDropdownItem"),de=t.resolveComponent("KClipboardProvider");return t.openBlock(),t.createElementBlock("div",uv,[t.createVNode(t.unref(ig),{"cache-identifier":e.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":u.value,"dropdown-menu-width":"270","empty-state-options":We.value,"enable-entity-actions":"","error-message":A.value,fetcher:t.unref(C),"fetcher-cache-key":y.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-plugins-list",query:k.value,"table-headers":t.unref(f),title:e.title,"title-tag":e.titleTag,"use-action-outside":e.useActionOutside,onClearSearchInput:x,"onClick:row":S[3]||(S[3]=I=>K(I)),onSort:w},{"toolbar-filter":t.withCtx(()=>[t.createVNode(t.unref(Eg),{modelValue:k.value,"onUpdate:modelValue":S[0]||(S[0]=I=>k.value=I),config:b.value},null,8,["modelValue","config"])]),"toolbar-button":t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.useActionOutside?"Teleport":"div"),{to:e.useActionOutside?"#kong-ui-app-page-header-action-button":void 0},{default:t.withCtx(()=>[t.createVNode(t.unref(xt),{"auth-function":()=>e.canCreate()},{default:t.withCtx(()=>[t.withDirectives(t.createVNode(Y,{appearance:"primary","data-testid":"toolbar-add-plugin",icon:"plus",size:"large",to:e.config.createRoute},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("plugins.list.toolbar_actions.new_plugin")),1)]),_:1},8,["to"]),[[t.vShow,re.value]])]),_:1},8,["auth-function"])]),_:1},8,["to"]))]),name:t.withCtx(({row:I})=>[t.createElementVNode("div",mv,[t.createVNode(vi,{class:"plugin-icon",name:I.name,width:24},null,8,["name"]),t.createElementVNode("div",gv,[I.instance_name?(t.openBlock(),t.createElementBlock("span",fv,t.toDisplayString(I.instance_name),1)):(t.openBlock(),t.createElementBlock("span",Av,t.toDisplayString(t.unref(i).getDisplayName(I.name)),1)),I.instance_name?(t.openBlock(),t.createElementBlock("span",hv,t.toDisplayString(t.unref(i).getDisplayName(I.name)),1)):t.createCommentVNode("",!0)])])]),appliedTo:t.withCtx(({row:I})=>[g(I).length>0?(t.openBlock(),t.createBlock(ie,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g(I),N=>(t.openBlock(),t.createBlock(t.unref(xt),{key:N.badgeText,"auth-function":()=>B(N.type,I),"force-show":""},{default:t.withCtx(({isAllowed:ye})=>[t.createVNode(X,{class:t.normalizeClass(ye||"disabled"),onClick:t.withModifiers(Pe=>ye&&N.type&&E(N.type,I),["stop"])},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N.badgeText),1)]),_:2},1032,["class","onClick"])]),_:2},1032,["auth-function"]))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",yv,"-"))]),enabled:t.withCtx(({row:I})=>[t.createVNode(t.unref(xt),{"auth-function":async()=>!!(await e.canEdit(I)&&await e.canToggle(I)),"force-show":""},{default:t.withCtx(({isAllowed:N})=>{var ye,Pe;return[t.createElementVNode("div",{onClick:S[1]||(S[1]=t.withModifiers(()=>{},["stop"]))},[t.createVNode(he,{disabled:!N,"disabled-tooltip-text":!N&&((Pe=(ye=e.config).getToggleDisabledTooltip)==null?void 0:Pe.call(ye,I))||void 0,"model-value":I.enabled,onClick:t.withModifiers(ft=>N&&F(I),["stop","prevent"])},null,8,["disabled","disabled-tooltip-text","model-value","onClick"])])]}),_:2},1032,["auth-function"])]),ordering:t.withCtx(({rowValue:I})=>[t.createVNode(X,{appearance:I?"warning":"info"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(I?t.unref(r)("plugins.list.table_headers.ordering_badge.dynamic"):t.unref(r)("plugins.list.table_headers.ordering_badge.static")),1)]),_:2},1032,["appearance"])]),tags:t.withCtx(({rowValue:I})=>[(I==null?void 0:I.length)>0?(t.openBlock(),t.createBlock(ie,{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(I,N=>(t.openBlock(),t.createBlock(X,{key:N,onClick:S[2]||(S[2]=t.withModifiers(()=>{},["stop"]))},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N),1)]),_:2},1024))),128))]),_:2},1024)):(t.openBlock(),t.createElementBlock("span",bv,"-"))]),actions:t.withCtx(({row:I})=>[t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-id",onClick:ye=>q(I,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(de,null,{default:t.withCtx(({copyToClipboard:N})=>[t.createVNode(ne,{"data-testid":"action-entity-copy-json",onClick:ye=>z(I,N)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(r)("actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),t.createVNode(t.unref(xt),{"auth-function":()=>e.canRetrieve(I)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-view","has-divider":"",item:W(I)},null,8,["item"])]),_:2},1032,["auth-function"]),t.createVNode(t.unref(xt),{"auth-function":()=>e.canEdit(I)},{default:t.withCtx(()=>[t.createVNode(ne,{"data-testid":"action-entity-edit",item:j(I)},null,8,["item"])]),_:2},1032,["auth-function"]),!c.value&&t.unref(d)?(t.openBlock(),t.createBlock(t.unref(xt),{key:0,"auth-function":()=>e.canConfigureDynamicOrdering(I)},{default:t.withCtx(()=>[D(I)?(t.openBlock(),t.createBlock(ne,{key:0,"data-testid":"action-entity-config-dyn-order",item:D(I)},null,8,["item"])):t.createCommentVNode("",!0)]),_:2},1032,["auth-function"])):t.createCommentVNode("",!0),t.createVNode(t.unref(xt),{"auth-function":()=>e.canDelete(I)},{default:t.withCtx(()=>[t.createVNode(ne,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:N=>Xe(I)},{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","use-action-outside"]),t.createVNode(t.unref(kg),{action:L.value.action,"entity-id":L.value.id,"entity-name":L.value.name,"entity-type":t.unref(r)("glossary.plugin"),"on-confirm":V,visible:M.value,onCancel:R,onProceed:R},null,8,["action","entity-id","entity-name","entity-type","visible"]),t.createVNode(t.unref(yr),{"action-pending":te.value,description:t.unref(r)("delete.description"),"entity-name":Z.value&&(Z.value.instance_name||Z.value.name||Z.value.id),"entity-type":t.unref(Vi).Plugin,error:le.value,title:t.unref(r)("delete.title"),visible:G.value,onCancel:Ie,onProceed:Ve},null,8,["action-pending","description","entity-name","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-6bbe2d27"]]),Cv=e=>(t.pushScopeId("data-v-14bc032f"),e=e(),t.popScopeId(),e),Ev={class:"plugin-card-header"},kv={class:"plugin-card-footer"},Bv=Cv(()=>t.createElementVNode("hr",{class:"plugin-card-footer-divider"},null,-1)),Ov={class:"footer-skeleton"},Sv=_e(t.defineComponent({__name:"PluginCardSkeleton",props:{cardCount:{type:Number,default:1}},setup(e){return(n,i)=>{const a=t.resolveComponent("KSkeletonBox"),o=t.resolveComponent("KSkeleton");return t.openBlock(),t.createBlock(o,{"card-count":e.cardCount,class:"plugin-card-skeleton",type:"card"},{"card-header":t.withCtx(()=>[t.createElementVNode("div",Ev,[t.createVNode(a,{width:"5"})])]),"card-content":t.withCtx(()=>[t.createTextVNode(" ")]),"card-footer":t.withCtx(()=>[t.createElementVNode("div",kv,[Bv,t.createElementVNode("div",Ov,[t.createVNode(a,{width:"5"})])])]),_:1},8,["card-count"])}}}),[["__scopeId","data-v-14bc032f"]]),Iv="16px",Dc="24px",xv=(e,n)=>{const i=e.__vccOpts||e;for(const[a,o]of n)i[a]=o;return i},Mv=e=>(t.pushScopeId("data-v-cf4e7d0b"),e=e(),t.popScopeId(),e),vv=["aria-hidden"],Tv={key:0,"data-testid":"kui-icon-svg-title"},Rv=Mv(()=>t.createElementVNode("path",{d:"M12 20C11.45 20 10.9792 19.8042 10.5875 19.4125C10.1958 19.0208 10 18.55 10 18C10 17.45 10.1958 16.9792 10.5875 16.5875C10.9792 16.1958 11.45 16 12 16C12.55 16 13.0208 16.1958 13.4125 16.5875C13.8042 16.9792 14 17.45 14 18C14 18.55 13.8042 19.0208 13.4125 19.4125C13.0208 19.8042 12.55 20 12 20ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.45 10.1958 10.9792 10.5875 10.5875C10.9792 10.1958 11.45 10 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14ZM12 8C11.45 8 10.9792 7.80417 10.5875 7.4125C10.1958 7.02083 10 6.55 10 6C10 5.45 10.1958 4.97917 10.5875 4.5875C10.9792 4.19583 11.45 4 12 4C12.55 4 13.0208 4.19583 13.4125 4.5875C13.8042 4.97917 14 5.45 14 6C14 6.55 13.8042 7.02083 13.4125 7.4125C13.0208 7.80417 12.55 8 12 8Z",fill:"currentColor"},null,-1)),Nv=t.defineComponent({__name:"MoreIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:Dc,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const n=String(e).replace(/px/gi,""),i=Number(n);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const n=e,i=t.computed(()=>{if(typeof n.size=="number"&&n.size>0)return`${n.size}px`;if(typeof n.size=="string"){const o=String(n.size).replace(/px/gi,""),r=Number(o);if(r&&!isNaN(r)&&Number.isInteger(r)&&r>0)return`${r}px`}return Dc}),a=t.computed(()=>({boxSizing:"border-box",color:n.color,display:n.display,height:i.value,lineHeight:"0",width:i.value}));return(o,r)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon more-icon","data-testid":"kui-icon-wrapper-more-icon",style:t.normalizeStyle(a.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-more-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Tv,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Rv],8,vv))]),_:1},8,["aria-hidden","style"]))}}),Vv=xv(Nv,[["__scopeId","data-v-cf4e7d0b"]]),jv=["data-testid"],Dv={class:"plugin-card-header"},Lv={class:"plugin-card-title"},Pv={key:0,class:"plugin-card-actions"},Uv=["data-testid","title"],Yv={key:0,class:"plugin-card-text"},Gv={key:0},Fv=["title"],Ti=_e(t.defineComponent({__name:"PluginSelectCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},plugin:{type:Object,required:!0},navigateOnClick:{type:Boolean,default:!0}},emits:["plugin-clicked","custom-plugin-delete"],setup(e,{emit:n}){const i=n,a=e,o=Zt.useRouter(),{i18n:{t:r}}=we.useI18n(),s=t.computed(()=>a.config.app==="konnect"?a.config.controlPlaneId:""),l=t.computed(()=>!!(!a.plugin.available||a.plugin.disabledMessage)),c=t.computed(()=>!!(h.value&&!f.value&&a.navigateOnClick&&s.value&&(a.canDeleteCustomPlugin||a.canEditCustomPlugin))),d=()=>{o.push(a.config.getCreateRoute(a.plugin.id))},u=()=>{a.navigateOnClick?d():m()},m=()=>{i("plugin-clicked",a.plugin)},f=t.computed(()=>a.plugin.id==="custom-plugin-create"),h=t.computed(()=>a.config.app==="konnect"&&a.plugin.group===T.CUSTOM_PLUGINS),k=()=>{a.config.app==="konnect"&&i("custom-plugin-delete")},b=C=>{const O=a.config;a.config.app==="konnect"&&typeof O.getCustomEditRoute=="function"&&O.getCustomEditRoute&&o.push(O.getCustomEditRoute(C))},y=()=>{if(!l.value&&a.config.app==="konnect"){const C=a.config;f.value&&C.createCustomRoute?o.push(C.createCustomRoute):h.value&&d()}};return(C,O)=>{const x=t.resolveComponent("KButton"),w=t.resolveComponent("KDropdownItem"),A=t.resolveComponent("KDropdownMenu"),g=t.resolveComponent("KTooltip");return t.openBlock(),t.createBlock(g,{"position-fixed":"",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:O[1]||(O[1]=B=>l.value||h.value?void 0:u())},[t.createElementVNode("div",Dv,[t.createElementVNode("div",Lv,[t.createElementVNode("span",{class:t.normalizeClass({"non-custom-title":!h.value})},t.toDisplayString(e.plugin.name),3)]),c.value?(t.openBlock(),t.createElementBlock("div",Pv,[t.createVNode(A,{"data-testid":"custom-plugin-actions","kpop-attributes":{placement:"bottomEnd"},width:"150"},{default:t.withCtx(()=>[t.createVNode(x,{appearance:"tertiary",class:"actions-trigger","data-testid":"overflow-actions-button",size:"small"},{icon:t.withCtx(()=>[t.createVNode(t.unref(Vv),{size:t.unref(Iv)},null,8,["size"])]),_:1})]),items:t.withCtx(()=>[e.canDeleteCustomPlugin?(t.openBlock(),t.createBlock(w,{key:0,"data-testid":"edit-plugin-schema",onClick:O[0]||(O[0]=t.withModifiers(B=>b(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(w,{key:1,danger:"","data-testid":"delete-plugin-schema","has-divider":"",onClick:t.withModifiers(k,["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":h.value}]),"data-testid":e.plugin.name,title:e.plugin.available?e.plugin.name:t.unref(r)("plugins.select.unavailable_tooltip"),onClick:y},[t.createVNode(vi,{alt:e.plugin.name,class:"plugin-card-icon",name:e.plugin.imageName||e.plugin.id,size:55},null,8,["alt","name"]),e.plugin.description||h.value&&!f.value?(t.openBlock(),t.createElementBlock("div",Yv,[h.value&&!f.value?(t.openBlock(),t.createElementBlock("p",Gv,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,Fv)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)],10,Uv),t.createElementVNode("div",{class:"plugin-card-footer",onClick:y},t.toDisplayString(f.value?t.unref(r)("actions.create_custom"):e.plugin.exists?t.unref(r)("actions.enabled"):t.unref(r)("actions.enable")),1)],10,jv)]),_:1},8,["text"])}}}),[["__scopeId","data-v-3e933d10"]]),Hv=_e(t.defineComponent({__name:"DeleteCustomPluginSchemaModal",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app))},plugin:{type:Object,required:!0}},emits:["closed","proceed"],setup(e,{emit:n}){var h;const i=e,a=n,{i18nT:o,i18n:{t:r}}=we.useI18n(),{getMessageFromError:s}=ti(),{axiosInstance:l}=nn((h=i.config)==null?void 0:h.axiosRequestConfig),c=t.computed(()=>{var k;return m.value?r("delete.plugin_schema_in_use_title"):r("delete.title",{name:((k=i.plugin)==null?void 0:k.name)||r("delete.custom_plugin")})}),d=t.ref(!1),u=t.ref(""),m=t.ref(!1),f=async()=>{var k,b,y,C,O;if(d.value=!0,u.value="",!(!((k=i.plugin)!=null&&k.name)||((b=i.config)==null?void 0:b.app)!=="konnect"))try{const x=`${i.config.apiBaseUrl}/v2/control-planes/${i.config.controlPlaneId}/core-entities/plugin-schemas/${(y=i.plugin)==null?void 0:y.name}`;await l.delete(x),a("proceed")}catch(x){const{response:w}=x;(w==null?void 0:w.status)===400&&((O=(C=w.data)==null?void 0:C.message)!=null&&O.includes("plugin schema is currently in use"))?m.value=!0:u.value=s(x)}finally{d.value=!1}};return(k,b)=>{const y=t.resolveComponent("KButton"),C=t.resolveComponent("KModal");return!m.value&&e.plugin?(t.openBlock(),t.createBlock(t.unref(yr),{key:0,"action-pending":d.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(Vi).Plugin,error:u.value,"need-confirm":"",title:c.value,visible:"",onCancel:b[0]||(b[0]=O=>k.$emit("closed")),onProceed:f},null,8,["action-pending","description","entity-name","entity-type","error","title"])):e.plugin?(t.openBlock(),t.createBlock(C,{key:1,"action-button-disabled":d.value,class:"delete-custom-plugin-schema-modal","data-testid":"delete-custom-plugin-schema-modal",title:c.value,visible:"",onCancel:b[2]||(b[2]=O=>k.$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(y,{appearance:"tertiary",class:"cancel-button","data-testid":"delete-custom-plugin-form-cancel",onClick:b[1]||(b[1]=O=>k.$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"]]),zv={class:"custom-plugins-grid"},Kv={class:"empty-state-title"},qv={class:"empty-state-description"},Xv={class:"plugin-card-container"},Jv={class:"plugin-card-container"},Zv=_e(t.defineComponent({__name:"PluginCustomGrid",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},canCreateCustomPlugin:{type:Boolean,default:!1},canDeleteCustomPlugin:{type:Boolean,default:!1},canEditCustomPlugin:{type:Boolean,default:!1},pluginList:{type:Object,default:()=>({})},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},emits:["plugin-clicked","revalidate","delete:success"],setup(e,{emit:n}){const i=e,a=n,{i18n:{t:o}}=we.useI18n(),{getPluginCards:r}=we.usePluginHelpers(),s=t.ref(!0),l=k=>{a("plugin-clicked",k)},c=t.computed(()=>{if(i.config.app==="kongManager")return[];const k=JSON.parse(JSON.stringify(i.pluginList))[T.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:T.CUSTOM_PLUGINS,description:o("plugins.select.tabs.custom.create.description")}].concat(k):k}),d=t.computed(()=>{var y,C;const k=(y=r("all",c.value,i.pluginsPerRow))==null?void 0:y.length,b=(C=r("hidden",c.value,i.pluginsPerRow))==null?void 0:C.length;return k>i.pluginsPerRow?o("plugins.select.view_more",{count:b}):o("plugins.select.view_less")}),u=t.ref(!1),m=t.ref(null),f=k=>{u.value=!0,m.value={id:k.id,name:k.name}},h=k=>{var b;k&&(a("revalidate"),a("delete:success",((b=m.value)==null?void 0:b.name)||"")),u.value=!1,m.value=null};return(k,b)=>{const y=t.resolveComponent("KEmptyState"),C=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock("div",zv,[c.value.length?(t.openBlock(),t.createBlock(C,{key:1,modelValue:s.value,"onUpdate:modelValue":b[0]||(b[0]=O=>s.value=O),class:"custom-plugins-collapse","data-testid":`${t.unref(T).CUSTOM_PLUGINS}-collapse`,title:t.unref(T).CUSTOM_PLUGINS,"trigger-label":d.value},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",Xv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("visible",c.value,e.pluginsPerRow),(O,x)=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${x}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:O,onCustomPluginDelete:w=>f(O),onPluginClicked:l},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin","onCustomPluginDelete"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",Jv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(r)("hidden",c.value,e.pluginsPerRow),(O,x)=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${x}`,"can-delete-custom-plugin":e.canDeleteCustomPlugin,"can-edit-custom-plugin":e.canEditCustomPlugin,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:O,onPluginClicked:l},null,8,["can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin"]))),128))])]),_:2},[c.value.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])):(t.openBlock(),t.createBlock(y,{key:0,"action-button-visible":!1,class:"custom-plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",Kv,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",qv,t.toDisplayString(t.unref(o)("plugins.select.tabs.custom.empty_description")),1)]),_:1})),u.value&&m.value?(t.openBlock(),t.createBlock(Hv,{key:2,config:e.config,plugin:m.value,onClosed:h,onProceed:b[1]||(b[1]=O=>h(!0))},null,8,["config","plugin"])):t.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-acd8a972"]]),Wv={class:"plugin-card-container"},Qv={class:"plugin-card-container"},Lc=_e(t.defineComponent({__name:"PluginSelectGroup",props:t.mergeModels({config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},name:{type:String,required:!0},plugins:{type:Array,required:!0},navigateOnClick:{type:Boolean,default:!0},pluginsPerRow:{type:Number,default:4}},{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}}=we.useI18n(),{getPluginCards:s}=we.usePluginHelpers(),l=t.computed(()=>{var u,m;const c=((u=s("all",a.plugins,a.pluginsPerRow))==null?void 0:u.length)||0,d=((m=s("hidden",a.plugins||[],a.pluginsPerRow))==null?void 0:m.length)||0;return c>a.pluginsPerRow?r("plugins.select.view_more",{count:d}):void 0});return(c,d)=>{const u=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(u,{modelValue:i.value,"onUpdate:modelValue":d[0]||(d[0]=m=>i.value=m),class:"plugins-collapse","data-testid":`${a.name}-collapse`,title:a.name,"trigger-label":i.value?l.value:t.unref(r)("plugins.select.view_less")},t.createSlots({"visible-content":t.withCtx(()=>[t.createElementVNode("div",Wv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(s)("visible",a.plugins,a.pluginsPerRow),m=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:f=>o("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),default:t.withCtx(()=>[t.createElementVNode("div",Qv,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(s)("hidden",a.plugins,a.pluginsPerRow),m=>(t.openBlock(),t.createBlock(Ti,{key:`plugin-card-${m.id}`,config:e.config,"navigate-on-click":e.navigateOnClick,plugin:m,onPluginClicked:f=>o("plugin-clicked",m)},null,8,["config","navigate-on-click","plugin","onPluginClicked"]))),128))])]),_:2},[a.plugins.length<=e.pluginsPerRow?{name:"trigger",fn:t.withCtx(()=>[t.createTextVNode(" ")]),key:"0"}:void 0]),1032,["modelValue","data-testid","title","trigger-label"])}}}),[["__scopeId","data-v-12700243"]]),_v={class:"plugin-select-grid"},$v={class:"empty-state-title"},eT={class:"empty-state-description"},_a=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},pluginsPerRow:{type:Number,default:4},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}}=we.useI18n(),r=t.ref(!1),s=t.ref(Vs),l=d=>{a("plugin-clicked",d)},c=t.computed(()=>{const d=JSON.parse(JSON.stringify(i.pluginList));return i.config.app==="konnect"&&delete d[T.CUSTOM_PLUGINS],d});return(d,u)=>{const m=t.resolveComponent("KEmptyState");return t.openBlock(),t.createElementBlock("div",_v,[Object.keys(c.value).length?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(m,{key:0,"action-button-visible":!1,class:"plugins-empty-state","data-testid":"plugins-empty-state","icon-variant":"kong"},{title:t.withCtx(()=>[t.createElementVNode("span",$v,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_title")),1)]),default:t.withCtx(()=>[t.createElementVNode("span",eT,t.toDisplayString(t.unref(o)("plugins.select.tabs.kong.empty_description")),1)]),_:1})),!i.hideHighlightedPlugins&&i.highlightedPlugins.length>0?(t.openBlock(),t.createBlock(Lc,{key:1,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=f=>r.value=f),config:e.config,name:i.highlightedPluginsTitle||t.unref(o)("plugins.select.highlighted_plugins.title"),"navigate-on-click":e.navigateOnClick,plugins:i.highlightedPlugins,"plugins-per-row":e.pluginsPerRow,onPluginClicked:u[1]||(u[1]=f=>l(f))},null,8,["modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(t.unref(Ns),f=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[c.value[f]?(t.openBlock(),t.createElementBlock("div",{key:f},[t.createVNode(Lc,{modelValue:s.value[f],"onUpdate:modelValue":h=>s.value[f]=h,config:e.config,name:f,"navigate-on-click":e.navigateOnClick,plugins:c.value[f]||[],"plugins-per-row":e.pluginsPerRow,onPluginClicked:u[2]||(u[2]=h=>l(h))},null,8,["modelValue","onUpdate:modelValue","config","name","navigate-on-click","plugins","plugins-per-row"])])):t.createCommentVNode("",!0)],64))),256))])}}}),tT={class:"kong-ui-entities-plugin-select-form"},nT={class:"plugins-filter-input-container"},iT={key:0},aT={key:3,"aria-live":"polite",class:"plugins-results-container"},oT={"data-testid":"kong-tab"},rT={class:"tab-description"},sT={"data-testid":"custom-tab"},lT={class:"tab-description"},cT=_e(t.defineComponent({__name:"PluginSelect",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||!e.getCreateRoute)},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:()=>({})},pluginsPerRow:{type:Number,default:4},highlightedPluginIds:{type:Array,default:()=>[]},highlightedPluginsTitle:{type:String,default:""}},emits:["loading","plugin-clicked","delete-custom:success"],setup(e,{emit:n}){var K,W;const i=e,a=n,o=Zt.useRoute(),r=Zt.useRouter(),{i18n:{t:s}}=we.useI18n(),{pluginMetaData:l}=we.usePluginMetaData(),{getMessageFromError:c}=ti(),{sortAlpha:d,objectsAreEqual:u}=ni(),m=t.ref(""),f=t.ref(!0),h=t.ref(!1),k=t.ref(""),b=t.ref([]),y=t.ref({}),C=t.ref([]),{axiosInstance:O}=nn((K=i.config)==null?void 0:K.axiosRequestConfig),x=t.computed(()=>y.value?Object.entries(y.value).filter(([j])=>j!==T.CUSTOM_PLUGINS).reduce((j,[,D])=>{for(const Z of D)j[Z.id]=Z;return j},{}):{}),w=t.computed(()=>{var Z;if(!y.value)return{};const j=m.value.toLowerCase(),D=JSON.parse(JSON.stringify(y.value));for(const G in y.value){const te=((Z=y.value[G])==null?void 0:Z.filter(le=>le.name.toLowerCase().includes(j)||le.id.toLowerCase().includes(j)||le.group.toLowerCase().includes(j)))||[];te.length?D[G]=te:delete D[G]}return D}),A=t.computed(()=>i.highlightedPluginIds.reduce((j,D)=>{const Z=x.value[D];return Z&&j.push(Z),j},[])),g=t.computed(()=>Object.keys(w.value).length>0),B=t.computed(()=>Object.keys(y.value).length>0&&!g.value),E=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}]:[],M=t.ref(E.length&&((o==null?void 0:o.hash)||((W=E[0])==null?void 0:W.hash))||""),U=()=>[...new Set([...Object.keys({...i.availableOnServer?{}:l}),...b.value])].filter(j=>!i.ignoredPlugins.includes(j)).filter(j=>i.config.entityType&&(i.config.entityType==="services"&&l[j]&&!l[j].scope.includes(p.SERVICE)||i.config.entityType==="routes"&&l[j]&&!l[j].scope.includes(p.ROUTE)||i.config.entityType==="consumer_groups"&&l[j]&&!l[j].scope.includes(p.CONSUMER_GROUP)||i.config.entityType==="consumers"&&l[j]&&!l[j].scope.includes(p.CONSUMER))?!1:j).reduce((j,D)=>{var ve;const Z=l[D]&&l[D].name||D,G={...l[D],id:D,name:Z,available:b.value.includes(D),disabledMessage:"",group:((ve=l[D])==null?void 0:ve.group)||T.CUSTOM_PLUGINS};i.disabledPlugins&&(G.disabledMessage=i.disabledPlugins[D]);const te=G.group||s("plugins.select.misc_plugins");let le=j[te];return le||(le=[]),le.push(G),le.sort(d("name")),j[te]=le,j},{}),L=t.computed(()=>{var D;let j=`${i.config.apiBaseUrl}${Se.select[i.config.app].availablePlugins}`;return i.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(j=((D=i.config.gatewayInfo)==null?void 0:D.edition)==="community"?`${i.config.apiBaseUrl}${Se.select[i.config.app].availablePluginsForOss}`:j.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),j}),F=t.computed(()=>{if(i.config.entityType&&i.config.entityId){let j=`${i.config.apiBaseUrl}${Se.list[i.config.app].forEntity}`;return i.config.app==="konnect"?j=j.replace(/{controlPlaneId}/gi,i.config.controlPlaneId||""):i.config.app==="kongManager"&&(j=j.replace(/\/{workspace}/gi,i.config.workspace?`/${i.config.workspace}`:"")),j.replace(/{entityType}/gi,i.config.entityType||"").replace(/{entityId}/gi,i.config.entityId||"")}return""}),R=j=>{r.replace({hash:j,query:o.query})};t.watch(()=>i.disabledPlugins,(j,D)=>{!u(j,D)&&!f.value&&(y.value=U())}),t.watch(()=>i.ignoredPlugins,(j,D)=>{!u(j,D)&&!f.value&&(y.value=U())}),t.watch(f,j=>{a("loading",j)});const V=t.ref(!1),q=t.ref(!1),z=t.ref(!1);return t.onBeforeMount(async()=>{V.value=await i.canCreateCustomPlugin(),q.value=await i.canEditCustomPlugin(),z.value=await i.canDeleteCustomPlugin()}),t.onMounted(async()=>{try{const{data:j}=await O.get(L.value);if(i.config.app==="konnect"){const{names:D}=j;b.value=D||[]}else if(i.config.app==="kongManager"){const{plugins:{available_on_server:D}}=j;b.value=D?Object.keys(D):[]}}catch(j){h.value=!0,k.value=c(j)}if(F.value)try{const{data:{data:j}}=await O.get(F.value);if(j!=null&&j.length){const D=j.reduce((Z,G)=>(G.name&&Z.push(G.name),Z),[]);C.value=C.value.concat(D)}}catch{}h.value||(y.value=U()),f.value=!1}),(j,D)=>{const Z=t.resolveComponent("KInput"),G=t.resolveComponent("KSkeletonBox"),te=t.resolveComponent("KSkeleton"),le=t.resolveComponent("KEmptyState"),ve=t.resolveComponent("KTooltip"),Xe=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",tT,[t.createElementVNode("div",nT,[t.createVNode(Z,{modelValue:m.value,"onUpdate:modelValue":D[0]||(D[0]=Ie=>m.value=Ie),modelModifiers:{trim:!0},class:"plugins-filter-input","data-testid":"plugins-filter",placeholder:t.unref(s)("search.placeholder.select"),type:"search"},null,8,["modelValue","placeholder"])]),f.value?(t.openBlock(),t.createElementBlock("section",iT,[t.createVNode(te,{"table-rows":1,type:"table"},{default:t.withCtx(()=>[t.createVNode(G,{width:"6"}),t.createVNode(G,{class:"title-loading-skeleton",width:"6"})]),_:1}),t.createVNode(Sv,{"card-count":8,type:"card"})])):h.value?(t.openBlock(),t.createBlock(le,{key:1,"action-button-visible":!1,"data-testid":"plugins-fetch-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(k.value),1)]),_:1})):B.value&&m.value?(t.openBlock(),t.createBlock(le,{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:m.value})),1)]),_:1})):(t.openBlock(),t.createElementBlock("section",aT,[t.unref(E).length&&!e.hideCustomPlugins?(t.openBlock(),t.createBlock(Xe,{key:0,modelValue:M.value,"onUpdate:modelValue":D[5]||(D[5]=Ie=>M.value=Ie),"data-testid":"plugins-tabs",tabs:t.unref(E),onChange:R},t.createSlots({kong:t.withCtx(()=>[t.createElementVNode("div",oT,[t.createElementVNode("p",rT,t.toDisplayString(t.unref(s)("plugins.select.tabs.kong.description")),1),t.createVNode(_a,{config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":A.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":w.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:D[1]||(D[1]=Ie=>j.$emit("plugin-clicked",Ie))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"])])]),custom:t.withCtx(()=>[t.createElementVNode("div",sT,[t.createElementVNode("p",lT,t.toDisplayString(t.unref(s)("plugins.select.tabs.custom.description")),1),t.createVNode(Zv,{"can-create-custom-plugin":V.value,"can-delete-custom-plugin":z.value,"can-edit-custom-plugin":q.value,config:e.config,"navigate-on-click":e.navigateOnClick,"plugin-list":w.value,"plugins-per-row":e.pluginsPerRow,"onDelete:success":D[2]||(D[2]=Ie=>j.$emit("delete-custom:success",Ie)),onPluginClicked:D[3]||(D[3]=Ie=>j.$emit("plugin-clicked",Ie)),onRevalidate:D[4]||(D[4]=()=>y.value=U())},null,8,["can-create-custom-plugin","can-delete-custom-plugin","can-edit-custom-plugin","config","navigate-on-click","plugin-list","plugins-per-row"])])]),_:2},[e.disableCustomPlugins?{name:"custom-anchor",fn:t.withCtx(()=>[t.createVNode(ve,{"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(_a,{key:1,config:e.config,"hide-highlighted-plugins":m.value.length>0,"highlighted-plugins":A.value,"highlighted-plugins-title":i.highlightedPluginsTitle,"navigate-on-click":e.navigateOnClick,"plugin-list":w.value,"plugins-per-row":e.pluginsPerRow,onPluginClicked:D[6]||(D[6]=Ie=>j.$emit("plugin-clicked",Ie))},null,8,["config","hide-highlighted-plugins","highlighted-plugins","highlighted-plugins-title","navigate-on-click","plugin-list","plugins-per-row"]))]))])}}}),[["__scopeId","data-v-c0dec08e"]]),dT={class:"kong-ui-entity-plugin-config-card"},pT={class:"name-cell-wrapper"},uT={class:"info-name"},mT={key:0},gT={key:0},fT={key:0},AT={key:0},$a="config",hT=_e(t.defineComponent({__name:"PluginConfigCard",props:{config:{type:Object,required:!0,validator:e=>!(!e||!["konnect","kongManager"].includes(e==null?void 0:e.app)||e.app==="konnect"&&!e.controlPlaneId||e.app==="kongManager"&&typeof e.workspace!="string"||!e.entityId||!e.pluginType)},configCardDoc:{type:String,default:"",required:!1},showIdAsLink:{type:Boolean,default:!1},hideTitle:{type:Boolean,default:!1},scopedEntityType:{type:String,required:!1,default:""},scopedEntityId:{type:String,required:!1,default:""}},emits:["loading","fetch:error","error:fetch-schema","fetch:success","navigation-click"],setup(e,{emit:n}){var O;const i=n,a=e,{i18n:{t:o}}=we.useI18n(),r=we.usePluginMetaData(),{setFieldType:s}=we.usePluginHelpers(),{getPropValue:l}=ni(),c=t.computed(()=>{var x;return(x=Se.item[a.config.app])==null?void 0:x[a.scopedEntityType?"forEntity":"all"].replace(/{entityType}/gi,a.scopedEntityType).replace(/{entityId}/gi,a.scopedEntityId)}),d=t.computed(()=>{var A,g;const x={},w=((A=b.value)==null?void 0:A.fields)||[];for(let B=0;B<w.length;B++){const E=b.value.fields[B],M=(g=Object.keys(E))==null?void 0:g[0];s(x,M,E[M])}return{...x,instance_name:{section:xe.Basic,order:1.5},consumer:{label:o("plugins.fields.consumer"),section:xe.Basic,order:6},route:{label:o("plugins.fields.route"),section:xe.Basic,order:6},service:{label:o("plugins.fields.service"),section:xe.Basic,order:6},consumer_group:{label:o("plugins.fields.consumer_group"),section:xe.Basic,order:6},protocols:{type:_.BadgeTag,section:xe.Basic,order:7}}}),u=t.computed(()=>{var w,A,g;if(!((w=b.value)!=null&&w.fields))return[];const x=(A=b.value.fields)==null?void 0:A.find(B=>{var M;return((M=Object.keys(B))==null?void 0:M[0])===$a});return((g=x==null?void 0:x[$a])==null?void 0:g.fields)||[]}),m=t.computed(()=>{var w,A;const x={};if(!u.value)return x;for(let g=0;g<((w=u.value)==null?void 0:w.length);g++){const B=u.value[g],E=(A=Object.keys(B))==null?void 0:A[0],M=B[E];M.required&&(x[E]={order:1}),s(x,E,M)}return x}),{getMessageFromError:f}=ti(),{axiosInstance:h}=nn((O=a.config)==null?void 0:O.axiosRequestConfig),k=t.computed(()=>{var w,A;let x=`${a.config.apiBaseUrl}${Se.form[a.config.app].pluginSchema}`;return a.config.app==="konnect"?x=x.replace(/{controlPlaneId}/gi,((w=a.config)==null?void 0:w.controlPlaneId)||""):a.config.app==="kongManager"&&(x=x.replace(/\/{workspace}/gi,(A=a.config)!=null&&A.workspace?`/${a.config.workspace}`:"")),x=x.replace(/{plugin}/gi,a.config.pluginType),x}),b=t.ref({}),y=t.ref(!1),C=t.ref("");return t.onBeforeMount(async()=>{y.value=!0;try{const{data:x}=await h.get(k.value);b.value=x}catch(x){C.value=f(x),i("error:fetch-schema",x)}finally{y.value=!1}}),(x,w)=>{const A=t.resolveComponent("KSkeleton"),g=t.resolveComponent("KEmptyState"),B=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",dT,[y.value?(t.openBlock(),t.createBlock(A,{key:0,"data-testid":"plugin-config-card-loader","table-columns":2,type:"table"})):C.value?(t.openBlock(),t.createBlock(g,{key:1,"data-testid":"plugin-config-card-schema-error","icon-variant":"error"},{default:t.withCtx(()=>[t.createElementVNode("h3",null,t.toDisplayString(C.value),1)]),_:1})):(t.openBlock(),t.createBlock(t.unref(Km),{key:2,config:e.config,"config-card-doc":e.configCardDoc,"config-schema":d.value,"fetch-url":c.value,"hide-title":e.hideTitle,"plugin-config-key":$a,"plugin-config-schema":m.value,"onFetch:error":w[0]||(w[0]=E=>x.$emit("fetch:error",E)),"onFetch:success":w[1]||(w[1]=E=>x.$emit("fetch:success",E)),onLoading:w[2]||(w[2]=E=>x.$emit("loading",E))},{name:t.withCtx(E=>[t.createElementVNode("div",pT,[t.createVNode(vi,{class:"plugin-icon",name:t.unref(l)("rowValue",E),width:24},null,8,["name"]),t.createElementVNode("span",uT,t.toDisplayString(t.unref(r).getDisplayName(t.unref(l)("rowValue",E))),1)])]),consumer:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"consumer")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"consumer-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",mT,"–"))]),route:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"route")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"route-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",gT,"–"))]),service:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"service")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"service-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",fT,"–"))]),consumer_group:t.withCtx(E=>[t.unref(l)("rowValue",E)?e.showIdAsLink?(t.openBlock(),t.createBlock(t.unref(fn),{key:1,item:{key:t.unref(l)("rowValue",E).id,value:t.unref(l)("rowValue",E).id,type:t.unref(_).LinkInternal},onNavigationClick:()=>x.$emit("navigation-click",t.unref(l)("rowValue",E).id,"consumer_group")},null,8,["item","onNavigationClick"])):(t.openBlock(),t.createBlock(B,{key:2,"copy-tooltip":t.unref(o)("copy.tooltip",{label:t.unref(l)("row",E).label}),"data-testid":"consumer-group-copy-uuid",text:t.unref(l)("rowValue",E).id},null,8,["copy-tooltip","text"])):(t.openBlock(),t.createElementBlock("span",AT,"–"))]),_:1},8,["config","config-card-doc","config-schema","fetch-url","hide-title","plugin-config-schema"]))])}}}),[["__scopeId","data-v-3e4f66ec"]]),{usePluginMetaData:yT}=we;H.EntityTypeIdField=Dt,H.PLUGIN_GROUPS_COLLAPSE_STATUS=Vs,H.PluginConfigCard=hT,H.PluginForm=dv,H.PluginGroup=T,H.PluginGroupArray=Ns,H.PluginIcon=vi,H.PluginList=wv,H.PluginScope=p,H.PluginSelect=cT,H.PluginSelectGrid=_a,H.VueFormGenerator=Fe,H.getPluginIconURL=Gs,H.pluginEndpoints=Se,H.usePluginMetaData=yT,Object.defineProperty(H,Symbol.toStringTag,{value:"Module"})});
|