@kong-ui-public/entities-certificates 1.1.6 → 1.1.8
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.
|
@@ -110,8 +110,8 @@ ${e.join(`
|
|
|
110
110
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
111
111
|
* SOFTWARE.
|
|
112
112
|
*
|
|
113
|
-
*/const Sn="crypto.algorithm";class xf{getAlgorithms(){return He.resolveAll(Sn)}toAsnAlgorithm(e){({...e});for(const t of this.getAlgorithms()){const n=t.toAsnAlgorithm(e);if(n)return n}if(
|
|
113
|
+
*/const Sn="crypto.algorithm";class xf{getAlgorithms(){return He.resolveAll(Sn)}toAsnAlgorithm(e){({...e});for(const t of this.getAlgorithms()){const n=t.toAsnAlgorithm(e);if(n)return n}if(/^[0-9.]+$/.test(e.name)){const t=new R({algorithm:e.name});if("parameters"in e){const n=e;t.parameters=n.parameters}return t}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(e){for(const n of this.getAlgorithms()){const o=n.toWebAlgorithm(e);if(o)return o}return{name:e.algorithm,parameters:e.parameters}}}const Cn="crypto.algorithmProvider";He.registerSingleton(Cn,xf);var xn;const Oe="1.3.36.3.3.2.8.1.1",xl=`${Oe}.1`,Al=`${Oe}.2`,Bl=`${Oe}.3`,Il=`${Oe}.4`,El=`${Oe}.5`,Nl=`${Oe}.6`,_l=`${Oe}.7`,Ol=`${Oe}.8`,Tl=`${Oe}.9`,Vl=`${Oe}.10`,jl=`${Oe}.11`,Pl=`${Oe}.12`,Dl=`${Oe}.13`,$l=`${Oe}.14`,Rl="brainpoolP160r1",Ml="brainpoolP160t1",Ul="brainpoolP192r1",Ll="brainpoolP192t1",Hl="brainpoolP224r1",Fl="brainpoolP224t1",Kl="brainpoolP256r1",ql="brainpoolP256t1",zl="brainpoolP320r1",Gl="brainpoolP320t1",Wl="brainpoolP384r1",Jl="brainpoolP384t1",Yl="brainpoolP512r1",Zl="brainpoolP512t1",pe="ECDSA";let Qr=xn=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case pe.toLowerCase():if("hash"in e)switch((typeof e.hash=="string"?e.hash:e.hash.name).toLowerCase()){case"sha-1":return Gd;case"sha-256":return Wd;case"sha-384":return Jd;case"sha-512":return Yd}else if("namedCurve"in e){let t="";switch(e.namedCurve){case"P-256":t=Dc;break;case"K-256":t=xn.SECP256K1;break;case"P-384":t=$c;break;case"P-521":t=Rc;break;case Rl:t=xl;break;case Ml:t=Al;break;case Ul:t=Bl;break;case Ll:t=Il;break;case Hl:t=El;break;case Fl:t=Nl;break;case Kl:t=_l;break;case ql:t=Ol;break;case zl:t=Tl;break;case Gl:t=Vl;break;case Wl:t=jl;break;case Jl:t=Pl;break;case Yl:t=Dl;break;case Zl:t=$l;break}if(t)return new R({algorithm:zr,parameters:U.serialize(new yr({namedCurve:t}))})}}return null}toWebAlgorithm(e){switch(e.algorithm){case is:return{name:pe,hash:{name:"SHA-1"}};case ns:return{name:pe,hash:{name:"SHA-256"}};case os:return{name:pe,hash:{name:"SHA-384"}};case ss:return{name:pe,hash:{name:"SHA-512"}};case zr:{if(!e.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(U.parse(e.parameters,yr).namedCurve){case Dc:return{name:pe,namedCurve:"P-256"};case xn.SECP256K1:return{name:pe,namedCurve:"K-256"};case $c:return{name:pe,namedCurve:"P-384"};case Rc:return{name:pe,namedCurve:"P-521"};case xl:return{name:pe,namedCurve:Rl};case Al:return{name:pe,namedCurve:Ml};case Bl:return{name:pe,namedCurve:Ul};case Il:return{name:pe,namedCurve:Ll};case El:return{name:pe,namedCurve:Hl};case Nl:return{name:pe,namedCurve:Fl};case _l:return{name:pe,namedCurve:Kl};case Ol:return{name:pe,namedCurve:ql};case Tl:return{name:pe,namedCurve:zl};case Vl:return{name:pe,namedCurve:Gl};case jl:return{name:pe,namedCurve:Wl};case Pl:return{name:pe,namedCurve:Jl};case Dl:return{name:pe,namedCurve:Yl};case $l:return{name:pe,namedCurve:Zl}}}}return null}};Qr.SECP256K1="1.3.132.0.10",Qr=xn=a([ms()],Qr),He.registerSingleton(Sn,Qr);const Ql=Symbol("name"),Xl=Symbol("value");class se{constructor(e,t={},n=""){this[Ql]=e,this[Xl]=n;for(const o in t)this[o]=t[o]}}se.NAME=Ql,se.VALUE=Xl;class Af{static toTextObject(e){const t=new se("Algorithm Identifier",{},kt.toString(e.algorithm));if(e.parameters)switch(e.algorithm){case zr:{const n=new Qr().toWebAlgorithm(e);n&&"namedCurve"in n?t["Named Curve"]=n.namedCurve:t.Parameters=e.parameters;break}default:t.Parameters=e.parameters}return t}}class kt{static toString(e){const t=this.items[e];return t||e}}kt.items={[Lc]:"sha1",[Hc]:"sha224",[Fc]:"sha256",[Kc]:"sha384",[qc]:"sha512",[gr]:"rsaEncryption",[nn]:"sha1WithRSAEncryption",[rf]:"sha224WithRSAEncryption",[as]:"sha256WithRSAEncryption",[on]:"sha384WithRSAEncryption",[sn]:"sha512WithRSAEncryption",[zr]:"ecPublicKey",[is]:"ecdsaWithSHA1",[Pc]:"ecdsaWithSHA224",[ns]:"ecdsaWithSHA256",[os]:"ecdsaWithSHA384",[ss]:"ecdsaWithSHA512",[Ud]:"TLS WWW server authentication",[Ld]:"TLS WWW client authentication",[Hd]:"Code Signing",[Fd]:"E-mail Protection",[Kd]:"Time Stamping",[qd]:"OCSP Signing",[zd]:"Signed Data"};class Ht{static serialize(e){return this.serializeObj(e).join(`
|
|
114
114
|
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,t=0){const n=[];let o=this.pad(t++),s="";const c=e[se.VALUE];c&&(s=` ${c}`),n.push(`${o}${e[se.NAME]}:${s}`),o=this.pad(t);for(const d in e){if(typeof d=="symbol")continue;const u=e[d],f=d?`${d}: `:"";if(typeof u=="string"||typeof u=="number"||typeof u=="boolean")n.push(`${o}${f}${u}`);else if(u instanceof Date)n.push(`${o}${f}${u.toUTCString()}`);else if(Array.isArray(u))for(const h of u)h[se.NAME]=d,n.push(...this.serializeObj(h,t));else if(u instanceof se)u[se.NAME]=d,n.push(...this.serializeObj(u,t));else if(P.isBufferSource(u))d?(n.push(`${o}${f}`),n.push(...this.serializeBufferSource(u,t+1))):n.push(...this.serializeBufferSource(u,t));else if("toTextObject"in u){const h=u.toTextObject();h[se.NAME]=d,n.push(...this.serializeObj(h,t))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return n}static serializeBufferSource(e,t=0){const n=this.pad(t),o=P.toUint8Array(e),s=[];for(let c=0;c<o.length;){const d=[];for(let u=0;u<16&&c<o.length;u++){u===8&&d.push("");const f=o[c++].toString(16).padStart(2,"0");d.push(f)}s.push(`${n}${d.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}Ht.oidSerializer=kt,Ht.algorithmSerializer=Af;class St{constructor(...e){if(e.length===1){const t=e[0];this.rawData=U.serialize(t),this.onInit(t)}else{const t=U.parse(e[0],e[1]);this.rawData=P.toArrayBuffer(e[0]),this.onInit(t)}}equal(e){return e instanceof St?ia(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return U.toString(this.rawData);case"text":return Ht.serialize(this.toTextObject());case"hex":return $.ToHex(this.rawData);case"base64":return $.ToBase64(this.rawData);case"base64url":return $.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new se(this.getTextName(),{},e)}}St.NAME="ASN";class et extends St{constructor(...e){let t;P.isBufferSource(e[0])?t=P.toArrayBuffer(e[0]):t=U.serialize(new Ge({extnID:e[0],critical:e[1],extnValue:new te(P.toArrayBuffer(e[2]))})),super(t,Ge)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[se.NAME]===et.NAME&&(e[se.NAME]=kt.toString(this.type)),e}}var eu;class Ft{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&e.extractable!==void 0}constructor(){this.items=new Map,this[eu]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"&&this.set(Ft.DEFAULT,crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,t){return this.items.forEach(e,t)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=Ft.DEFAULT){const t=this.items.get(e.toLowerCase());if(!t)throw new Error(`Cannot get Crypto by name '${e}'`);return t}set(e,t){if(typeof e=="string"){if(!t)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),t)}else this.items.set(Ft.DEFAULT,e);return this}}eu=Symbol.toStringTag,Ft.DEFAULT="default";const De=new Ft,Bf=/^[0-2](?:\.[1-9][0-9]*)+$/;function If(r){return new RegExp(Bf).test(r)}class tu{constructor(e={}){this.items={};for(const t in e)this.register(t,e[t])}get(e){return this.items[e]||null}findId(e){return If(e)?e:this.get(e)}register(e,t){this.items[e]=t,this.items[t]=e}}const Te=new tu;Te.register("CN","2.5.4.3"),Te.register("L","2.5.4.7"),Te.register("ST","2.5.4.8"),Te.register("O","2.5.4.10"),Te.register("OU","2.5.4.11"),Te.register("C","2.5.4.6"),Te.register("DC","0.9.2342.19200300.100.1.25"),Te.register("E","1.2.840.113549.1.9.1"),Te.register("G","2.5.4.42"),Te.register("I","2.5.4.43"),Te.register("SN","2.5.4.4"),Te.register("T","2.5.4.12");function Ef(r,e){return`\\${$.ToHex($.FromUtf8String(e)).toUpperCase()}`}function Nf(r){return r.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,Ef)}class Ct{static isASCII(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!1;return!0}constructor(e,t={}){this.extraNames=new tu,this.asn=new he;for(const n in t)if(Object.prototype.hasOwnProperty.call(t,n)){const o=t[n];this.extraNames.register(n,o)}typeof e=="string"?this.asn=this.fromString(e):e instanceof he?this.asn=e:P.isBufferSource(e)?this.asn=U.parse(e,he):this.asn=this.fromJSON(e)}getField(e){const t=this.extraNames.findId(e)||Te.findId(e),n=[];for(const o of this.asn)for(const s of o)s.type===t&&n.push(s.value.toString());return n}getName(e){return this.extraNames.get(e)||Te.get(e)}toString(){return this.asn.map(e=>e.map(t=>{const n=this.getName(t.type)||t.type,o=t.value.anyValue?`#${$.ToHex(t.value.anyValue)}`:Nf(t.value.toString());return`${n}=${o}`}).join("+")).join(", ")}toJSON(){var e;const t=[];for(const n of this.asn){const o={};for(const s of n){const c=this.getName(s.type)||s.type;(e=o[c])!==null&&e!==void 0||(o[c]=[]),o[c].push(s.value.anyValue?`#${$.ToHex(s.value.anyValue)}`:s.value.toString())}t.push(o)}return t}fromString(e){const t=new he,n=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let o=null,s=",";for(;o=n.exec(`${e},`);){let[,c,d]=o;const u=d[d.length-1];(u===","||u==="+")&&(d=d.slice(0,d.length-1),o[3]=u);const f=o[3];if(/[\d.]+/.test(c)||(c=this.getName(c)||""),!c)throw new Error(`Cannot get OID for name type '${c}'`);const h=new _r({type:c});if(d.charAt(0)==="#")h.value.anyValue=$.FromHex(d.slice(1));else{const w=/"(.*?[^\\])?"/.exec(d);w&&(d=w[1]),d=d.replace(/\\0a/ig,`
|
|
115
115
|
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1"),c===this.getName("E")||c===this.getName("DC")?h.value.ia5String=d:Ct.isASCII(d)?h.value.printableString=d:h.value.utf8String=d}s==="+"?t[t.length-1].push(h):t.push(new Xt([h])),s=f}return t}fromJSON(e){const t=new he;for(const n of e){const o=new Xt;for(const s in n){let c=s;if(/[\d.]+/.test(s)||(c=this.getName(s)||""),!c)throw new Error(`Cannot get OID for name type '${s}'`);const d=n[s];for(const u of d){const f=new _r({type:c});if(typeof u=="object")for(const h in u)switch(h){case"ia5String":f.value.ia5String=u[h];break;case"utf8String":f.value.utf8String=u[h];break;case"universalString":f.value.universalString=u[h];break;case"bmpString":f.value.bmpString=u[h];break;case"printableString":f.value.printableString=u[h];break}else u[0]==="#"?f.value.anyValue=$.FromHex(u.slice(1)):c===this.getName("E")||c===this.getName("DC")?f.value.ia5String=u:f.value.printableString=u;o.push(f)}}t.push(o)}return t}toArrayBuffer(){return U.serialize(this.asn)}async getThumbprint(...e){var t;let n,o="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(o=e[0]||o,n=e[1]||De.get()):n=e[0]||De.get(),await n.subtle.digest(o,this.toArrayBuffer())}}const ru="Cannot initialize GeneralName from ASN.1 data.",iu=`${ru} Unsupported string format in use.`,_f=`${ru} Value doesn't match to GUID regular expression.`,nu=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,ou="1.3.6.1.4.1.311.25.1",su="1.3.6.1.4.1.311.20.2.3",Ds="dns",$s="dn",Rs="email",Ms="ip",Us="url",Ls="guid",Hs="upn",An="id";class au extends St{constructor(...e){let t;if(e.length===2)switch(e[0]){case $s:{const n=new Ct(e[1]).toArrayBuffer(),o=U.parse(n,he);t=new Y({directoryName:o});break}case Ds:t=new Y({dNSName:e[1]});break;case Rs:t=new Y({rfc822Name:e[1]});break;case Ls:{const n=new RegExp(nu,"i").exec(e[1]);if(!n)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const o=n.slice(1).map((s,c)=>c<3?$.ToHex(new Uint8Array($.FromHex(s)).reverse()):s).join("");t=new Y({otherName:new Or({typeId:ou,value:U.serialize(new te($.FromHex(o)))})});break}case Ms:t=new Y({iPAddress:e[1]});break;case An:t=new Y({registeredID:e[1]});break;case Hs:{t=new Y({otherName:new Or({typeId:su,value:U.serialize(oc.toASN(e[1]))})});break}case Us:t=new Y({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else P.isBufferSource(e[0])?t=U.parse(e[0],Y):t=e[0];super(t)}onInit(e){if(e.dNSName!=null)this.type=Ds,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=Rs,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=Ms,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=Us,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=An,this.value=e.registeredID;else if(e.directoryName!=null)this.type=$s,this.value=new Ct(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===ou){this.type=Ls;const t=U.parse(e.otherName.value,te),n=new RegExp(nu,"i").exec($.ToHex(t));if(!n)throw new Error(_f);this.value=n.slice(1).map((o,s)=>s<3?$.ToHex(new Uint8Array($.FromHex(o)).reverse()):o).join("-")}else if(e.otherName.typeId===su)this.type=Hs,this.value=U.parse(e.otherName.value,be).toString();else throw new Error(iu);else throw new Error(iu)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case $s:case Ds:case Ls:case Ms:case An:case Hs:case Us:e=this.type.toUpperCase();break;case Rs:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let t=this.value;return this.type===An&&(t=kt.toString(t)),new se(e,void 0,t)}}class Xr extends St{constructor(e){let t;if(e instanceof Ae)t=e;else if(Array.isArray(e)){const n=[];for(const o of e)if(o instanceof Y)n.push(o);else{const s=U.parse(new au(o.type,o.value).rawData,Y);n.push(s)}t=new Ae(n)}else if(P.isBufferSource(e))t=U.parse(e,Ae);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(t)}onInit(e){const t=[];for(const n of e){let o=null;try{o=new au(n)}catch{continue}t.push(o)}this.items=t}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const t of this.items){const n=t.toTextObject();let o=e[n[se.NAME]];Array.isArray(o)||(o=[],e[n[se.NAME]]=o),o.push(n)}return e}}Xr.NAME="GeneralNames";const ei="-{5}",ti="\\n",Of=`[^${ti}]+`,Tf=`${ei}BEGIN (${Of}(?=${ei}))${ei}`,Vf=`${ei}END \\1${ei}`,vr="\\n",jf=`[^:${ti}]+`,Pf=`(?:[^${ti}]+${vr}(?: +[^${ti}]+${vr})*)`,Df=`(?:[a-zA-Z0-9=+/]+${vr})+`,cu=`${Tf}${vr}(?:((?:${jf}: ${Pf})+))?${vr}?(${Df})${Vf}`;class $e{static isPem(e){return typeof e=="string"&&new RegExp(cu,"g").test(e)}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const t=new RegExp(cu,"g"),n=[];let o=null;for(;o=t.exec(e);){const s=o[3].replace(new RegExp(`[${ti}]+`,"g"),""),c={type:o[1],headers:[],rawData:$.FromBase64(s)},d=o[2];if(d){const u=d.split(new RegExp(vr,"g"));let f=null;for(const h of u){const[w,T]=h.split(/:(.*)/);if(T===void 0){if(!f)throw new Error("Cannot parse PEM string. Incorrect header value");f.value+=w.trim()}else f&&c.headers.push(f),f={key:w,value:T.trim()}}f&&c.headers.push(f)}n.push(c)}return n}static decode(e){return this.decodeWithHeaders(e).map(n=>n.rawData)}static decodeFirst(e){const t=this.decode(e);if(!t.length)throw new RangeError("PEM string doesn't contain any objects");return t[0]}static encode(e,t){if(Array.isArray(e)){const n=new Array;return t?e.forEach(o=>{if(!P.isBufferSource(o))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");n.push(this.encodeStruct({type:t,rawData:P.toArrayBuffer(o)}))}):e.forEach(o=>{if(!("type"in o))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");n.push(this.encodeStruct(o))}),n.join(`
|
|
116
116
|
`)}else{if(!t)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:t,rawData:P.toArrayBuffer(e)})}}static encodeStruct(e){var t;const n=e.type.toLocaleUpperCase(),o=[];if(o.push(`-----BEGIN ${n}-----`),!((t=e.headers)===null||t===void 0)&&t.length){for(const f of e.headers)o.push(`${f.key}: ${f.value}`);o.push("")}const s=$.ToBase64(e.rawData);let c,d=0;const u=Array();for(;d<s.length&&(s.length-d<64?c=s.substring(d):(c=s.substring(d,d+64),d+=64),c.length!==0);)if(u.push(c),c.length<64)break;return o.push(...u),o.push(`-----END ${n}-----`),o.join(`
|
|
117
|
-
`)}}$e.CertificateTag="CERTIFICATE",$e.CrlTag="CRL",$e.CertificateRequestTag="CERTIFICATE REQUEST",$e.PublicKeyTag="PUBLIC KEY",$e.PrivateKeyTag="PRIVATE KEY";class yt extends St{static isAsnEncoded(e){return P.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if($e.isPem(e))return $e.decode(e)[0];if($.isHex(e))return $.FromHex(e);if($.isBase64(e))return $.FromBase64(e);if($.isBase64Url(e))return $.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const t=$.ToBinary(e);return $e.isPem(t)?$e.decode(t)[0]:$.isHex(t)?$.FromHex(t):$.isBase64(t)?$.FromBase64(t):$.isBase64Url(t)?$.FromBase64Url(t):P.toArrayBuffer(e)}}constructor(...e){yt.isAsnEncoded(e[0])?super(yt.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return $e.encode(this.rawData,this.tag);default:return super.toString(e)}}}class Kt extends yt{constructor(e){yt.isAsnEncoded(e)?super(e,dt):super(e),this.tag=$e.PublicKeyTag}async export(...e){let t,n=["verify"],o={hash:"SHA-256",...this.algorithm};return e.length>1?(o=e[0]||o,n=e[1]||n,t=e[2]||De.get()):t=e[0]||De.get(),t.subtle.importKey("spki",this.rawData,o,!0,n)}onInit(e){const t=He.resolve(Cn),n=this.algorithm=t.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case gr:{const o=U.parse(e.subjectPublicKey,ds),s=P.toUint8Array(o.modulus);n.publicExponent=P.toUint8Array(o.publicExponent),n.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var t;let n,o="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(o=e[0]||o,n=e[1]||De.get()):n=e[0]||De.get(),await n.subtle.digest(o,this.rawData)}async getKeyIdentifier(e){e||(e=De.get());const t=U.parse(this.rawData,dt);return await e.subtle.digest("SHA-1",t.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),t=U.parse(this.rawData,dt);switch(e.Algorithm=Ht.serializeAlgorithm(t.algorithm),t.algorithm.algorithm){case zr:e["EC Point"]=t.subjectPublicKey;break;case gr:default:e["Raw Data"]=t.subjectPublicKey}return e}}class tt{static register(e,t){this.items.set(e,t)}static create(e){const t=new et(e),n=this.items.get(t.type);return n?new n(e):t}}tt.items=new Map;const Bn="crypto.signatureFormatter";class $f{toAsnSignature(e,t){return P.toArrayBuffer(t)}toWebSignature(e,t){return P.toArrayBuffer(t)}}class In extends yt{constructor(e){yt.isAsnEncoded(e)?super(e,ir):super(e),this.tag=$e.CertificateTag}onInit(e){const t=e.tbsCertificate;this.tbs=U.serialize(t),this.serialNumber=$.ToHex(t.serialNumber),this.subjectName=new Ct(t.subject),this.subject=new Ct(t.subject).toString(),this.issuerName=new Ct(t.issuer),this.issuer=this.issuerName.toString();const n=He.resolve(Cn);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const o=t.validity.notBefore.utcTime||t.validity.notBefore.generalTime;if(!o)throw new Error("Cannot get 'notBefore' value");this.notBefore=o;const s=t.validity.notAfter.utcTime||t.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],t.extensions&&(this.extensions=t.extensions.map(c=>tt.create(U.serialize(c)))),this.publicKey=new Kt(t.subjectPublicKeyInfo)}getExtension(e){for(const t of this.extensions)if(typeof e=="string"){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>typeof e=="string"?t.type===e:t instanceof e)}async verify(e={},t=De.get()){let n,o;const s=e.publicKey;try{if(!s)n={...this.publicKey.algorithm,...this.signatureAlgorithm},o=await this.publicKey.export(n,["verify"],t);else if("publicKey"in s)n={...s.publicKey.algorithm,...this.signatureAlgorithm},o=await s.publicKey.export(n,["verify"],t);else if(s instanceof Kt)n={...s.algorithm,...this.signatureAlgorithm},o=await s.export(n,["verify"],t);else if(P.isBufferSource(s)){const f=new Kt(s);n={...f.algorithm,...this.signatureAlgorithm},o=await f.export(n,["verify"],t)}else n={...s.algorithm,...this.signatureAlgorithm},o=s}catch{return!1}const c=He.resolveAll(Bn).reverse();let d=null;for(const f of c)if(d=f.toWebSignature(n,this.signature),d)break;if(!d)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const u=await t.subtle.verify(this.signatureAlgorithm,o,d,this.tbs);if(e.signatureOnly)return u;{const h=(e.date||new Date).getTime();return u&&this.notBefore.getTime()<h&&h<this.notAfter.getTime()}}async getThumbprint(...e){let t,n="SHA-1";return e[0]&&(e[0].subtle?t=e[0]:(n=e[0]||n,t=e[1])),t??(t=De.get()),await t.subtle.digest(n,this.rawData)}async isSelfSigned(e=De.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),t=U.parse(this.rawData,ir),n=t.tbsCertificate,o=new se("",{Version:`${rr[n.version]} (${n.version})`,"Serial Number":n.serialNumber,"Signature Algorithm":Ht.serializeAlgorithm(n.signature),Issuer:this.issuer,Validity:new se("",{"Not Before":n.validity.notBefore.getTime(),"Not After":n.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(n.issuerUniqueID&&(o["Issuer Unique ID"]=n.issuerUniqueID),n.subjectUniqueID&&(o["Subject Unique ID"]=n.subjectUniqueID),this.extensions.length){const s=new se("");for(const c of this.extensions){const d=c.toTextObject();s[d[se.NAME]]=d}o.Extensions=s}return e.Data=o,e.Signature=new se("",{Algorithm:Ht.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}In.NAME="Certificate";class ri extends et{static async create(e,t=!1,n=De.get()){if(e instanceof In||Ft.isCryptoKey(e)){const o=e instanceof In?await e.publicKey.export(n):e,s=await n.subtle.exportKey("spki",o),d=await new Kt(s).getKeyIdentifier(n);return new ri($.ToHex(d),t)}else return new ri(e,t)}constructor(...e){if(P.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const t=new Pt({keyIdentifier:new oo($.FromHex(e[0]))});super(no,e[1],U.serialize(t))}else{const t=e[0],n=t.name instanceof Xr?U.parse(t.name.rawData,Ae):t.name,o=new Pt({authorityCertIssuer:n,authorityCertSerialNumber:$.FromHex(t.serialNumber)});super(no,e[1],U.serialize(o))}}onInit(e){super.onInit(e);const t=U.parse(e.extnValue,Pt);t.keyIdentifier&&(this.keyId=$.ToHex(t.keyIdentifier)),t.authorityCertIssuer&&t.authorityCertSerialNumber&&(this.certId={name:t.authorityCertIssuer,serialNumber:$.ToHex(t.authorityCertSerialNumber)})}toTextObject(){const e=this.toTextObjectWithoutValue(),t=U.parse(this.value,Pt);return t.authorityCertIssuer&&(e["Authority Issuer"]=new Xr(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}ri.NAME="Authority Key Identifier";class lu extends et{constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,Bi);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new Bi({cA:e[0],pathLenConstraint:e[1]});super(fc,e[2],U.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}lu.NAME="Basic Constraints";var uu;(function(r){r.serverAuth="1.3.6.1.5.5.7.3.1",r.clientAuth="1.3.6.1.5.5.7.3.2",r.codeSigning="1.3.6.1.5.5.7.3.3",r.emailProtection="1.3.6.1.5.5.7.3.4",r.timeStamping="1.3.6.1.5.5.7.3.8",r.ocspSigning="1.3.6.1.5.5.7.3.9"})(uu||(uu={}));class du extends et{constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,Oi);this.usages=t.map(n=>n)}else{const t=new Oi(e[0]);super(bc,e[1],U.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(t=>kt.toString(t)).join(", "),e}}du.NAME="Extended Key Usages";var Fs;(function(r){r[r.digitalSignature=1]="digitalSignature",r[r.nonRepudiation=2]="nonRepudiation",r[r.keyEncipherment=4]="keyEncipherment",r[r.dataEncipherment=8]="dataEncipherment",r[r.keyAgreement=16]="keyAgreement",r[r.keyCertSign=32]="keyCertSign",r[r.cRLSign=64]="cRLSign",r[r.encipherOnly=128]="encipherOnly",r[r.decipherOnly=256]="decipherOnly"})(Fs||(Fs={}));class Ks extends et{constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,ko);this.usages=t.toNumber()}else{const t=new ko(e[0]);super(wc,e[1],U.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=U.parse(this.value,ko);return e[""]=t.toJSON().join(", "),e}}Ks.NAME="Key Usages";class En extends et{static async create(e,t=!1,n=De.get()){let o;e instanceof Kt?o=e.rawData:"publicKey"in e?o=e.publicKey.rawData:P.isBufferSource(e)?o=e:o=await n.subtle.exportKey("spki",e);const c=await new Kt(o).getKeyIdentifier(n);return new En($.ToHex(c),t)}constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,vt);this.keyId=$.ToHex(t)}else{const t=typeof e[0]=="string"?$.FromHex(e[0]):e[0],n=new vt(t);super(Bc,e[1],U.serialize(n)),this.keyId=$.ToHex(t)}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=U.parse(this.value,vt);return e[""]=t,e}}En.NAME="Subject Key Identifier";class qs extends et{constructor(...e){P.isBufferSource(e[0])?super(e[0]):super(xc,e[1],new Xr(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=U.parse(e.extnValue,Bo);this.names=new Xr(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const n in t)e[n]=t[n];return e}}qs.NAME="Subject Alternative Name";class fu extends et{constructor(...e){var t;if(P.isBufferSource(e[0])){super(e[0]);const n=U.parse(this.value,Ni);this.policies=n.map(o=>o.policyIdentifier)}else{const n=e[0],o=(t=e[1])!==null&&t!==void 0?t:!1,s=new Ni(n.map(c=>new Ei({policyIdentifier:c})));super(hc,o,U.serialize(s)),this.policies=n}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(t=>new se("",{},kt.toString(t))),e}}fu.NAME="Certificate Policies",tt.register(hc,fu);class wr extends St{constructor(...e){let t;if(P.isBufferSource(e[0]))t=P.toArrayBuffer(e[0]);else{const n=e[0],o=Array.isArray(e[1])?e[1].map(s=>P.toArrayBuffer(s)):[];t=U.serialize(new ut({type:n,values:o}))}super(t,ut)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(t=>new se("",{"":t})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[se.NAME]===wr.NAME&&(e[se.NAME]=kt.toString(this.type)),e}}wr.NAME="Attribute";class pu extends wr{constructor(...e){var t;if(P.isBufferSource(e[0]))super(e[0]);else{const n=new wn({printableString:e[0]});super(ul,[U.serialize(n)])}(t=this.password)!==null&&t!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const t=U.parse(this.values[0],wn);this.password=t.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[se.VALUE]=this.password,e}}pu.NAME="Challenge Password";class zs extends wr{constructor(...e){var t;if(P.isBufferSource(e[0]))super(e[0]);else{const n=e[0],o=new Dt;for(const s of n)o.push(U.parse(s.rawData,Ge));super(Is,[U.serialize(o)])}(t=this.items)!==null&&t!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const t=U.parse(this.values[0],Dt);this.items=t.map(n=>tt.create(U.serialize(n)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.items.map(n=>n.toTextObject());for(const n of t)e[n[se.NAME]]=n;return e}}zs.NAME="Extensions";class Nn{static register(e,t){this.items.set(e,t)}static create(e){const t=new wr(e),n=this.items.get(t.type);return n?new n(e):t}}Nn.items=new Map;let Gs=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if(e.hash)switch(e.hash.name.toLowerCase()){case"sha-1":return new R({algorithm:nn,parameters:null});case"sha-256":return new R({algorithm:as,parameters:null});case"sha-384":return new R({algorithm:on,parameters:null});case"sha-512":return new R({algorithm:sn,parameters:null})}else return new R({algorithm:gr,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case gr:return{name:"RSASSA-PKCS1-v1_5"};case nn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case as:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case on:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case sn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Gs=a([ms()],Gs),He.registerSingleton(Sn,Gs);class Fe{addPadding(e,t){const n=P.toUint8Array(t),o=new Uint8Array(e);return o.set(n,e-n.length),o}removePadding(e,t=!1){let n=P.toUint8Array(e);for(let o=0;o<n.length;o++)if(n[o]){n=n.slice(o);break}if(t&&n[0]>127){const o=new Uint8Array(n.length+1);return o.set(n,1),o.buffer}return n.buffer}toAsnSignature(e,t){if(e.name==="ECDSA"){const n=e.namedCurve,o=Fe.namedCurveSize.get(n)||Fe.defaultNamedCurveSize,s=new rn,c=P.toUint8Array(t);return s.r=this.removePadding(c.slice(0,o),!0),s.s=this.removePadding(c.slice(o,o+o),!0),U.serialize(s)}return null}toWebSignature(e,t){if(e.name==="ECDSA"){const n=U.parse(t,rn),o=e.namedCurve,s=Fe.namedCurveSize.get(o)||Fe.defaultNamedCurveSize,c=this.addPadding(s,this.removePadding(n.r)),d=this.addPadding(s,this.removePadding(n.s));return Qu(c,d)}return null}}Fe.namedCurveSize=new Map,Fe.defaultNamedCurveSize=32;const hu="1.3.101.110",yu="1.3.101.111",gu="1.3.101.112",mu="1.3.101.113";let Ws=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=gu;break;case"ed448":t=mu;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=hu;break;case"x448":t=yu;break}}return t?new R({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case gu:return{name:"EdDSA",namedCurve:"Ed25519"};case mu:return{name:"EdDSA",namedCurve:"Ed448"};case hu:return{name:"ECDH-ES",namedCurve:"X25519"};case yu:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ws=a([ms()],Ws),He.registerSingleton(Sn,Ws);class Rf extends yt{constructor(e){yt.isAsnEncoded(e)?super(e,Zr):super(e),this.tag=$e.CertificateRequestTag}onInit(e){this.tbs=U.serialize(e.certificationRequestInfo),this.publicKey=new Kt(e.certificationRequestInfo.subjectPKInfo);const t=He.resolve(Cn);this.signatureAlgorithm=t.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(o=>Nn.create(U.serialize(o)));const n=this.getAttribute(Is);this.extensions=[],n instanceof zs&&(this.extensions=n.items),this.subjectName=new Ct(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const t of this.attributes)if(t.type===e)return t;return null}getAttributes(e){return this.attributes.filter(t=>t.type===e)}getExtension(e){for(const t of this.extensions)if(t.type===e)return t;return null}getExtensions(e){return this.extensions.filter(t=>t.type===e)}async verify(e=De.get()){const t={...this.publicKey.algorithm,...this.signatureAlgorithm},n=await this.publicKey.export(t,["verify"],e),o=He.resolveAll(Bn).reverse();let s=null;for(const d of o)if(s=d.toWebSignature(t,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,n,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),t=U.parse(this.rawData,Zr),n=t.certificationRequestInfo,o=new se("",{Version:`${rr[n.version]} (${n.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new se("");for(const c of this.attributes){const d=c.toTextObject();s[d[se.NAME]]=d}o.Attributes=s}return e.Data=o,e.Signature=new se("",{Algorithm:Ht.serializeAlgorithm(t.signatureAlgorithm),"":t.signature}),e}}Rf.NAME="PKCS#10 Certificate Request";var bu;(function(r){r[r.unspecified=0]="unspecified",r[r.keyCompromise=1]="keyCompromise",r[r.cACompromise=2]="cACompromise",r[r.affiliationChanged=3]="affiliationChanged",r[r.superseded=4]="superseded",r[r.cessationOfOperation=5]="cessationOfOperation",r[r.certificateHold=6]="certificateHold",r[r.removeFromCRL=8]="removeFromCRL",r[r.privilegeWithdrawn=9]="privilegeWithdrawn",r[r.aACompromise=10]="aACompromise"})(bu||(bu={})),tt.register(fc,lu),tt.register(bc,du),tt.register(wc,Ks),tt.register(Bc,En),tt.register(no,ri),tt.register(xc,qs),Nn.register(ul,pu),Nn.register(Is,zs),He.registerSingleton(Bn,$f),He.registerSingleton(Bn,Fe),Fe.namedCurveSize.set("P-256",32),Fe.namedCurveSize.set("K-256",32),Fe.namedCurveSize.set("P-384",48),Fe.namedCurveSize.set("P-521",66);function vu(){return{parseMetaCertificateData:e=>{if(/{vault:\/\/.*}/g.test(e))throw new Error("not a X.509 certificate");const t=new In(e),n={subject:t.subjectName.toString(),issuer:t.issuer,notAfter:t.notAfter};for(const o of t.extensions)if(o instanceof qs){const s=o.names.toJSON(),d=Object.entries(s).map(u=>({type:u[1].type,value:u[1].value})).reduce((u,f)=>{const h=f.type,w=u[h]??[];return{...u,[h]:[...w,f.value]}},{});for(const u in d)n.subjectAltName=`${u}=${d[u].join(", ")}`}else if(o instanceof Ks){const s=Object.values(Fs),c=Array(s.length/2).fill(null).reduce((d,u,f)=>{const h=s[s.length/2+f];if(o.usages&h){const w=s[f];d.push(w)}return d},[]);n.keyUsage=c}return n}}}function Mf(){const r=vu(),e=i.ref({}),t=o=>{if(!(o.id in e.value))try{e.value[o.id]=r.parseMetaCertificateData(o.cert)}catch{e.value[o.id]=void 0}return e.value[o.id]};return{certificateDataCache:e,getCertificateData:o=>{const s=t(o);return{schemaIssuer:(s==null?void 0:s.issuer)||"",schemaSubject:(s==null?void 0:s.subject)||"",schemaExpiry:(s==null?void 0:s.notAfter)instanceof Date?s.notAfter.getTime()/1e3:0,schemaSanNames:(s==null?void 0:s.subjectAltName)||"",schemaKeyUsages:(s==null?void 0:s.keyUsage)||[]}}}}const Uf={certificates:{title:"Certificates",list:{toolbar_actions:{new_certificate:"New Certificate"},table_headers:{subject:"Subject",expiry:"Expiry",san:"SAN",cert:"Cert",tags:"Tags",issuer:"Issuer",snis:"SNIs"},empty_state:{title:"Configure a New Certificate",description:"Certificates handle SSL/TLS termination for encrypted requests."}},form:{sections:{ssl:{title:"SSL Key Pair",description:"The PEM-encoded public certificate chain and private key of the SSL key pair and the alternate."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate chain of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key:{label:"Key",tooltip:"PEM-encoded private key of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},cert_alt:{label:"Cert Alt",tooltip:"PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key_alt:{label:"Key Alt",tooltip:"PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New Certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",addSni:"Add to New SNI",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"Certificates could not be retrieved",delete:"The certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},"ca-certificates":{title:"CA Certificates",list:{toolbar_actions:{new_ca_certificate:"New CA Certificate"},table_headers:{issuer:"Issuer",expiry:"Expiry",tags:"Tags"},empty_state:{title:"Configure a New CA Certificate",description:"CA certificates validate client or server certificates."}},form:{sections:{cert:{title:"Public Certificate",description:"The PEM-encoded public certificate of the CA and it’s SHA256 hex digest."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate of the CA."},cert_digest:{label:"Cert Digest",tooltip:"SHA256 hex digest of the public certificate"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New CA Certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a CA Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"CA Certificates could not be retrieved",delete:"The CA Certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},general:{"key-usages":{KEY_USAGE_TYPE_KEY_CERT_SIGN:"keyCertSign",KEY_USAGE_TYPE_CRL_SIGN:"cRLSign",KEY_USAGE_TYPE_ENCIPHER_ONLY:"encipherOnly",KEY_USAGE_TYPE_DIGITAL_SIGNATURE:"digitalSignature",KEY_USAGE_TYPE_KEY_ENCIPHERMENT:"keyEncipherment",KEY_USAGE_TYPE_DATA_ENCIPHERMENT:"dataEncipherment",KEY_USAGE_TYPE_KEY_AGREEMENT:"keyAgreement",KEY_USAGE_TYPE_CONTENT_COMMITMENT:"nonRepudiation"}}};function Lf(){const r=Wt.createI18n("en-us",Uf);return{i18n:r,i18nT:Wt.i18nTComponent(r)}}const rt={useCertificate:Mf,useI18n:Lf,useX509:vu},ii={list:{konnect:"/api/runtime_groups/{controlPlaneId}/certificates",kongManager:"/{workspace}/certificates"},form:{konnect:{create:"/api/runtime_groups/{controlPlaneId}/certificates",edit:"/api/runtime_groups/{controlPlaneId}/certificates/{id}",validate:"/api/runtime_groups/{controlPlaneId}/v1/schemas/json/certificate/validate"},kongManager:{create:"/{workspace}/certificates",edit:"/{workspace}/certificates/{id}",validate:"/{workspace}/schemas/certificates/validate"}}},Hf={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},Ff="Copy to clipboard",Kf={message:Hf,iconTitle:Ff},qf="kong-ui-copy-uuid-notify",zf={class:"kong-ui-copy-uuid"},Gf=["title"],Wf=["onClick"],wu=15,Jf=i.defineComponent({__name:"CopyUuid",props:{uuid:{type:String,required:!0},truncated:{type:Boolean,default:!0},useMono:{type:Boolean,default:!0},notify:{type:Function,default:void 0},iconColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},tooltip:{type:String,default:""},successTooltip:{type:String,default:""},format:{type:String,required:!1,default:"uuid",validator:r=>["uuid","hidden","redacted","deleted"].includes(r)}},emits:["success","error"],setup(r,{emit:e}){const t=r,{t:n}=Wt.createI18n("en-us",Kf),o=t.notify||i.inject(qf,()=>{}),s=i.computed(()=>!!(t.tooltip&&t.successTooltip)),c=i.ref(t.tooltip),d=i.computed(()=>t.tooltip?{label:c.value,positionFixed:!0,maxWidth:"500px",placement:"bottomStart"}:{}),u=i.computed(()=>t.format==="redacted"?"*****":t.format==="deleted"?`*${t.uuid.substring(0,5)}`:t.uuid),f=w=>{c.value=w,setTimeout(()=>{c.value=t.tooltip},1800)},h=w=>{if(!w(t.uuid)){typeof o=="function"&&o({type:"error",message:n("message.fail")}),s.value?f(n("message.fail")):e("error",t.uuid);return}const T=t.uuid.length>wu,C=t.format==="hidden"||t.format==="redacted"?n("message.success.prefix"):`"${t.uuid.substring(0,wu)+(T?"...":"")}"`;typeof o=="function"&&o({type:"success",message:`${C}${n("message.success.content")}`}),s.value?f(t.successTooltip):e("success",t.uuid)};return(w,T)=>{const C=i.resolveComponent("KIcon"),p=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",zf,[r.format!=="hidden"?(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":"copy-id",title:r.uuid},[i.createElementVNode("div",{class:i.normalizeClass(["uuid-container",r.truncated?"truncated-uuid":null,r.useMono?"mono":null])},i.toDisplayString(u.value),3)],8,Gf)):i.createCommentVNode("",!0),(i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.tooltip?"KTooltip":"div"),i.mergeProps(d.value,{class:"uuid-icon-wrapper"}),{default:i.withCtx(()=>[i.createVNode(p,null,{default:i.withCtx(({copyToClipboard:m})=>[i.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:i.withModifiers(y=>h(m),["stop"])},[i.createVNode(C,{class:"uuid-icon",color:r.iconColor,"hide-title":!!r.tooltip||void 0,icon:"copy",size:"16",title:i.unref(n)("iconTitle")},null,8,["color","hide-title","title"])],8,Wf)]),_:1})]),_:1},16))])}}}),Yf=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Zf=Yf(Jf,[["__scopeId","data-v-e4ea1359"]]);var Js=(r=>(r.GatewayService="service",r.Route="route",r.Consumer="consumer",r.ConsumerGroup="consumer group",r.Plugin="plugin",r.Upstream="upstream",r.Certificate="certificate",r.CACertificate="ca certificate",r.SNI="SNI",r.Key="key",r.KeySet="key set",r.Vault="vault",r.Application="application",r.Developer="developer",r.acls="ACL Credential",r["basic-auth"]="Basic Auth Credential",r["key-auth"]="Key Auth Credential",r["key-auth-enc"]="Key Auth Encrypted Credential",r.oauth2="OAuth 2.0 Credential",r["hmac-auth"]="HMAC Credential",r.jwt="JWT Credential",r.Target="target",r))(Js||{}),qt=(r=>(r.Edit="edit",r.Create="create",r))(qt||{}),xt=(r=>(r[r.Loading=0]="Loading",r[r.Idle=1]="Idle",r[r.NoResults=2]="NoResults",r[r.Error=3]="Error",r))(xt||{}),re=(r=>(r.ID="id",r.IdArray="id-array",r.Text="plain-text",r.Date="date",r.Redacted="redacted",r.RedactedArray="redacted-array",r.Json="json",r.JsonArray="json-array",r.BadgeTag="badge-tag",r.BadgeStatus="badge-status",r.BadgeMethod="badge-method",r.LinkInternal="link-internal",r.LinkExternal="link-external",r))(re||{}),ae=(r=>(r.Basic="basic",r.Advanced="advanced",r.Plugin="plugin",r))(ae||{});function Ys(r={}){return{axiosInstance:zu.create({withCredentials:!0,timeout:3e4,...r})}}function Qf(){return{debounce:(r,e)=>{let t;return(...n)=>{clearTimeout(t),t=window==null?void 0:window.setTimeout(()=>{r(...n)},e)}}}}const Zs="khcp-user-table-preferences",Xf={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function ep(){const r=t=>{if(typeof t=="string")try{return JSON.parse(t)}catch(n){console.error("useTablePreferences(tryParseJson)",n);return}},e=()=>{const t=r(localStorage.getItem(Zs));return!t||!Object.keys(t).length?new Map:new Map(Object.entries(t))};return{setTablePreferences:(t,n)=>{try{const o=e();o.set(t,n),localStorage.setItem(Zs,JSON.stringify(Object.fromEntries(o.entries())))}catch(o){console.error("useTablePreferences(setTablePreferences)",o)}},getTablePreferences:t=>{const n=e();return(n==null?void 0:n.get(t))||void 0||Xf},deleteAllTablePreferences:()=>{localStorage.removeItem(Zs)}}}const tp={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},rp={actions:{save:"Save",cancel:"Cancel",back:"Back"},errors:{edit:"The entity could not be edited at this time."}},ip={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},np={title:"Configuration",actions:{copy:"Copy JSON"},sections:{advanced:"Advanced",plugin:"Plugin Specific Configuration"},commonFields:{id_label:"ID",name_label:"Name",enabled_label:"Enabled",enabled_tooltip:"Enabled is FTW",updated_at_label:"Last Updated",created_at_label:"Created",tags_label:"Tags",link:"Link"},statusBadge:{enabledLabel:"Enabled",disabledLabel:"Disabled"},copy:{tooltip:"Copy {label}",success:"Copied!"},errors:{load:"The entity configuration data could not be loaded at this time.",copy:"Failed to copy to clipboard"},general:{entryTitle:"Entry {index}"}},op={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},sp={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},ap={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},cp={enable:{title:"Enable {entityType}",message:"Are you sure you want to enable the {entityType} {entityName}?",confirmText:"Yes, enable"},disable:{title:"Disable {entityType}",message:"Are you sure you want to disable the {entityType} {entityName}?",confirmText:"Yes, disable"}},lp={deleteModal:tp,baseForm:rp,baseTable:ip,baseConfigCard:np,filter:op,debouncedFilter:sp,errors:ap,toggleModal:cp};function Qs(){const r=Wt.createI18n("en-us",lp);return{i18n:r,i18nT:Wt.i18nTComponent(r)}}function up(r,e,t,n={fetchedItemsKey:"data",searchKeys:["id"]}){t||(t="100");const{axiosInstance:o}=Ys({headers:r.requestHeaders}),{i18n:{t:s}}=Qs(),{debounce:c}=Qf(),d=c(async k=>{await b(k)},200),u=i.ref(!1),f=i.ref(""),h=i.ref(""),w=i.ref([]),T=i.ref(void 0),C=i.unref(e);let p=`${r.apiBaseUrl}${C}`;r.app==="konnect"?p=p.replace(/{controlPlaneId}/gi,(r==null?void 0:r.controlPlaneId)||""):r.app==="kongManager"&&(p=p.replace(/\/{workspace}/gi,r!=null&&r.workspace?`/${r.workspace}`:""));const m=async()=>{try{u.value=!0;const{data:k}=await o.get(`${p}?size=${t}`);k!=null&&k.next||(T.value=n.fetchedItemsKey in k?k[n.fetchedItemsKey]:[]),w.value=n.fetchedItemsKey in k?k[n.fetchedItemsKey]:[]}catch{w.value=[],f.value=s("debouncedFilter.errors.fetch")}finally{u.value=!1}},y=i.ref(""),b=async k=>{var g,A;if(y.value!==k)if(y.value=k||"",T.value===void 0)try{u.value=!0,f.value="",h.value="";let I=p+"";k&&(I+=`/${k}`);const{data:B}=await o.get(`${I}?size=${t}`);n.fetchedItemsKey in B?w.value=B[n.fetchedItemsKey]:B!=null&&B.id?w.value=[B]:w.value=[]}catch(I){((g=I==null?void 0:I.response)==null?void 0:g.status)===404?h.value=s("debouncedFilter.errors.invalid"):(w.value=[],f.value=s("debouncedFilter.errors.fetch"))}finally{u.value=!1}else u.value=!0,h.value="",k?(w.value=(A=T.value)==null?void 0:A.filter(I=>{var B;let _=!1;for(const X of n.searchKeys){const W=typeof I[X]=="string"?(B=I[X])==null?void 0:B.toLowerCase():I[X];W!=null&&W.includes(k.toLowerCase())&&(_=!0)}return _}),(!w.value||!w.value.length)&&(h.value=s("debouncedFilter.errors.invalid"))):w.value=T.value,u.value=!1};return{loading:u,error:f,validationError:h,results:w,allRecords:T,loadItems:m,debouncedQueryChange:d}}function dp(r,e){const t=i.unref(e),n=i.computed(()=>r.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${t}`):new URL(t));return n.value.search="",o=>`${n.value.href}/${o}`}function fp(){const{i18n:{t:r}}=Qs();return{getMessageFromError:e=>{var t,n,o;if(!e)return r("errors.unexpected");if((t=e==null?void 0:e.response)!=null&&t.data){if(e.response.data.detail)return e.response.data.detail;if((n=e.response.data.details)!=null&&n.length)return e.response.data.details.map(s=>{let c=r("errors.unexpected");return s.messages&&typeof s.messages=="object"&&s.messages.length&&(c=s.messages.join(", ")),s.field?`${s.field} - ${c}`:c}).join("; ");if(e.response.data.message){const{message:s}=e.response.data;return Array.isArray(s)?(o=s[0])!=null&&o.constraints?Object.values(s[0].constraints)[0]:s[0]:s}if(typeof e.response.data=="string")return e.response.data;if(typeof e.response.data=="object")return Object.keys(e.response.data).map(s=>`${s} ${e.response.data[s]}`).join(", ")}return e.message||r("errors.unexpected")}}}function ku(r,e){const t=i.ref(i.unref(r)),n=i.ref(i.unref(e)),o=i.computed(()=>!!(t.value.app==="konnect"||t.value.isExactMatch)),s=i.computed(()=>n.value.startsWith("/")?new URL(`${window.location.origin}${n.value}`):new URL(n.value));return c=>{const{page:d,pageSize:u,offset:f,sortColumnKey:h,sortColumnOrder:w,query:T}=c;try{let C=new URL(s.value.href);return o.value&&T?(C.search="",C=new URL(`${C.href}/${T}/`)):(o.value||new URLSearchParams(T).forEach((p,m)=>{C.searchParams.append(m,p)}),h&&C.searchParams.append("sort_by",h),w==="desc"&&C.searchParams.append("sort_desc","1"),C.searchParams.append("size",String(u))),f&&d!==1&&C.searchParams.append("offset",String(f)),C.href}catch(C){return console.error("RouteList(fetcher)",C),n.value}}}function pp(r,e,t="data"){const n=i.unref(e),{axiosInstance:o}=Ys({headers:r.requestHeaders}),s=ku(r,n),c=i.ref({status:xt.Idle});return{fetcher:async d=>{try{c.value={status:xt.Loading};const u=s(d),{data:f}=await o.get(u),h=t&&t.replace(/[^\w-_]/gi,"");let w;f[h]&&Array.isArray(f[h])?w=f[h]:w=Object.keys(f).length?[f]:[];const T={data:w,total:w.length,...f.offset?{pagination:{offset:f.offset}}:null};return c.value={status:xt.Idle,response:T},T}catch(u){const f={data:[],total:0};return d.query&&u.response.status===404?(c.value={status:xt.NoResults,response:f,error:u},f):(c.value={status:xt.Error,response:f,error:u},f)}},fetcherState:c}}function hp(){return{convertKeyToTitle:(r,e="_")=>r?r.split(e).map(t=>t.toLowerCase()==="id"?t.toUpperCase():t.charAt(0).toUpperCase()+t.substring(1)).join(" "):""}}const Su=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,Cu=r=>{if(typeof r!="string")throw new TypeError("Invalid argument expected string");const e=r.match(Su);if(!e)throw new Error(`Invalid argument not valid semver ('${r}' received)`);return e.shift(),e},xu=r=>r==="*"||r==="x"||r==="X",Au=r=>{const e=parseInt(r,10);return isNaN(e)?r:e},yp=(r,e)=>typeof r!=typeof e?[String(r),String(e)]:[r,e],gp=(r,e)=>{if(xu(r)||xu(e))return 0;const[t,n]=yp(Au(r),Au(e));return t>n?1:t<n?-1:0},Bu=(r,e)=>{for(let t=0;t<Math.max(r.length,e.length);t++){const n=gp(r[t]||"0",e[t]||"0");if(n!==0)return n}return 0},mp=(r,e)=>{const t=Cu(r),n=Cu(e),o=t.pop(),s=n.pop(),c=Bu(t,n);return c!==0?c:o&&s?Bu(o.split("."),s.split(".")):o||s?o?-1:1:0},Iu=(r,e,t)=>{bp(t);const n=mp(r,e);return Eu[t].includes(n)},Eu={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Nu=Object.keys(Eu),bp=r=>{if(typeof r!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof r}`);if(Nu.indexOf(r)===-1)throw new Error(`Invalid operator, expected one of ${Nu.join("|")}`)},vp=r=>typeof r=="string"&&/^[v\d]/.test(r)&&Su.test(r);function wp(r){const{gatewayInfo:e,supportedRange:t}=r;if(!e)return!0;const{edition:n,version:o}=e;if(!vp(o))return console.error("Invalid version"),!1;const s=t[n];if(!s)return!1;const[c,d]=s;return!(c&&Iu(o,c,"<")||d&&Iu(o,d,">"))}const Ce={useAxios:Ys,useDebouncedFilter:up,useDeleteUrlBuilder:dp,useErrors:fp,useFetcher:pp,useFetchUrlBuilder:ku,useStringHelpers:hp,useI18n:Qs,useGatewayFeatureSupported:wp},kp={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},Sp="Copy to clipboard",Cp={message:kp,iconTitle:Sp},xp="kong-ui-copy-uuid-notify",Ap={class:"kong-ui-copy-uuid"},Bp=["title"],Ip=["onClick"],_u=15,Ep=i.defineComponent({__name:"CopyUuid",props:{uuid:{type:String,required:!0},truncated:{type:Boolean,default:!0},useMono:{type:Boolean,default:!0},notify:{type:Function,default:void 0},iconColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},tooltip:{type:String,default:""},successTooltip:{type:String,default:""},format:{type:String,required:!1,default:"uuid",validator:r=>["uuid","hidden","redacted","deleted"].includes(r)}},emits:["success","error"],setup(r,{emit:e}){const t=r,{t:n}=Wt.createI18n("en-us",Cp),o=t.notify||i.inject(xp,()=>{}),s=i.computed(()=>!!(t.tooltip&&t.successTooltip)),c=i.ref(t.tooltip),d=i.computed(()=>t.tooltip?{label:c.value,positionFixed:!0,maxWidth:"500px",placement:"bottomStart"}:{}),u=i.computed(()=>t.format==="redacted"?"*****":t.format==="deleted"?`*${t.uuid.substring(0,5)}`:t.uuid),f=w=>{c.value=w,setTimeout(()=>{c.value=t.tooltip},1800)},h=w=>{if(!w(t.uuid)){typeof o=="function"&&o({type:"error",message:n("message.fail")}),s.value?f(n("message.fail")):e("error",t.uuid);return}const T=t.uuid.length>_u,C=t.format==="hidden"||t.format==="redacted"?n("message.success.prefix"):`"${t.uuid.substring(0,_u)+(T?"...":"")}"`;typeof o=="function"&&o({type:"success",message:`${C}${n("message.success.content")}`}),s.value?f(t.successTooltip):e("success",t.uuid)};return(w,T)=>{const C=i.resolveComponent("KIcon"),p=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",Ap,[r.format!=="hidden"?(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":"copy-id",title:r.uuid},[i.createElementVNode("div",{class:i.normalizeClass(["uuid-container",r.truncated?"truncated-uuid":null,r.useMono?"mono":null])},i.toDisplayString(u.value),3)],8,Bp)):i.createCommentVNode("",!0),(i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.tooltip?"KTooltip":"div"),i.mergeProps(d.value,{class:"uuid-icon-wrapper"}),{default:i.withCtx(()=>[i.createVNode(p,null,{default:i.withCtx(({copyToClipboard:m})=>[i.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:i.withModifiers(y=>h(m),["stop"])},[i.createVNode(C,{class:"uuid-icon",color:r.iconColor,"hide-title":!!r.tooltip||void 0,icon:"copy",size:"16",title:i.unref(n)("iconTitle")},null,8,["color","hide-title","title"])],8,Ip)]),_:1})]),_:1},16))])}}}),Np=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Ou=Np(Ep,[["__scopeId","data-v-e4ea1359"]]),_p={key:0,class:"config-card-fieldset-title"},Op=i.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(r){const e=r,{i18n:{t}}=Ce.useI18n(),{convertKeyToTitle:n}=Ce.useStringHelpers(),o=i.computed(()=>e.item.key??"json-array-item"),s=i.computed(()=>e.item.value??e.item),c=i.computed(()=>{const u=JSON.parse(JSON.stringify(s.value));return e.isArrayItem&&delete u.name,u}),d=i.computed(()=>{var u;return e.isArrayItem?(u=s.value)!=null&&u.name?n(s.value.name,"_"):t("baseConfigCard.general.entryTitle",{index:e.index}):""});return(u,f)=>(i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.isArrayItem?"fieldset":"div"),{class:i.normalizeClass(r.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:i.withCtx(()=>[r.isArrayItem?(i.openBlock(),i.createElementBlock("legend",_p,[i.createElementVNode("b",null,i.toDisplayString(d.value),1)])):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(c.value),(h,w)=>(i.openBlock(),i.createBlock(_n,{key:`${o.value}-property-${w}`,item:{key:h,label:i.unref(n)(h),value:c.value[h]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),it=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Tu=it(Op,[["__scopeId","data-v-68ca83ec"]]),Tp=it(i.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(r){const{i18n:{t:e}}=Ce.useI18n();return(t,n)=>{const o=i.resolveComponent("KButton");return i.openBlock(),i.createElementBlock("div",null,[i.createVNode(o,{appearance:"btn-link",class:"navigation-button",onClick:n[0]||(n[0]=s=>t.$emit("navigation-click",r.item))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.item.value||i.unref(e)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),[["__scopeId","data-v-7410504d"]]),Vp=i.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(r){const{i18n:{t:e}}=Ce.useI18n();return(t,n)=>{const o=i.resolveComponent("KBadge");return i.openBlock(),i.createBlock(o,{appearance:r.status?"success":"neutral"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.status?i.unref(e)("baseConfigCard.statusBadge.enabledLabel"):i.unref(e)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),jp="#0044f4",Pp="#e0e4ea",Dp="#3a3f51",$p="1px",Rp={class:"config-card-details-row"},Mp=["data-testid"],Up=["data-testid"],Lp=["data-testid"],Hp=["data-testid"],Fp={key:1},Kp=["data-testid"],qp=["data-testid"],zp=["data-testid"],Gp=["data-testid"],Wp=["title"],Jp={name:"ConfigCardItem",components:{CopyUuid:Ou,JsonCardItem:Tu,StatusBadge:Vp,InternalLinkItem:Tp}},Yp=i.defineComponent({...Jp,props:{item:{type:Object,required:!0},slim:{type:Boolean,required:!1,default:!1},truncated:{type:Boolean,required:!1,default:!1}},emits:["navigation-click"],setup(r,{emit:e}){const t=r;i.useCssVars(w=>({"2c6ac268":f.value?"none":`solid ${i.unref($p)} ${i.unref(Pp)}`,c7a65802:u.value&&c.value?"block":"flex","778426fe":u.value&&c.value?"100%":t.slim?"50%":"25%","777f9b48":u.value&&c.value?"100%":t.slim?"50%":"75%"}));const n=i.useSlots(),{i18n:{t:o,formatUnixTimeStamp:s}}=Ce.useI18n(),c=i.computed(()=>t.item.value!==void 0&&t.item.value!==null&&t.item.value!==""),d=i.computed(()=>!!(t.item.tooltip||n["label-tooltip"])),u=i.computed(()=>t.item.type===re.Json||t.item.type===re.JsonArray),f=i.computed(()=>t.item.type===re.JsonArray),h=i.computed(()=>{switch(t.item.type){case re.ID:return{tag:"CopyUuid",attrs:{"data-testid":`${t.item.key}-copy-uuid`,"success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,uuid:t.item.value,notify:()=>{}}};case re.IdArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{"success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,notify:()=>{}}};case re.Redacted:return{tag:"CopyUuid",attrs:{"data-testid":`${t.item.key}-copy-uuid-redacted`,format:"redacted","success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,uuid:t.item.value,notify:()=>{}}};case re.RedactedArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{format:"redacted","success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,notify:()=>{}}};case re.Date:return{tag:"div",attrs:{"data-testid":`${t.item.key}-date`},text:s(t.item.value)};case re.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${t.item.key}-badge-status`,status:t.item.value}};case re.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case re.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case re.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${t.item.key}-internal-link`,item:t.item,onNavigationClick:w=>{e("navigation-click",w)}}};case re.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${t.item.key}-external-link`,href:t.item.value},text:t.item.value};case re.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${t.item.key}-json-content`,item:t.item}};case re.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${t.item.key}-json-array-content`,item:t.item}};default:return{tag:"div",attrs:{"data-testid":`${t.item.key}-plain-text`},text:t.item.value}}});return(w,T)=>{const C=i.resolveComponent("KLabel"),p=i.resolveComponent("KBadge"),m=i.resolveComponent("KMethodBadge");return i.openBlock(),i.createElementBlock("div",Rp,[i.createElementVNode("div",{class:"config-card-details-label","data-testid":`${r.item.key}-label`},[i.renderSlot(w.$slots,"label",{item:r.item},()=>[i.createVNode(C,{"tooltip-attributes":{maxWidth:"500px"}},i.createSlots({default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.item.label)+" ",1)]),_:2},[d.value?{name:"tooltip",fn:i.withCtx(()=>[i.createElementVNode("div",{"data-testid":`${r.item.key}-label-tooltip`},[i.renderSlot(w.$slots,"label-tooltip",{},()=>[i.createTextVNode(i.toDisplayString(r.item.tooltip),1)],!0)],8,Up)]),key:"0"}:void 0]),1024)],!0)],8,Mp),i.createElementVNode("div",{class:"config-card-details-value","data-testid":`${r.item.key}-property-value`},[i.renderSlot(w.$slots,r.item.key,{rowValue:r.item.value},()=>[c.value?(i.openBlock(),i.createElementBlock("div",Fp,[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(h.value.tag),i.normalizeProps(i.guardReactiveProps(h.value.attrs)),{default:i.withCtx(()=>[h.value.additionalComponent==="KBadge"?(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":`${r.item.key}-badge-tags`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(p,{key:`${r.item.key}-badge-tag-${b}`,class:"config-badge","data-testid":`${r.item.key}-badge-tag-${b}`,"truncation-tooltip":y},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(y),1)]),_:2},1032,["data-testid","truncation-tooltip"]))),128))],8,Kp)):i.createCommentVNode("",!0),h.value.additionalComponent==="CopyUuid"?(i.openBlock(),i.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${r.item.key}-copy-uuid-array`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(i.unref(Ou),i.mergeProps(h.value.childAttrs,{key:`${r.item.key}-copy-uuid-${b}`,"data-testid":`${r.item.key}-copy-uuid-${b}`,uuid:y}),null,16,["data-testid","uuid"]))),128))],8,qp)):h.value.additionalComponent==="KMethodBadge"?(i.openBlock(),i.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${r.item.key}-badge-methods`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(m,{key:`${r.item.key}-badge-method-${b}`,class:"config-badge","data-testid":`${r.item.key}-badge-method-${b}`,"is-rounded":"",label:y,method:i.unref(Gu.MethodsArray).includes(y.toLowerCase())?y.toLowerCase():"custom"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(y),1)]),_:2},1032,["data-testid","label","method"]))),128))],8,zp)):i.createCommentVNode("",!0),h.value.additionalComponent==="JsonCardItem"?(i.openBlock(),i.createElementBlock("div",{key:3,"data-testid":`${t.item.key}-json-array-content`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(Tu,{key:`json-array-item-${b}`,index:b,"is-array-item":"",item:y},null,8,["index","item"]))),128))],8,Gp)):(i.openBlock(),i.createElementBlock("span",{key:4,class:i.normalizeClass(["attrs-data-text",{truncated:r.truncated}]),title:r.truncated?r.item.value:void 0},i.toDisplayString(h.value.text),11,Wp))]),_:1},16))])):(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":`${r.item.key}-no-value`}," – ",8,Hp))],!0)],8,Lp)])}}}),_n=it(Yp,[["__scopeId","data-v-a3c5ab01"]]),Zp={"data-testid":"config-card-title"},Qp={class:"config-card-actions"},Xp={class:"config-card-details-section"},eh=["data-testid"],th={key:0,class:"config-card-prop-section-title"},Vu=it(i.defineComponent({__name:"EntityBaseConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},configSchema:{type:Object,required:!1,default:()=>({})},pluginConfigKey:{type:String,required:!1,default:""},pluginConfigSchema:{type:Object,required:!1,default:()=>({})},fetchUrl:{type:String,required:!0},dataKey:{type:String,required:!1,default:""},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:success","fetch:error","copy:success","copy:error"],setup(r,{emit:e}){var t;const n=r,o=i.useSlots(),{i18n:{t:s}}=Ce.useI18n(),{getMessageFromError:c}=Ce.useErrors(),{convertKeyToTitle:d}=Ce.useStringHelpers(),{axiosInstance:u}=Ce.useAxios({headers:(t=n.config)==null?void 0:t.requestHeaders}),f={id:{type:re.ID,label:s("baseConfigCard.commonFields.id_label"),order:0,section:ae.Basic},name:{order:1,section:ae.Basic},enabled:{type:re.BadgeStatus,order:2,section:ae.Basic},updated_at:{type:re.Date,label:s("baseConfigCard.commonFields.updated_at_label"),order:3,section:ae.Basic},created_at:{type:re.Date,label:s("baseConfigCard.commonFields.created_at_label"),order:4,section:ae.Basic},tags:{type:re.BadgeTag,order:-1,section:ae.Basic}},h=i.ref(!1),w=i.ref(!1),T=i.ref(""),C=i.ref(),p=i.computed(()=>{var I,B,_;if(!C.value)return[];const X=[],W=Object.keys(C.value).length;for(const V in C.value){const M=(B=(I=n.configSchema)==null?void 0:I[V])==null?void 0:B.order,z=(_=f[V])==null?void 0:_.order;let L=W;(z||z===0)&&(L=z===-1?W+1:z),M&&(L=M===-1?W+1:M),X.push([V,L])}return X.sort(function(V,M){return V[1]-M[1]}),X.map(V=>{var M,z;const L=V[0],fe=(M=C.value)==null?void 0:M[L],Ve=((z=n.configSchema)==null?void 0:z[L])||{},Be=f[L];return{key:L,value:fe,hidden:Ve.hidden||!1,type:Ve.type??((Be==null?void 0:Be.type)||re.Text),label:Ve.label??((Be==null?void 0:Be.label)||d(L)),tooltip:Ve.tooltip??((Be==null?void 0:Be.tooltip)||void 0),section:Ve.section??((Be==null?void 0:Be.section)||ae.Advanced)}}).filter(V=>!V.hidden&&V.key!==n.pluginConfigKey)}),m=i.computed(()=>{var I,B;if(!C.value||!n.pluginConfigKey)return[];const _=C.value[n.pluginConfigKey]||{},X=Object.keys(_).length,W=[];for(const V in _){const M=(B=(I=n.pluginConfigSchema)==null?void 0:I[V])==null?void 0:B.order,z=_[V];let L=z!=null&&z!==""?X-1:X;M&&(L=M===-1?X+1:M),W.push([V,L])}return W.sort(function(V,M){return V[1]-M[1]}),W.map(V=>{var M;const z=V[0],L=_[z],fe=((M=n.pluginConfigSchema)==null?void 0:M[z])||{};return{key:z,value:L,hidden:fe.hidden||!1,type:fe.type??re.Text,label:fe.label??d(z),tooltip:fe.tooltip??void 0,section:ae.Plugin}}).filter(V=>!V.hidden)}),y=i.computed(()=>{var I,B,_,X;return{basic:(I=p.value)==null?void 0:I.filter(W=>W.section===ae.Basic),advanced:(B=p.value)==null?void 0:B.filter(W=>W.section===ae.Advanced),plugin:(X=m.value)==null?void 0:X.concat((_=p.value)==null?void 0:_.filter(W=>W.section===ae.Plugin))}}),b=i.computed(()=>{const I=[];return y.value.basic.length&&I.push("basic"),y.value.advanced.length&&I.push("advanced"),y.value.plugin.length&&I.push("plugin"),I}),k=I=>!!(I.tooltip||o[`${I.key}-label-tooltip`]),g=i.computed(()=>{var I,B;let _=`${n.config.apiBaseUrl}${n.fetchUrl}`;return n.config.app==="konnect"?_=_.replace(/{controlPlaneId}/gi,((I=n.config)==null?void 0:I.controlPlaneId)||""):n.config.app==="kongManager"&&(_=_.replace(/\/{workspace}/gi,(B=n.config)!=null&&B.workspace?`/${n.config.workspace}`:"")),_=_.replace(/{id}/gi,n.config.entityId),_}),A=I=>{C.value&&I(JSON.stringify(C.value))?e("copy:success",C.value):e("copy:error")};return i.watch(h,I=>{e("loading",I)},{immediate:!0}),i.onBeforeMount(async()=>{w.value=!1,h.value=!0;try{const{data:I}=await u.get(g.value);if(n.dataKey)if(typeof I[n.dataKey]<"u")C.value={...I[n.dataKey]};else throw new Error(s("errors.dataKeyUndefined",{dataKey:n.dataKey}));else C.value={...I};Object.keys(n.configSchema).filter(B=>n.configSchema[B].forceShow).forEach(B=>{C.value&&typeof C.value[B]>"u"&&(C.value[B]=null)}),e("fetch:success",I)}catch(I){const B=c(I);T.value=B.startsWith("code")?s("baseConfigCard.errors.load"):B,w.value=!0,e("fetch:error",I)}finally{h.value=!1}}),(I,B)=>{const _=i.resolveComponent("KButton"),X=i.resolveComponent("KClipboardProvider"),W=i.resolveComponent("KSkeleton"),V=i.resolveComponent("KEmptyState"),M=i.resolveComponent("KCard");return i.openBlock(),i.createBlock(M,{"border-variant":"noBorder",class:"kong-ui-entity-base-config-card"},i.createSlots({actions:i.withCtx(()=>[i.createElementVNode("div",Qp,[i.renderSlot(I.$slots,"actions",{},void 0,!0),i.createVNode(X,null,{default:i.withCtx(({copyToClipboard:z})=>[!h.value&&!w.value?(i.openBlock(),i.createBlock(_,{key:0,appearance:"btn-link","data-testid":"json-copy-button",onClick:L=>A(z)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseConfigCard.actions.copy")),1)]),_:2},1032,["onClick"])):i.createCommentVNode("",!0)]),_:1})])]),body:i.withCtx(()=>[h.value?(i.openBlock(),i.createBlock(W,{key:0,"data-testid":"config-card-loader","table-columns":2,type:"table"})):w.value?(i.openBlock(),i.createBlock(V,{key:1,"data-testid":"config-card-fetch-error","is-error":""},{message:i.withCtx(()=>[i.createElementVNode("h3",null,i.toDisplayString(T.value),1)]),_:1})):i.createCommentVNode("",!0),i.createElementVNode("div",Xp,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(b.value,z=>(i.openBlock(),i.createElementBlock("div",{key:`config-card-details-${z}-props`,class:i.normalizeClass(`config-card-details-${z}-props`),"data-testid":`config-card-details-${z}-props`},[z!=="basic"?(i.openBlock(),i.createElementBlock("div",th,i.toDisplayString(z==="advanced"?i.unref(s)("baseConfigCard.sections.advanced"):i.unref(s)("baseConfigCard.sections.plugin")),1)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(y.value[z],L=>(i.openBlock(),i.createBlock(_n,{key:L.key,item:L},i.createSlots({label:i.withCtx(()=>[i.renderSlot(I.$slots,`${L.key}-label`,{row:L},void 0,!0)]),[L.key]:i.withCtx(({rowValue:fe})=>[i.renderSlot(I.$slots,L.key,{row:L,rowValue:fe},void 0,!0)]),_:2},[k(L)?{name:"label-tooltip",fn:i.withCtx(()=>[i.renderSlot(I.$slots,`${L.key}-label-tooltip`,{row:L},void 0,!0)]),key:"0"}:void 0]),1032,["item"]))),128))],10,eh))),128))])]),_:2},[r.hideTitle?void 0:{name:"title",fn:i.withCtx(()=>[i.createElementVNode("div",Zp,[i.renderSlot(I.$slots,"title",{},()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseConfigCard.title")),1)],!0)])]),key:"0"}]),1024)}}}),[["__scopeId","data-v-b72bbdde"]]),rh=["onReset","onSubmit"],ih={class:"form-actions","data-testid":"form-actions"},ju=it(i.defineComponent({__name:"EntityBaseForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string")},editId:{type:String,required:!1,default:""},fetchUrl:{type:String,required:!1,default:""},isReadonly:{type:Boolean,required:!1,default:!1},canSubmit:{type:Boolean,required:!1,default:void 0},errorMessage:{type:String,required:!1,default:""}},emits:["loading","fetch:success","fetch:error","submit","cancel"],setup(r,{emit:e}){var t;const n=r,o=xr.useRouter(),{i18n:{t:s}}=Ce.useI18n(),{getMessageFromError:c}=Ce.useErrors(),{axiosInstance:d}=Ce.useAxios({headers:(t=n.config)==null?void 0:t.requestHeaders}),u=i.ref(!1),f=i.ref(!1),h=i.ref(""),w=i.computed(()=>n.canSubmit===!1||n.isReadonly),T=i.computed(()=>{var y,b;if(!n.editId)return"";let k=`${n.config.apiBaseUrl}${n.fetchUrl}`;return n.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((y=n.config)==null?void 0:y.controlPlaneId)||""):n.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(b=n.config)!=null&&b.workspace?`/${n.config.workspace}`:"")),k=k.replace(/{id}/gi,n.editId),k}),C=()=>{n.config.cancelRoute?o.push(n.config.cancelRoute):p()},p=()=>{e("cancel")},m=()=>{w.value||e("submit")};return i.watch(()=>u.value,y=>{e("loading",y)},{immediate:!0}),i.onBeforeMount(async()=>{if(n.editId)try{f.value=!1,u.value=!0;const{data:y}=await d.get(T.value);e("fetch:success",y)}catch(y){const b=c(y);h.value=b.startsWith("code")?s("baseForm.errors.edit"):b,f.value=!0,e("fetch:error",y)}finally{u.value=!1}}),(y,b)=>{const k=i.resolveComponent("KSkeleton"),g=i.resolveComponent("KEmptyState"),A=i.resolveComponent("KAlert"),I=i.resolveComponent("KButton"),B=i.resolveComponent("KCard");return i.openBlock(),i.createBlock(B,{class:"kong-ui-entity-base-form"},{body:i.withCtx(()=>[u.value?(i.openBlock(),i.createBlock(k,{key:0,type:"form"})):f.value?(i.openBlock(),i.createBlock(g,{key:1,"cta-text":i.unref(s)("baseForm.actions.back"),"data-testid":"form-fetch-error","handle-click":C,"is-error":!0},{message:i.withCtx(()=>[i.createElementVNode("h3",null,i.toDisplayString(h.value),1)]),_:1},8,["cta-text"])):(i.openBlock(),i.createElementBlock("form",{key:2,"data-testid":"form-content",onReset:i.withModifiers(p,["prevent"]),onSubmit:i.withModifiers(m,["prevent"])},[i.renderSlot(y.$slots,"default",{},void 0,!0),r.errorMessage?(i.openBlock(),i.createBlock(A,{key:0,"alert-message":r.errorMessage,appearance:"danger","data-testid":"form-error"},null,8,["alert-message"])):i.createCommentVNode("",!0),i.createElementVNode("div",ih,[i.renderSlot(y.$slots,"form-actions",{},()=>[i.createVNode(I,{appearance:"outline","data-testid":"form-cancel",disabled:r.isReadonly,type:"reset"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseForm.actions.cancel")),1)]),_:1},8,["disabled"]),i.createVNode(I,{appearance:"primary","data-testid":"form-submit",disabled:w.value,type:"submit"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseForm.actions.save")),1)]),_:1},8,["disabled"])],!0)])],40,rh))]),_:3})}}}),[["__scopeId","data-v-2286e5f2"]]),nh={key:0},oh=it(i.defineComponent({__name:"EntityBaseTableCell",props:{keyName:{type:String,required:!0},rowEl:{type:[Object,null],required:!0}},setup(r){const e=r,t=i.computed(()=>{var m;return((m=e.rowEl)==null?void 0:m.querySelector(`[data-testid="${e.keyName}"]`))||null}),n=i.computed(()=>{var m;return((m=t.value)==null?void 0:m.querySelector('[role="button"]'))||null}),o=i.computed(()=>{var m,y;const b=(m=e.rowEl)==null?void 0:m.querySelectorAll("td");return b?((y=b[0])==null?void 0:y.getAttribute("data-testid"))===e.keyName:!1});let s;const c=()=>{s&&(s.disconnect(),s=void 0)},d=()=>{var m,y,b;f.value=((m=n.value)==null?void 0:m.getBoundingClientRect().width)||0,h.value=((y=t.value)==null?void 0:y.clientWidth)||0,w.value=((b=u.value)==null?void 0:b.innerText)||""},u=i.ref({}),f=i.ref(0),h=i.ref(0),w=i.ref(""),T=i.computed(()=>[n.value,t.value]),C=i.watch(T,m=>{if(o.value&&(c(),"ResizeObserver"in window&&window)){s=new ResizeObserver(y=>{window.requestAnimationFrame(()=>{!Array.isArray(y)||!y.length||d()})});for(const y of m)y&&s.observe(y)}},{immediate:!0,flush:"post",deep:!0}),p=i.computed(()=>o.value?f.value>h.value:!1);return i.onMounted(()=>{d()}),i.onUnmounted(()=>{C()}),(m,y)=>{const b=i.resolveComponent("KTooltip");return i.openBlock(),i.createElementBlock("span",{ref_key:"contentRef",ref:u,class:"content-wrapper"},[o.value?(i.openBlock(),i.createElementBlock("span",nh,[i.createVNode(b,{disabled:!p.value,label:w.value,"max-width":"300",placement:"bottomStart"},{default:i.withCtx(()=>[i.renderSlot(m.$slots,"default",{},void 0,!0)]),_:3},8,["disabled","label"])])):i.renderSlot(m.$slots,"default",{key:1},void 0,!0)],512)}}}),[["__scopeId","data-v-f8a220e9"]]),sh={class:"toolbar-container"},ah={key:0,class:"toolbar-button-container"},ch=["data-testid"],Pu=it(i.defineComponent({__name:"EntityBaseTable",props:{tableHeaders:{type:Object,required:!0,default:()=>({})},fetcher:{type:Function,required:!0,default:async()=>({data:[],total:0})},initialFetcherParams:{type:Object,default:null},cacheIdentifier:{type:String,default:""},fetcherCacheKey:{type:Number,default:1},isLoading:{type:Boolean,default:!1},query:{type:String,default:""},enableClientSort:{type:Boolean,default:!1},enableEntityActions:{type:Boolean,default:!0},emptyStateOptions:{type:Object,default:()=>({})},errorMessage:{type:String,default:""},disablePaginationPageJump:{type:Boolean,default:void 0},disableSorting:{type:Boolean,default:void 0},paginationType:{type:String,default:void 0},cellAttributes:{type:Function,default:()=>({})},rowAttributes:{type:Function,default:()=>({})},preferencesStorageKey:{type:String,default:"",required:!0},dropdownMenuWidth:{type:String,default:"",required:!1},title:{type:String,default:""}},emits:["click:row","sort","clear-search-input","empty-state-cta-clicked"],setup(r,{emit:e}){const t=r,{i18n:{t:n}}=Ce.useI18n(),o=i.computed(()=>t.cacheIdentifier||t.preferencesStorageKey),s=g=>g.hasData||!!t.query,c=i.computed(()=>{const g=[];return Object.keys(t.tableHeaders).forEach(A=>{const I=t.tableHeaders[A];g.push({label:I.label??A,key:A,sortable:I.sortable??!1})}),t.enableEntityActions&&g.push({key:"actions",hideLabel:!0}),g}),d=g=>({"data-rowid":g.id,"data-testid":g.name,...t.rowAttributes(g)}),u=i.ref({}),f=g=>{var A;return(A=u.value)==null?void 0:A.$el.querySelector(`[data-rowid="${g.id}"]`)},h=g=>{const A={"data-testid":g.headerKey,...t.cellAttributes(g)};return g.colIndex===0&&(A.style={maxWidth:"250px",overflowX:"hidden",textOverflow:"ellipsis"}),A},w=()=>{e("empty-state-cta-clicked"),T()},T=()=>{e("clear-search-input")},C=(g,A)=>{e("click:row",A)},p=g=>{e("sort",g)},{setTablePreferences:m,getTablePreferences:y}=ep(),b=i.computed(()=>{const g=y(t.preferencesStorageKey);return{...t.initialFetcherParams,...g}}),k=g=>{t.preferencesStorageKey&&m(t.preferencesStorageKey,g)};return(g,A)=>{const I=i.resolveComponent("KIcon"),B=i.resolveComponent("KButton"),_=i.resolveComponent("KDropdownMenu"),X=i.resolveComponent("KTable"),W=i.resolveComponent("KCard");return i.openBlock(),i.createBlock(W,{class:"kong-ui-entity-base-table",title:r.title},{body:i.withCtx(()=>[i.createVNode(X,{ref_key:"tableRefs",ref:u,"cache-identifier":o.value,"cell-attrs":h,"disable-pagination-page-jump":r.disablePaginationPageJump,"disable-sorting":r.disableSorting,"empty-state-action-button-icon":r.query?"":"plus","empty-state-action-message":r.query?i.unref(n)("baseTable.emptyState.noSearchResultsCtaText"):r.emptyStateOptions.ctaText,"empty-state-action-route":r.query?"":r.emptyStateOptions.ctaPath,"empty-state-icon":r.query?"stateNoSearchResults":"stateGruceo","empty-state-icon-size":"96","empty-state-message":r.query?i.unref(n)("baseTable.emptyState.noSearchResultsMessage"):r.emptyStateOptions.message,"empty-state-title":r.query?i.unref(n)("baseTable.emptyState.noSearchResultsTitle"):r.emptyStateOptions.title,"enable-client-sort":r.enableClientSort,"error-state-title":r.errorMessage,fetcher:r.fetcher,"fetcher-cache-key":String(r.fetcherCacheKey),"has-error":!!r.errorMessage,headers:c.value,"hide-pagination-when-optional":"","initial-fetcher-params":b.value,"is-loading":r.isLoading,"pagination-type":r.paginationType,"row-attrs":d,"search-input":r.query,onKtableEmptyStateCtaClicked:w,"onRow:click":C,onSort:A[0]||(A[0]=V=>p(V)),"onUpdate:tablePreferences":k},i.createSlots({toolbar:i.withCtx(({state:V})=>[i.withDirectives(i.createElementVNode("div",sh,[i.renderSlot(g.$slots,"toolbar-filter",{},void 0,!0),g.$slots["toolbar-button"]?(i.openBlock(),i.createElementBlock("div",ah,[i.renderSlot(g.$slots,"toolbar-button",{},void 0,!0)])):i.createCommentVNode("",!0)],512),[[i.vShow,s(V)]])]),actions:i.withCtx(({row:V,rowKey:M,rowValue:z})=>[i.createElementVNode("div",{class:"actions-container","data-testid":V.name},[i.createVNode(_,{"kpop-attributes":{placement:"bottomEnd"},width:r.dropdownMenuWidth},{items:i.withCtx(()=>[i.renderSlot(g.$slots,"actions",{row:V,rowKey:M,rowValue:z},void 0,!0)]),default:i.withCtx(()=>[i.createVNode(B,{class:"actions-trigger","data-testid":"overflow-actions-button",size:"small"},{icon:i.withCtx(()=>[i.createVNode(I,{color:i.unref(Dp),icon:"more",size:"16"},null,8,["color"])]),_:1})]),_:2},1032,["width"])],8,ch)]),_:2},[i.renderList(r.tableHeaders,(V,M)=>({name:M,fn:i.withCtx(({row:z,rowKey:L,rowValue:fe})=>[i.createVNode(oh,{"key-name":String(M),"row-el":f(z)},{default:i.withCtx(()=>[i.renderSlot(g.$slots,M,{row:z,rowKey:L,rowValue:fe},()=>[i.createTextVNode(i.toDisplayString(fe),1)],!0)]),_:2},1032,["key-name","row-el"])])}))]),1032,["cache-identifier","disable-pagination-page-jump","disable-sorting","empty-state-action-button-icon","empty-state-action-message","empty-state-action-route","empty-state-icon","empty-state-message","empty-state-title","enable-client-sort","error-state-title","fetcher","fetcher-cache-key","has-error","headers","initial-fetcher-params","is-loading","pagination-type","search-input"])]),_:3},8,["title"])}}}),[["__scopeId","data-v-a598b1d9"]]),lh={key:0,class:"kong-ui-entity-delete-error"},uh={key:1,class:"description"},Du=it(i.defineComponent({__name:"EntityDeleteModal",props:{visible:{type:Boolean,required:!0,default:!1},title:{type:String,default:"Delete"},entityType:{type:String,required:!0},entityName:{type:String,default:""},needConfirm:{type:Boolean,default:!0},description:{type:String,default:""},actionPending:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["cancel","proceed"],setup(r,{emit:e}){const t=r,{i18nT:n}=Ce.useI18n(),o=i.computed(()=>t.needConfirm?t.entityName:""),s=()=>{e("cancel")},c=()=>{e("proceed")};return(d,u)=>{const f=i.resolveComponent("KAlert"),h=i.resolveComponent("KPrompt");return i.openBlock(),i.createBlock(h,{"action-button-text":"Yes, delete","action-pending":r.actionPending,class:"kong-ui-entity-delete-modal","confirmation-text":o.value,"is-visible":r.visible,title:r.title,type:"danger",onCanceled:s,onProceed:c},{"body-content":i.withCtx(()=>[r.error?(i.openBlock(),i.createElementBlock("div",lh,[i.createVNode(f,{appearance:"danger"},{alertMessage:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.error),1)]),_:1})])):i.createCommentVNode("",!0),i.createVNode(i.unref(n),{class:"message",keypath:t.entityName?"deleteModal.messageWithName":"deleteModal.message",tag:"p"},i.createSlots({entityType:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(t.entityType),1)]),_:2},[t.entityName?{name:"entityName",fn:i.withCtx(()=>[i.createElementVNode("strong",null,i.toDisplayString(t.entityName),1)]),key:"0"}:void 0]),1032,["keypath"]),t.description||d.$slots.description?(i.openBlock(),i.createElementBlock("div",uh,[i.renderSlot(d.$slots,"description",{},()=>[i.createElementVNode("p",null,i.toDisplayString(t.description),1)],!0)])):i.createCommentVNode("",!0)]),_:3},8,["action-pending","confirmation-text","is-visible","title"])}}}),[["__scopeId","data-v-1c9a2a07"]]),dh={fill:"none",height:"20",viewBox:"0 0 20 20",width:"20",xmlns:"http://www.w3.org/2000/svg"},fh={id:"mask0_180_20349",height:"20",maskUnits:"userSpaceOnUse",style:{"mask-type":"alpha"},width:"20",x:"0",y:"0"},ph=["fill"],hh={mask:"url(#mask0_180_20349)"},yh=["fill"],gh=i.defineComponent({__name:"IconFilter",props:{color:{type:String,default:`var(--kong-ui-entity-filter-color, ${jp})`}},setup(r){return(e,t)=>(i.openBlock(),i.createElementBlock("svg",dh,[i.createElementVNode("mask",fh,[i.createElementVNode("rect",{fill:r.color,height:"20",width:"20"},null,8,ph)]),i.createElementVNode("g",hh,[i.createElementVNode("path",{d:"M8 14.5V13H12V14.5H8ZM5 10.75V9.25H15V10.75H5ZM3 7V5.5H17V7H3Z",fill:r.color},null,8,yh)])]))}}),mh={key:1,class:"kong-ui-entity-filter"},bh={class:"menu-item-title"},vh={class:"menu-item-indicator"},wh={class:"menu-item-body"},kh=["for"],Sh={class:"menu-item-buttons"},$u=it(i.defineComponent({__name:"EntityFilter",props:{config:{type:Object,required:!0,default:()=>({isExactMatch:!0,placeholder:""})},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(r,{emit:e}){const t=r,{i18n:{t:n}}=Ce.useI18n(),o=i.ref(!1),s=i.ref({}),c=i.computed(()=>{const y=[];return new URLSearchParams(t.modelValue).forEach((b,k)=>{b!==""&&y.push(k)}),y}),d=i.computed(()=>{const y=t.config.fields;return Object.keys(y).filter(b=>y[b].searchable).map(b=>({label:y[b].label||b,value:b}))});i.watch(()=>t.modelValue,y=>{s.value={},new URLSearchParams(y).forEach((b,k)=>{s.value[k]=b})});const u=()=>{o.value=!o.value},f=y=>{e("update:modelValue",y)},h=y=>`filter-${y}`,w=y=>{var b,k;return(((k=(b=t.config.schema)==null?void 0:b[y])==null?void 0:k.values)??[]).map(g=>({value:g,label:g}))},T=y=>{var b,k;return((k=(b=t.config.schema)==null?void 0:b[y])==null?void 0:k.type)??"text"},C=y=>{s.value={...s.value,[y]:""},m()},p=()=>{s.value={},m(!0)},m=(y=!1)=>{const b=Object.keys(s.value).reduce((k,g)=>(s.value[g]&&(k[g]=`${s.value[g]}`),k),{});y&&(o.value=!1),e("update:modelValue",new URLSearchParams(b).toString())};return(y,b)=>{const k=i.resolveComponent("KInput"),g=i.resolveComponent("KButton"),A=i.resolveComponent("KSelect"),I=i.resolveComponent("KMenuItem"),B=i.resolveComponent("KMenu");return r.config.isExactMatch?(i.openBlock(),i.createBlock(k,{key:0,autocomplete:"off",class:"kong-ui-entity-filter-input","data-testid":"search-input","model-value":r.modelValue,placeholder:r.config.placeholder,"onUpdate:modelValue":f},{icon:i.withCtx(()=>[i.createVNode(gh)]),_:1},8,["model-value","placeholder"])):(i.openBlock(),i.createElementBlock("div",mh,[i.createVNode(g,{appearance:"btn-link","data-testid":"filter-button",icon:"filter",onClick:u},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.filterButtonText"))+" "+i.toDisplayString(c.value.length>0?`(${c.value.length})`:""),1)]),_:1}),i.withDirectives(i.createElementVNode("div",{class:"kong-ui-entity-filter-backdrop",onClick:u},null,512),[[i.vShow,o.value]]),i.withDirectives(i.createVNode(B,{class:"kong-ui-entity-filter-menu"},{body:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(d.value,(_,X)=>(i.openBlock(),i.createBlock(I,{key:_.value,"data-testid":_.value,expandable:"","last-menu-item":X===d.value.length-1},{itemTitle:i.withCtx(()=>[i.createElementVNode("span",bh,[i.createTextVNode(i.toDisplayString(_.label)+" ",1),i.withDirectives(i.createElementVNode("span",vh,null,512),[[i.vShow,c.value.includes(_.value)]])])]),itemBody:i.withCtx(()=>{var W,V;return[i.createElementVNode("div",wh,[i.createElementVNode("label",{class:"menu-item-label",for:h(_.value)},i.toDisplayString(i.unref(n)("filter.fieldLabel")),9,kh),((V=(W=r.config.schema)==null?void 0:W[_.value])==null?void 0:V.type)==="select"?(i.openBlock(),i.createBlock(A,{key:0,id:h(_.value),modelValue:s.value[_.value],"onUpdate:modelValue":M=>s.value[_.value]=M,appearance:"select",items:w(_.value),placeholder:i.unref(n)("filter.selectPlaceholder")},null,8,["id","modelValue","onUpdate:modelValue","items","placeholder"])):(i.openBlock(),i.createBlock(k,{key:1,id:h(_.value),modelValue:s.value[_.value],"onUpdate:modelValue":M=>s.value[_.value]=M,autocomplete:"off",placeholder:i.unref(n)("filter.inputPlaceholder"),size:"small",type:T(_.value)},null,8,["id","modelValue","onUpdate:modelValue","placeholder","type"]))]),i.createElementVNode("div",Sh,[i.createVNode(g,{appearance:"btn-link","data-testid":"apply-filter",size:"small",onClick:b[0]||(b[0]=M=>m(!0))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.applyButtonText")),1)]),_:1}),i.createVNode(g,{appearance:"btn-link","data-testid":"clear-filter",size:"small",onClick:M=>C(_.value)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.clearButtonText")),1)]),_:2},1032,["onClick"])])]}),_:2},1032,["data-testid","last-menu-item"]))),128))]),actionButton:i.withCtx(()=>[i.createVNode(g,{onClick:p},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.clearAllButtonText")),1)]),_:1})]),_:1},512),[[i.vShow,o.value]])]))}}}),[["__scopeId","data-v-745f38c0"]]),gt=i.defineComponent({__name:"PermissionsWrapper",props:{authFunction:{type:Function,required:!0,default:async()=>!0},forceShow:{type:Boolean,default:!1}},setup(r){const e=r,t=i.ref(void 0),n=i.computed(()=>t.value===!0||t.value!==void 0&&e.forceShow===!0);return i.onBeforeMount(async()=>{t.value=await e.authFunction()}),(o,s)=>n.value?i.renderSlot(o.$slots,"default",{key:0,isAllowed:t.value}):i.createCommentVNode("",!0)}}),Ch={class:"form-section-wrapper"},xh={key:0,class:"form-section-title"},Ah={key:1,class:"form-section-description"},Bh={key:2,class:"form-section-footer"},Ih={class:"form-section-content"},On=it(i.defineComponent({__name:"EntityFormSection",props:{title:{type:String,default:""},description:{type:String,default:""},hasDivider:{type:Boolean,default:!1},stickyInfoHeader:{type:Boolean,default:!0},hideInfoHeader:{type:Boolean,default:!1}},setup(r){const e=i.useSlots();return(t,n)=>(i.openBlock(),i.createElementBlock("fieldset",{class:i.normalizeClass(["kong-ui-entity-form-section",{"has-divider":r.hasDivider}])},[i.createElementVNode("div",Ch,[r.hideInfoHeader?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",{key:0,class:i.normalizeClass(["form-section-info",{sticky:r.stickyInfoHeader}])},[r.title?(i.openBlock(),i.createElementBlock("h4",xh,i.toDisplayString(r.title),1)):i.createCommentVNode("",!0),r.description||i.unref(e).description?(i.openBlock(),i.createElementBlock("div",Ah,[i.renderSlot(t.$slots,"description",{},()=>[i.createElementVNode("p",null,i.toDisplayString(r.description),1)],!0)])):i.createCommentVNode("",!0),i.unref(e).footer?(i.openBlock(),i.createElementBlock("div",Bh,[i.renderSlot(t.$slots,"footer",{},void 0,!0)])):i.createCommentVNode("",!0)],2)),i.createElementVNode("div",Ih,[i.renderSlot(t.$slots,"default",{},void 0,!0)])])],2))}}),[["__scopeId","data-v-8b6dc312"]]),{useAxios:Tn,useDeleteUrlBuilder:Ru,useErrors:Mu,useFetchUrlBuilder:Iy,useFetcher:Uu,useDebouncedFilter:Ey,useStringHelpers:Lu,useGatewayFeatureSupported:Ny}=Ce,_y="",Oy="",Eh={class:"kong-ui-entities-certificates-list"},Nh={key:0},_h={key:1},Oh={key:0},Th={key:1},Vh={key:0},jh={key:1},Ph={key:1},Dh={key:1},$h=i.defineComponent({__name:"CertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canCreateSni:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0}},emits:["error","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var ce;const t=r,{i18n:{t:n,formatUnixTimeStamp:o},i18nT:s}=rt.useI18n(),c=xr.useRouter(),{axiosInstance:d}=Tn({headers:(ce=t.config)==null?void 0:ce.requestHeaders}),u=i.ref(1),f=i.computed(()=>t.config.app!=="kongManager"||!!t.config.disableSorting),w={subject:{label:n("certificates.list.table_headers.subject")},expiry:{label:n("certificates.list.table_headers.expiry")},san:{label:n("certificates.list.table_headers.san")},cert:{label:n("certificates.list.table_headers.cert")},tags:{label:n("certificates.list.table_headers.tags"),sortable:!0}},T=i.computed(()=>{var J,ge;let F=`${t.config.apiBaseUrl}${ii.list[t.config.app]}`;return t.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((J=t.config)==null?void 0:J.controlPlaneId)||""):t.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,(ge=t.config)!=null&&ge.workspace?`/${t.config.workspace}`:"")),F}),C=i.ref(""),p=i.computed(()=>{const F=t.config.app==="konnect"||t.config.isExactMatch;return F?{isExactMatch:F,placeholder:n("certificates.search.placeholder")}:{isExactMatch:F,schema:t.config.filterSchema}}),{fetcher:m,fetcherState:y}=Uu(t.config,T.value),b=()=>{C.value=""},k=()=>{u.value++},g=i.ref(""),A=(F,J)=>{const ge=F.id;if(!J(ge)){e("copy:error",{entity:F,field:"id",message:n("certificates.errors.copy")});return}e("copy:success",{entity:F,field:"id",message:n("certificates.copy.success",{val:ge})})},I=(F,J)=>{const ge=JSON.stringify(F);if(!J(ge)){e("copy:error",{entity:F,message:n("certificates.errors.copy")});return}e("copy:success",{entity:F,message:n("certificates.copy.success_brief")})},B=(F,J)=>{F.type==="error"?e("copy:error",{entity:J,field:"cert",message:n("certificates.errors.copy")}):e("copy:success",{entity:J,field:"cert",message:n("certificates.copy.success_brief")})},_=async F=>{var ge;await((ge=t.canRetrieve)==null?void 0:ge.call(t,F))&&c.push(t.config.getViewRoute(F.id))},X=F=>({label:n("certificates.actions.view"),to:t.config.getViewRoute(F)}),W=F=>({label:n("certificates.actions.edit"),to:t.config.getEditRoute(F)}),V=F=>{if(t.config.getCreateSniRoute)return{label:n("certificates.actions.addSni"),to:t.config.getCreateSniRoute(F)}},M=i.ref(void 0),z=i.ref(!1),L=i.ref(!1),fe=i.ref(""),Ve=Ru(t.config,T.value),{certificateDataCache:Be,getCertificateData:mt}=rt.useCertificate(),Sr=F=>{M.value=F,z.value=!0},At=()=>{z.value=!1},zt=async()=>{var F,J,ge;if((F=M.value)!=null&&F.id){L.value=!0;try{await d.delete(Ve(M.value.id)),L.value=!1,z.value=!1,u.value++,e("delete:success",M.value)}catch(Re){fe.value=((ge=(J=Re.response)==null?void 0:J.data)==null?void 0:ge.message)||Re.message||n("certificates.errors.delete"),e("error",Re)}finally{L.value=!1}}};i.watch(y,F=>{if(F.status===xt.Error){g.value=n("certificates.errors.general"),e("error",F.error);return}Be.value={},g.value=""});const H=i.ref({ctaPath:t.config.createRoute,ctaText:void 0,message:n("certificates.list.empty_state.description"),title:n("certificates.title")});return i.onBeforeMount(async()=>{await t.canCreate()&&(H.value.title=n("certificates.list.empty_state.title"),H.value.ctaText=n("certificates.actions.create"))}),(F,J)=>{const ge=i.resolveComponent("KButton"),Re=i.resolveComponent("KBadge"),Cr=i.resolveComponent("KTruncate"),Z=i.resolveComponent("KDropdownItem"),le=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",Eh,[i.createVNode(i.unref(Pu),{"cache-identifier":r.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":f.value,"empty-state-options":H.value,"enable-entity-actions":"","error-message":g.value,fetcher:i.unref(m),"fetcher-cache-key":u.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-certificates-list",query:C.value,"table-headers":i.unref(w),onClearSearchInput:b,"onClick:row":J[2]||(J[2]=q=>_(q)),onSort:k},{"toolbar-filter":i.withCtx(()=>[i.createVNode(i.unref($u),{modelValue:C.value,"onUpdate:modelValue":J[0]||(J[0]=q=>C.value=q),config:p.value},null,8,["modelValue","config"])]),"toolbar-button":i.withCtx(()=>[i.createVNode(i.unref(gt),{"auth-function":()=>r.canCreate()},{default:i.withCtx(()=>[i.createVNode(ge,{appearance:"primary","data-testid":"toolbar-add-certificate",icon:"plus",to:r.config.createRoute},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.list.toolbar_actions.new_certificate")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])]),subject:i.withCtx(({row:q})=>{var ue;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("b",Nh,i.toDisplayString((ue=q==null?void 0:q.metadata)!=null&&ue.subject?q.metadata.subject:"-"),1)):(i.openBlock(),i.createElementBlock("b",_h,i.toDisplayString(i.unref(mt)(q).schemaSubject||"-"),1))]}),expiry:i.withCtx(({row:q})=>{var ue;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("span",Oh,i.toDisplayString((ue=q==null?void 0:q.metadata)!=null&&ue.expiry?i.unref(o)(q.metadata.expiry):"-"),1)):(i.openBlock(),i.createElementBlock("span",Th,i.toDisplayString(i.unref(mt)(q).schemaExpiry?i.unref(o)(i.unref(mt)(q).schemaExpiry):"-"),1))]}),san:i.withCtx(({row:q})=>{var ue;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("span",Vh,i.toDisplayString((ue=q==null?void 0:q.metadata)!=null&&ue.dns_names?`dns=${q.metadata.dns_names.join(", ")}`:"-"),1)):(i.openBlock(),i.createElementBlock("span",jh,i.toDisplayString(i.unref(mt)(q).schemaSanNames||"-"),1))]}),cert:i.withCtx(({row:q})=>[q!=null&&q.cert?(i.openBlock(),i.createBlock(i.unref(Zf),{key:0,"data-testid":"copy-certificate-cert",notify:ue=>B(ue,q),truncated:!0,uuid:q.cert},null,8,["notify","uuid"])):(i.openBlock(),i.createElementBlock("span",Ph,"-"))]),tags:i.withCtx(({row:q})=>{var ue;return[((ue=q==null?void 0:q.tags)==null?void 0:ue.length)>0?(i.openBlock(),i.createBlock(Cr,{key:0},{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(q==null?void 0:q.tags,Gt=>(i.openBlock(),i.createBlock(Re,{key:Gt,onClick:J[1]||(J[1]=i.withModifiers(()=>{},["stop"]))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(Gt),1)]),_:2},1024))),128))]),_:2},1024)):(i.openBlock(),i.createElementBlock("span",Dh,"-"))]}),actions:i.withCtx(({row:q})=>[i.createVNode(le,null,{default:i.withCtx(({copyToClipboard:ue})=>[i.createVNode(Z,{"data-testid":"action-entity-copy-id",onClick:Gt=>A(q,ue)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(le,null,{default:i.withCtx(({copyToClipboard:ue})=>[i.createVNode(Z,{"data-testid":"action-entity-copy-json",onClick:Gt=>I(q,ue)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(i.unref(gt),{"auth-function":()=>r.canRetrieve(q)},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-view","has-divider":"",item:X(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),i.createVNode(i.unref(gt),{"auth-function":()=>r.canEdit(q)},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-edit",item:W(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),r.config.getCreateSniRoute?(i.openBlock(),i.createBlock(i.unref(gt),{key:0,"auth-function":()=>r.canCreateSni()},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-add-sni",item:V(q.id)},null,8,["item"])]),_:2},1032,["auth-function"])):i.createCommentVNode("",!0),i.createVNode(i.unref(gt),{"auth-function":()=>r.canDelete(q)},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-delete","has-divider":"","is-dangerous":"",onClick:ue=>Sr(q)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.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"]),i.createVNode(i.unref(Du),{"action-pending":L.value,"entity-type":i.unref(Js).Certificate,error:fe.value,title:i.unref(n)("certificates.delete.title"),visible:z.value,onCancel:At,onProceed:zt},{description:i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.delete.description",scope:"global"},{"bolded-text":i.withCtx(()=>[i.createElementVNode("b",null,i.toDisplayString(i.unref(n)("certificates.delete.boldedText")),1)]),_:1}),i.createElementVNode("p",null,i.toDisplayString(i.unref(n)("certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),Ty="",kr=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Rh=kr($h,[["__scopeId","data-v-15d0d681"]]),Mh={class:"kong-ui-entities-certificates-form"},Uh=i.defineComponent({__name:"CertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(r,{emit:e}){var k;const t=r,n=xr.useRouter(),{i18nT:o,i18n:{t:s}}=rt.useI18n(),{getMessageFromError:c}=Mu(),{axiosInstance:d}=Tn({headers:(k=t.config)==null?void 0:k.requestHeaders}),u=i.computed(()=>ii.form[t.config.app].edit),f=i.computed(()=>t.certificateId?qt.Edit:qt.Create),h=i.reactive({fields:{cert:"",key:"",certAlt:"",keyAlt:"",tags:""},isReadonly:!1,errorMessage:""}),w=i.reactive({cert:"",key:"",certAlt:"",keyAlt:"",tags:""}),T=i.computed(()=>(f.value===qt.Create||JSON.stringify(h.fields)!==JSON.stringify(w))&&!!h.fields.cert&&!!h.fields.key),C=g=>{var A;h.fields.cert=(g==null?void 0:g.cert)||"",h.fields.key=(g==null?void 0:g.key)||"",h.fields.certAlt=(g==null?void 0:g.cert_alt)||"",h.fields.keyAlt=(g==null?void 0:g.key_alt)||"",h.fields.tags=((A=g==null?void 0:g.tags)==null?void 0:A.join(", "))||"",Object.assign(w,h.fields)},p=()=>{n.push(t.config.cancelRoute)},m=i.computed(()=>{var A,I;let g=`${t.config.apiBaseUrl}${ii.form[t.config.app].validate}`;return t.config.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,((A=t.config)==null?void 0:A.controlPlaneId)||""):t.config.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,(I=t.config)!=null&&I.workspace?`/${t.config.workspace}`:"")),g=g.replace(/{id}/gi,t.certificateId),g}),y=i.computed(()=>{var A,I;let g=`${t.config.apiBaseUrl}${ii.form[t.config.app][f.value]}`;return t.config.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,((A=t.config)==null?void 0:A.controlPlaneId)||""):t.config.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,(I=t.config)!=null&&I.workspace?`/${t.config.workspace}`:"")),g=g.replace(/{id}/gi,t.certificateId),g}),b=async()=>{var g,A,I,B,_,X,W,V,M;try{h.isReadonly=!0;const z={cert:h.fields.cert,key:h.fields.key,cert_alt:h.fields.certAlt||null,key_alt:h.fields.keyAlt||null,tags:(A=(g=h.fields.tags.split(","))==null?void 0:g.map(fe=>String(fe||"").trim()))==null?void 0:A.filter(fe=>fe!=="")};let L;await d.post(m.value,z),f.value==="create"?L=await d.post(y.value,z):f.value==="edit"&&(L=((I=t.config)==null?void 0:I.app)==="konnect"?await d.put(y.value,z):await d.patch(y.value,z)),h.fields.cert=((B=L==null?void 0:L.data)==null?void 0:B.cert)||"",h.fields.key=((_=L==null?void 0:L.data)==null?void 0:_.key)||"",h.fields.certAlt=((X=L==null?void 0:L.data)==null?void 0:X.cert_alt)||"",h.fields.keyAlt=((W=L==null?void 0:L.data)==null?void 0:W.key_alt)||"",h.fields.tags=((M=(V=L==null?void 0:L.data)==null?void 0:V.tags)==null?void 0:M.join(", "))||"",Object.assign(w,h.fields),e("update",L==null?void 0:L.data)}catch(z){h.errorMessage=c(z),e("error",z)}finally{h.isReadonly=!1}};return(g,A)=>{const I=i.resolveComponent("KTextArea"),B=i.resolveComponent("KInput");return i.openBlock(),i.createElementBlock("div",Mh,[i.createVNode(i.unref(ju),{"can-submit":T.value,config:r.config,"edit-id":r.certificateId,"error-message":h.errorMessage,"fetch-url":u.value,"is-readonly":h.isReadonly,onCancel:p,"onFetch:error":A[5]||(A[5]=_=>g.$emit("error",_)),"onFetch:success":C,onLoading:A[6]||(A[6]=_=>g.$emit("loading",_)),onSubmit:b},{default:i.withCtx(()=>[i.createVNode(i.unref(On),{description:i.unref(s)("certificates.form.sections.ssl.description"),title:i.unref(s)("certificates.form.sections.ssl.title")},{default:i.withCtx(()=>[i.createVNode(I,{modelValue:h.fields.cert,"onUpdate:modelValue":A[0]||(A[0]=_=>h.fields.cert=_),modelModifiers:{trim:!0},class:"certificate-form-textarea","data-testid":"certificate-form-cert","disable-character-limit":"",label:i.unref(s)("certificates.form.fields.cert.label"),readonly:h.isReadonly,required:""},{"label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(o),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("em",null,i.toDisplayString(i.unref(s)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),i.createVNode(I,{modelValue:h.fields.key,"onUpdate:modelValue":A[1]||(A[1]=_=>h.fields.key=_),modelModifiers:{trim:!0},class:"certificate-form-textarea","data-testid":"certificate-form-key","disable-character-limit":"",label:i.unref(s)("certificates.form.fields.key.label"),readonly:h.isReadonly,required:""},{"label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(o),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("em",null,i.toDisplayString(i.unref(s)("certificates.form.fields.key.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),i.createVNode(B,{modelValue:h.fields.certAlt,"onUpdate:modelValue":A[2]||(A[2]=_=>h.fields.certAlt=_),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-cert-alt",label:i.unref(s)("certificates.form.fields.cert_alt.label"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","label","readonly"]),i.createVNode(B,{modelValue:h.fields.keyAlt,"onUpdate:modelValue":A[3]||(A[3]=_=>h.fields.keyAlt=_),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-key-alt",label:i.unref(s)("certificates.form.fields.key_alt.label"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","label","readonly"])]),_:1},8,["description","title"]),i.createVNode(i.unref(On),{description:i.unref(s)("certificates.form.sections.general.description"),title:i.unref(s)("certificates.form.sections.general.title")},{default:i.withCtx(()=>[i.createVNode(B,{modelValue:h.fields.tags,"onUpdate:modelValue":A[4]||(A[4]=_=>h.fields.tags=_),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-tags",help:i.unref(s)("certificates.form.fields.tags.help"),label:i.unref(s)("certificates.form.fields.tags.label"),"label-attributes":{info:i.unref(s)("certificates.form.fields.tags.tooltip")},placeholder:i.unref(s)("certificates.form.fields.tags.placeholder"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","is-readonly"])])}}}),Vy="",Lh=kr(Uh,[["__scopeId","data-v-ffa3e98c"]]),ni={list:{konnect:"/api/runtime_groups/{controlPlaneId}/ca_certificates",kongManager:"/{workspace}/ca_certificates"},form:{konnect:{create:"/api/runtime_groups/{controlPlaneId}/ca_certificates",edit:"/api/runtime_groups/{controlPlaneId}/ca_certificates/{id}",validate:"/api/runtime_groups/{controlPlaneId}/v1/schemas/json/ca-certificate/validate"},kongManager:{create:"/{workspace}/ca_certificates",edit:"/{workspace}/ca_certificates/{id}",validate:"/{workspace}/schemas/ca_certificates/validate"}}},Hh={class:"kong-ui-ca-certificate-entity-config-card"},Fh={key:0},Kh=i.defineComponent({__name:"CACertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success","copy:success"],setup(r,{emit:e}){const t=r,n=["dns_names","san_names","subject"],{i18n:{t:o,formatUnixTimeStamp:s}}=rt.useI18n(),{convertKeyToTitle:c}=Lu(),{getCertificateData:d}=rt.useCertificate(),u=i.computed(()=>ni.form[t.config.app].edit),f=i.ref(),h=i.computed(()=>{if(f.value)return d(f.value)}),w=i.computed(()=>{var y;return((y=h.value)==null?void 0:y.schemaIssuer)||""}),T=i.computed(()=>{var y,b;return(y=h.value)!=null&&y.schemaExpiry?s((b=h.value)==null?void 0:b.schemaExpiry):""}),C=i.computed(()=>{var y;return((y=h.value)==null?void 0:y.schemaKeyUsages)||[]}),p=y=>{f.value=y,e("fetch:success",y)},m=i.ref({id:{},updated_at:{},created_at:{},cert:{section:ae.Basic,label:o("ca-certificates.form.fields.cert.label"),tooltip:o("ca-certificates.form.fields.cert.tooltip"),order:5},cert_digest:{section:ae.Basic,label:o("ca-certificates.form.fields.cert_digest.label"),tooltip:o("ca-certificates.form.fields.cert_digest.tooltip"),order:6},metadata:{section:ae.Basic,type:re.Json,order:7},...t.config.app==="kongManager"&&{expiry:{label:o("certificates.list.table_headers.expiry"),section:ae.Basic,order:1.7,forceShow:!0},issuer:{section:ae.Basic,order:1.5,forceShow:!0},key_usages:{section:ae.Basic,forceShow:!0}},tags:{tooltip:o("ca-certificates.form.fields.tags.tooltip")}});return(y,b)=>{const k=i.resolveComponent("KCodeBlock"),g=i.resolveComponent("KBadge");return i.openBlock(),i.createElementBlock("div",Hh,[i.createVNode(i.unref(Vu),{config:r.config,"config-schema":m.value,"fetch-url":u.value,"hide-title":r.hideTitle,"onCopy:success":b[0]||(b[0]=A=>y.$emit("copy:success",A)),"onFetch:error":b[1]||(b[1]=A=>y.$emit("fetch:error",A)),"onFetch:success":p,onLoading:b[2]||(b[2]=A=>y.$emit("loading",A))},{cert:i.withCtx(({rowValue:A})=>[i.createVNode(k,{id:`ca-cert-${r.config.entityId}-cert-codeblock`,code:A,"is-single-line":"",language:"plaintext"},null,8,["id","code"])]),metadata:i.withCtx(({rowValue:A})=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(A).filter(I=>!n.includes(I)),I=>(i.openBlock(),i.createBlock(i.unref(_n),{key:I,"data-testid":`ca-cert-metadata-${I}`,item:{key:I,label:i.unref(c)(I),value:I==="expiry"?T.value:I==="key_usages"?C.value:A[I],type:I==="key_usages"?i.unref(re).BadgeTag:i.unref(re).Text}},null,8,["data-testid","item"]))),128))]),expiry:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(T.value||"–"),1)]),issuer:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(w.value||"–"),1)]),key_usages:i.withCtx(()=>[C.value.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",Fh,i.toDisplayString("–"))),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(C.value,(A,I)=>(i.openBlock(),i.createBlock(g,{key:`key_usages-badge-tag-${I}`,class:"config-badge","data-testid":`key_usages-badge-tag-${I}`,"truncation-tooltip":A},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(A),1)]),_:2},1032,["data-testid","truncation-tooltip"]))),128))]),_:1},8,["config","config-schema","fetch-url","hide-title"])])}}}),jy="",qh=kr(Kh,[["__scopeId","data-v-c7364467"]]),zh={class:"kong-ui-entities-ca-certificates-list"},Gh={key:0},Wh={key:1},Jh={key:0},Yh={key:1},Zh={key:1},Qh=i.defineComponent({__name:"CACertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.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},canRetrieve:{type:Function,required:!1,default:async()=>!0}},emits:["error","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var zt;const t=r,{i18n:{t:n,formatUnixTimeStamp:o},i18nT:s}=rt.useI18n(),c=xr.useRouter(),{axiosInstance:d}=Tn({headers:(zt=t.config)==null?void 0:zt.requestHeaders}),u=i.ref(1),f=i.computed(()=>t.config.app!=="kongManager"||!!t.config.disableSorting),w={issuer:{label:n("ca-certificates.list.table_headers.issuer")},expiry:{label:n("ca-certificates.list.table_headers.expiry")},tags:{label:n("ca-certificates.list.table_headers.tags"),sortable:!0}},T=i.computed(()=>{var ce,F;let H=`${t.config.apiBaseUrl}${ni.list[t.config.app]}`;return t.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,((ce=t.config)==null?void 0:ce.controlPlaneId)||""):t.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,(F=t.config)!=null&&F.workspace?`/${t.config.workspace}`:"")),H}),C=i.ref(""),p=i.computed(()=>{const H=t.config.app==="konnect"||t.config.isExactMatch;return H?{isExactMatch:H,placeholder:n("ca-certificates.search.placeholder")}:{isExactMatch:H,schema:t.config.filterSchema}}),{fetcher:m,fetcherState:y}=Uu(t.config,T.value),b=()=>{C.value=""},k=()=>{u.value++},g=i.ref(""),A=(H,ce)=>{const F=H.id;if(!ce(F)){e("copy:error",{entity:H,field:"id",message:n("ca-certificates.errors.copy")});return}e("copy:success",{entity:H,field:"id",message:n("ca-certificates.copy.success",{val:F})})},I=(H,ce)=>{const F=JSON.stringify(H);if(!ce(F)){e("copy:error",{entity:H,message:n("ca-certificates.errors.copy")});return}e("copy:success",{entity:H,message:n("ca-certificates.copy.success_brief")})},B=async H=>{var F;await((F=t.canRetrieve)==null?void 0:F.call(t,H))&&c.push(t.config.getViewRoute(H.id))},_=H=>({label:n("ca-certificates.actions.view"),to:t.config.getViewRoute(H)}),X=H=>({label:n("ca-certificates.actions.edit"),to:t.config.getEditRoute(H)}),W=i.ref(void 0),V=i.ref(!1),M=i.ref(!1),z=i.ref(""),L=Ru(t.config,T.value),{certificateDataCache:fe,getCertificateData:Ve}=rt.useCertificate(),Be=H=>{W.value=H,V.value=!0},mt=()=>{V.value=!1},Sr=async()=>{var H,ce,F;if((H=W.value)!=null&&H.id){M.value=!0;try{await d.delete(L(W.value.id)),M.value=!1,V.value=!1,u.value++,e("delete:success",W.value)}catch(J){z.value=((F=(ce=J.response)==null?void 0:ce.data)==null?void 0:F.message)||J.message||n("ca-certificates.errors.delete"),e("error",J)}finally{M.value=!1}}};i.watch(y,H=>{if(H.status===xt.Error){g.value=n("ca-certificates.errors.general"),e("error",H.error);return}fe.value={},g.value=""});const At=i.ref({ctaPath:t.config.createRoute,ctaText:void 0,message:n("ca-certificates.list.empty_state.description"),title:n("ca-certificates.title")});return i.onBeforeMount(async()=>{await t.canCreate()&&(At.value.title=n("ca-certificates.list.empty_state.title"),At.value.ctaText=n("ca-certificates.actions.create"))}),(H,ce)=>{const F=i.resolveComponent("KButton"),J=i.resolveComponent("KBadge"),ge=i.resolveComponent("KTruncate"),Re=i.resolveComponent("KDropdownItem"),Cr=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",zh,[i.createVNode(i.unref(Pu),{"cache-identifier":r.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":f.value,"empty-state-options":At.value,"enable-entity-actions":"","error-message":g.value,fetcher:i.unref(m),"fetcher-cache-key":u.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-ca-certificates-list",query:C.value,"table-headers":i.unref(w),onClearSearchInput:b,"onClick:row":ce[2]||(ce[2]=Z=>B(Z)),onSort:k},{"toolbar-filter":i.withCtx(()=>[i.createVNode(i.unref($u),{modelValue:C.value,"onUpdate:modelValue":ce[0]||(ce[0]=Z=>C.value=Z),config:p.value},null,8,["modelValue","config"])]),"toolbar-button":i.withCtx(()=>[i.createVNode(i.unref(gt),{"auth-function":()=>r.canCreate()},{default:i.withCtx(()=>[i.createVNode(F,{appearance:"primary","data-testid":"toolbar-add-ca-certificate",icon:"plus",to:r.config.createRoute},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.list.toolbar_actions.new_ca_certificate")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])]),issuer:i.withCtx(({row:Z})=>{var le;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("b",Gh,i.toDisplayString((le=Z==null?void 0:Z.metadata)!=null&&le.issuer?Z.metadata.issuer:"-"),1)):(i.openBlock(),i.createElementBlock("b",Wh,i.toDisplayString(i.unref(Ve)(Z).schemaIssuer||"-"),1))]}),expiry:i.withCtx(({row:Z})=>{var le;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("span",Jh,i.toDisplayString((le=Z==null?void 0:Z.metadata)!=null&&le.expiry?i.unref(o)(Z.metadata.expiry):"-"),1)):(i.openBlock(),i.createElementBlock("span",Yh,i.toDisplayString(i.unref(Ve)(Z).schemaExpiry?i.unref(o)(i.unref(Ve)(Z).schemaExpiry):"-"),1))]}),tags:i.withCtx(({row:Z})=>{var le;return[((le=Z==null?void 0:Z.tags)==null?void 0:le.length)>0?(i.openBlock(),i.createBlock(ge,{key:0},{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Z==null?void 0:Z.tags,q=>(i.openBlock(),i.createBlock(J,{key:q,onClick:ce[1]||(ce[1]=i.withModifiers(()=>{},["stop"]))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(q),1)]),_:2},1024))),128))]),_:2},1024)):(i.openBlock(),i.createElementBlock("span",Zh,"-"))]}),actions:i.withCtx(({row:Z})=>[i.createVNode(Cr,null,{default:i.withCtx(({copyToClipboard:le})=>[i.createVNode(Re,{"data-testid":"action-entity-copy-id",onClick:q=>A(Z,le)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(Cr,null,{default:i.withCtx(({copyToClipboard:le})=>[i.createVNode(Re,{"data-testid":"action-entity-copy-json",onClick:q=>I(Z,le)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(i.unref(gt),{"auth-function":()=>r.canRetrieve(Z)},{default:i.withCtx(()=>[i.createVNode(Re,{"data-testid":"action-entity-view","has-divider":"",item:_(Z.id)},null,8,["item"])]),_:2},1032,["auth-function"]),i.createVNode(i.unref(gt),{"auth-function":()=>r.canEdit(Z)},{default:i.withCtx(()=>[i.createVNode(Re,{"data-testid":"action-entity-edit",item:X(Z.id)},null,8,["item"])]),_:2},1032,["auth-function"]),i.createVNode(i.unref(gt),{"auth-function":()=>r.canDelete(Z)},{default:i.withCtx(()=>[i.createVNode(Re,{"data-testid":"action-entity-delete","has-divider":"","is-dangerous":"",onClick:le=>Be(Z)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.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"]),i.createVNode(i.unref(Du),{"action-pending":M.value,"entity-type":i.unref(Js).CACertificate,error:z.value,title:i.unref(n)("ca-certificates.delete.title"),visible:V.value,onCancel:mt,onProceed:Sr},{description:i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"ca-certificates.delete.description",scope:"global"},{"bolded-text":i.withCtx(()=>[i.createElementVNode("b",null,i.toDisplayString(i.unref(n)("ca-certificates.delete.boldedText")),1)]),_:1}),i.createElementVNode("p",null,i.toDisplayString(i.unref(n)("ca-certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),Py="",Xh=kr(Qh,[["__scopeId","data-v-a9e99180"]]),ey={class:"kong-ui-entities-ca-certificates-form"},ty=i.defineComponent({__name:"CACertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(r,{emit:e}){var b;const t=r,n=xr.useRouter(),{i18n:{t:o}}=rt.useI18n(),{getMessageFromError:s}=Mu(),{axiosInstance:c}=Tn({headers:(b=t.config)==null?void 0:b.requestHeaders}),d=i.computed(()=>ni.form[t.config.app].edit),u=i.computed(()=>t.certificateId?qt.Edit:qt.Create),f=i.reactive({fields:{cert:"",certDigest:"",tags:""},isReadonly:!1,errorMessage:""}),h=i.reactive({cert:"",certDigest:"",tags:""}),w=i.computed(()=>(u.value===qt.Create||JSON.stringify(f.fields)!==JSON.stringify(h))&&!!f.fields.cert),T=k=>{var g;f.fields.cert=(k==null?void 0:k.cert)||"",f.fields.certDigest=(k==null?void 0:k.cert_digest)||"",f.fields.tags=((g=k==null?void 0:k.tags)==null?void 0:g.join(", "))||"",Object.assign(h,f.fields)},C=()=>{n.push(t.config.cancelRoute)},p=i.computed(()=>{var g,A;let k=`${t.config.apiBaseUrl}${ni.form[t.config.app].validate}`;return t.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((g=t.config)==null?void 0:g.controlPlaneId)||""):t.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(A=t.config)!=null&&A.workspace?`/${t.config.workspace}`:"")),k=k.replace(/{id}/gi,t.certificateId),k}),m=i.computed(()=>{var g,A;let k=`${t.config.apiBaseUrl}${ni.form[t.config.app][u.value]}`;return t.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((g=t.config)==null?void 0:g.controlPlaneId)||""):t.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(A=t.config)!=null&&A.workspace?`/${t.config.workspace}`:"")),k=k.replace(/{id}/gi,t.certificateId),k}),y=async()=>{var k,g,A,I,B,_,X;try{f.isReadonly=!0;const W={cert:f.fields.cert,cert_digest:f.fields.certDigest||null,tags:(g=(k=f.fields.tags.split(","))==null?void 0:k.map(M=>String(M||"").trim()))==null?void 0:g.filter(M=>M!=="")};let V;await c.post(p.value,W),u.value==="create"?V=await c.post(m.value,W):u.value==="edit"&&(V=((A=t.config)==null?void 0:A.app)==="konnect"?await c.put(m.value,W):await c.patch(m.value,W)),f.fields.cert=((I=V==null?void 0:V.data)==null?void 0:I.cert)||"",f.fields.certDigest=((B=V==null?void 0:V.data)==null?void 0:B.cert_digest)||"",f.fields.tags=((X=(_=V==null?void 0:V.data)==null?void 0:_.tags)==null?void 0:X.join(", "))||"",Object.assign(h,f.fields),e("update",V==null?void 0:V.data)}catch(W){f.errorMessage=s(W),e("error",W)}finally{f.isReadonly=!1}};return(k,g)=>{const A=i.resolveComponent("KTextArea"),I=i.resolveComponent("KInput");return i.openBlock(),i.createElementBlock("div",ey,[i.createVNode(i.unref(ju),{"can-submit":w.value,config:r.config,"edit-id":r.certificateId,"error-message":f.errorMessage,"fetch-url":d.value,"is-readonly":f.isReadonly,onCancel:C,"onFetch:error":g[3]||(g[3]=B=>k.$emit("error",B)),"onFetch:success":T,onLoading:g[4]||(g[4]=B=>k.$emit("loading",B)),onSubmit:y},{default:i.withCtx(()=>[i.createVNode(i.unref(On),{description:i.unref(o)("ca-certificates.form.sections.cert.description"),title:i.unref(o)("ca-certificates.form.sections.cert.title")},{default:i.withCtx(()=>[i.createVNode(A,{modelValue:f.fields.cert,"onUpdate:modelValue":g[0]||(g[0]=B=>f.fields.cert=B),modelModifiers:{trim:!0},class:"certificate-form-textarea","data-testid":"ca-certificate-form-cert","disable-character-limit":"",label:i.unref(o)("ca-certificates.form.fields.cert.label"),"label-attributes":{info:i.unref(o)("ca-certificates.form.fields.cert.tooltip")},readonly:f.isReadonly,required:""},null,8,["modelValue","label","label-attributes","readonly"]),i.createVNode(I,{modelValue:f.fields.certDigest,"onUpdate:modelValue":g[1]||(g[1]=B=>f.fields.certDigest=B),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-cert-digest",label:i.unref(o)("ca-certificates.form.fields.cert_digest.label"),readonly:f.isReadonly,type:"text"},null,8,["modelValue","label","readonly"])]),_:1},8,["description","title"]),i.createVNode(i.unref(On),{description:i.unref(o)("ca-certificates.form.sections.general.description"),title:i.unref(o)("ca-certificates.form.sections.general.title")},{default:i.withCtx(()=>[i.createVNode(I,{modelValue:f.fields.tags,"onUpdate:modelValue":g[2]||(g[2]=B=>f.fields.tags=B),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-tags",help:i.unref(o)("ca-certificates.form.fields.tags.help"),label:i.unref(o)("ca-certificates.form.fields.tags.label"),"label-attributes":{info:i.unref(o)("ca-certificates.form.fields.tags.tooltip")},placeholder:i.unref(o)("ca-certificates.form.fields.tags.placeholder"),readonly:f.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","is-readonly"])])}}}),Dy="",ry=kr(ty,[["__scopeId","data-v-a1cf8ed1"]]),iy={class:"kong-ui-certificate-entity-config-card"},ny={key:0},oy=i.defineComponent({__name:"CertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success","copy:success"],setup(r,{emit:e}){const t=r,{i18n:{t:n,formatUnixTimeStamp:o},i18nT:s}=rt.useI18n(),{convertKeyToTitle:c}=Lu(),{getCertificateData:d}=rt.useCertificate(),u=i.computed(()=>ii.form[t.config.app].edit),f=i.ref(),h=i.ref({id:{},cert:{section:ae.Basic},key:{section:ae.Basic,type:re.Redacted},metadata:{section:ae.Basic,type:re.Json},snis:{section:ae.Basic,type:re.BadgeTag,label:n("certificates.list.table_headers.snis")},updated_at:{},created_at:{},tags:{tooltip:n("certificates.form.fields.tags.tooltip")},...t.config.app==="kongManager"&&{expiry:{section:ae.Basic,label:n("certificates.list.table_headers.expiry"),forceShow:!0},issuer:{section:ae.Basic,label:n("certificates.list.table_headers.issuer"),forceShow:!0},san_names:{section:ae.Basic,label:n("certificates.list.table_headers.san"),forceShow:!0},subject:{section:ae.Basic,label:n("certificates.list.table_headers.subject"),forceShow:!0},key_usages:{forceShow:!0}},cert_alt:{section:ae.Advanced},key_alt:{section:ae.Advanced,type:re.Redacted}}),w=B=>{f.value=B,e("fetch:success",B)},T=i.computed(()=>{if(f.value)return d(f.value)}),C=i.computed(()=>{var B,_;return(B=T.value)!=null&&B.schemaExpiry?o((_=T.value)==null?void 0:_.schemaExpiry):""}),p=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaIssuer)||""}),m=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaSanNames)||""}),y=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaSubject)||""}),b=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaKeyUsages)||[]}),k=i.computed(()=>{var B,_;return((_=(B=f==null?void 0:f.value)==null?void 0:B.snis)==null?void 0:_.length)>0}),g=i.computed(()=>{var B;return!!((B=f==null?void 0:f.value)!=null&&B.cert_alt)}),A=B=>{var _,X;return B==="san_names"?n("certificates.list.table_headers.san"):((X=(_=h.value)==null?void 0:_[B])==null?void 0:X.label)||c(B)},I=(B,_)=>B==="expiry"?C.value:B==="key_usages"?b.value:B==="san_names"?m.value:_[B];return(B,_)=>{const X=i.resolveComponent("KCodeBlock"),W=i.resolveComponent("KBadge");return i.openBlock(),i.createElementBlock("div",iy,[i.createVNode(i.unref(Vu),{config:r.config,"config-schema":h.value,"fetch-url":u.value,"hide-title":r.hideTitle,"onCopy:success":_[0]||(_[0]=V=>B.$emit("copy:success",V)),"onFetch:error":_[1]||(_[1]=V=>B.$emit("fetch:error",V)),"onFetch:success":w,onLoading:_[2]||(_[2]=V=>B.$emit("loading",V))},i.createSlots({"cert-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),cert:i.withCtx(({rowValue:V})=>[i.createVNode(X,{id:`certificate-${r.config.entityId}-cert-codeblock`,code:V,"is-single-line":"",language:"plaintext"},null,8,["id","code"])]),"key-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.key.emphasis")),1)]),_:1})]),metadata:i.withCtx(({rowValue:V})=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(V),M=>(i.openBlock(),i.createBlock(i.unref(_n),{key:M,item:{key:M,value:I(M,V),label:A(M),type:M==="key_usages"||M==="snis"||M==="dns_names"?i.unref(re).BadgeTag:i.unref(re).Text}},null,8,["item"]))),128))]),expiry:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(C.value||"–"),1)]),issuer:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(p.value||"–"),1)]),san_names:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(m.value||"–"),1)]),subject:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(y.value||"–"),1)]),"cert_alt-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.cert_alt.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.cert_alt.emphasis")),1)]),_:1})]),"key_alt-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.key_alt.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.key_alt.emphasis")),1)]),_:1})]),key_usages:i.withCtx(()=>[b.value.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ny,i.toDisplayString("–"))),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(b.value,(V,M)=>(i.openBlock(),i.createBlock(W,{key:`key_usages-badge-tag-${M}`,class:"config-badge","data-testid":`key_usages-badge-tag-${M}`,"truncation-tooltip":V},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(V),1)]),_:2},1032,["data-testid","truncation-tooltip"]))),128))]),_:2},[k.value?void 0:{name:"snis",fn:i.withCtx(()=>[i.createTextVNode(" – ")]),key:"0"},g.value?{name:"cert_alt",fn:i.withCtx(({rowValue:V})=>[i.createVNode(X,{id:`certificate-${r.config.entityId}-cert-alt-codeblock`,code:V,"is-single-line":"",language:"plaintext"},null,8,["id","code"])]),key:"1"}:void 0]),1032,["config","config-schema","fetch-url","hide-title"])])}}}),$y="",sy=kr(oy,[["__scopeId","data-v-842a59fa"]]);we.CACertificateConfigCard=qh,we.CACertificateForm=ry,we.CACertificateList=Xh,we.CertificateConfigCard=sy,we.CertificateForm=Lh,we.CertificateList=Rh,Object.defineProperty(we,Symbol.toStringTag,{value:"Module"})});
|
|
117
|
+
`)}}$e.CertificateTag="CERTIFICATE",$e.CrlTag="CRL",$e.CertificateRequestTag="CERTIFICATE REQUEST",$e.PublicKeyTag="PUBLIC KEY",$e.PrivateKeyTag="PRIVATE KEY";class yt extends St{static isAsnEncoded(e){return P.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if($e.isPem(e))return $e.decode(e)[0];if($.isHex(e))return $.FromHex(e);if($.isBase64(e))return $.FromBase64(e);if($.isBase64Url(e))return $.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const t=$.ToBinary(e);return $e.isPem(t)?$e.decode(t)[0]:$.isHex(t)?$.FromHex(t):$.isBase64(t)?$.FromBase64(t):$.isBase64Url(t)?$.FromBase64Url(t):P.toArrayBuffer(e)}}constructor(...e){yt.isAsnEncoded(e[0])?super(yt.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return $e.encode(this.rawData,this.tag);default:return super.toString(e)}}}class Kt extends yt{constructor(e){yt.isAsnEncoded(e)?super(e,dt):super(e),this.tag=$e.PublicKeyTag}async export(...e){let t,n=["verify"],o={hash:"SHA-256",...this.algorithm};return e.length>1?(o=e[0]||o,n=e[1]||n,t=e[2]||De.get()):t=e[0]||De.get(),t.subtle.importKey("spki",this.rawData,o,!0,n)}onInit(e){const t=He.resolve(Cn),n=this.algorithm=t.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case gr:{const o=U.parse(e.subjectPublicKey,ds),s=P.toUint8Array(o.modulus);n.publicExponent=P.toUint8Array(o.publicExponent),n.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var t;let n,o="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(o=e[0]||o,n=e[1]||De.get()):n=e[0]||De.get(),await n.subtle.digest(o,this.rawData)}async getKeyIdentifier(e){e||(e=De.get());const t=U.parse(this.rawData,dt);return await e.subtle.digest("SHA-1",t.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),t=U.parse(this.rawData,dt);switch(e.Algorithm=Ht.serializeAlgorithm(t.algorithm),t.algorithm.algorithm){case zr:e["EC Point"]=t.subjectPublicKey;break;case gr:default:e["Raw Data"]=t.subjectPublicKey}return e}}class tt{static register(e,t){this.items.set(e,t)}static create(e){const t=new et(e),n=this.items.get(t.type);return n?new n(e):t}}tt.items=new Map;const Bn="crypto.signatureFormatter";class $f{toAsnSignature(e,t){return P.toArrayBuffer(t)}toWebSignature(e,t){return P.toArrayBuffer(t)}}class In extends yt{constructor(e){yt.isAsnEncoded(e)?super(e,ir):super(e),this.tag=$e.CertificateTag}onInit(e){const t=e.tbsCertificate;this.tbs=U.serialize(t),this.serialNumber=$.ToHex(t.serialNumber),this.subjectName=new Ct(t.subject),this.subject=new Ct(t.subject).toString(),this.issuerName=new Ct(t.issuer),this.issuer=this.issuerName.toString();const n=He.resolve(Cn);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const o=t.validity.notBefore.utcTime||t.validity.notBefore.generalTime;if(!o)throw new Error("Cannot get 'notBefore' value");this.notBefore=o;const s=t.validity.notAfter.utcTime||t.validity.notAfter.generalTime;if(!s)throw new Error("Cannot get 'notAfter' value");this.notAfter=s,this.extensions=[],t.extensions&&(this.extensions=t.extensions.map(c=>tt.create(U.serialize(c)))),this.publicKey=new Kt(t.subjectPublicKeyInfo)}getExtension(e){for(const t of this.extensions)if(typeof e=="string"){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>typeof e=="string"?t.type===e:t instanceof e)}async verify(e={},t=De.get()){let n,o;const s=e.publicKey;try{if(!s)n={...this.publicKey.algorithm,...this.signatureAlgorithm},o=await this.publicKey.export(n,["verify"],t);else if("publicKey"in s)n={...s.publicKey.algorithm,...this.signatureAlgorithm},o=await s.publicKey.export(n,["verify"],t);else if(s instanceof Kt)n={...s.algorithm,...this.signatureAlgorithm},o=await s.export(n,["verify"],t);else if(P.isBufferSource(s)){const f=new Kt(s);n={...f.algorithm,...this.signatureAlgorithm},o=await f.export(n,["verify"],t)}else n={...s.algorithm,...this.signatureAlgorithm},o=s}catch{return!1}const c=He.resolveAll(Bn).reverse();let d=null;for(const f of c)if(d=f.toWebSignature(n,this.signature),d)break;if(!d)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const u=await t.subtle.verify(this.signatureAlgorithm,o,d,this.tbs);if(e.signatureOnly)return u;{const h=(e.date||new Date).getTime();return u&&this.notBefore.getTime()<h&&h<this.notAfter.getTime()}}async getThumbprint(...e){let t,n="SHA-1";return e[0]&&(e[0].subtle?t=e[0]:(n=e[0]||n,t=e[1])),t??(t=De.get()),await t.subtle.digest(n,this.rawData)}async isSelfSigned(e=De.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),t=U.parse(this.rawData,ir),n=t.tbsCertificate,o=new se("",{Version:`${rr[n.version]} (${n.version})`,"Serial Number":n.serialNumber,"Signature Algorithm":Ht.serializeAlgorithm(n.signature),Issuer:this.issuer,Validity:new se("",{"Not Before":n.validity.notBefore.getTime(),"Not After":n.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(n.issuerUniqueID&&(o["Issuer Unique ID"]=n.issuerUniqueID),n.subjectUniqueID&&(o["Subject Unique ID"]=n.subjectUniqueID),this.extensions.length){const s=new se("");for(const c of this.extensions){const d=c.toTextObject();s[d[se.NAME]]=d}o.Extensions=s}return e.Data=o,e.Signature=new se("",{Algorithm:Ht.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}In.NAME="Certificate";class ri extends et{static async create(e,t=!1,n=De.get()){if(e instanceof In||Ft.isCryptoKey(e)){const o=e instanceof In?await e.publicKey.export(n):e,s=await n.subtle.exportKey("spki",o),d=await new Kt(s).getKeyIdentifier(n);return new ri($.ToHex(d),t)}else return new ri(e,t)}constructor(...e){if(P.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const t=new Pt({keyIdentifier:new oo($.FromHex(e[0]))});super(no,e[1],U.serialize(t))}else{const t=e[0],n=t.name instanceof Xr?U.parse(t.name.rawData,Ae):t.name,o=new Pt({authorityCertIssuer:n,authorityCertSerialNumber:$.FromHex(t.serialNumber)});super(no,e[1],U.serialize(o))}}onInit(e){super.onInit(e);const t=U.parse(e.extnValue,Pt);t.keyIdentifier&&(this.keyId=$.ToHex(t.keyIdentifier)),t.authorityCertIssuer&&t.authorityCertSerialNumber&&(this.certId={name:t.authorityCertIssuer,serialNumber:$.ToHex(t.authorityCertSerialNumber)})}toTextObject(){const e=this.toTextObjectWithoutValue(),t=U.parse(this.value,Pt);return t.authorityCertIssuer&&(e["Authority Issuer"]=new Xr(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}ri.NAME="Authority Key Identifier";class lu extends et{constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,Bi);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new Bi({cA:e[0],pathLenConstraint:e[1]});super(fc,e[2],U.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}lu.NAME="Basic Constraints";var uu;(function(r){r.serverAuth="1.3.6.1.5.5.7.3.1",r.clientAuth="1.3.6.1.5.5.7.3.2",r.codeSigning="1.3.6.1.5.5.7.3.3",r.emailProtection="1.3.6.1.5.5.7.3.4",r.timeStamping="1.3.6.1.5.5.7.3.8",r.ocspSigning="1.3.6.1.5.5.7.3.9"})(uu||(uu={}));class du extends et{constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,Oi);this.usages=t.map(n=>n)}else{const t=new Oi(e[0]);super(bc,e[1],U.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(t=>kt.toString(t)).join(", "),e}}du.NAME="Extended Key Usages";var Fs;(function(r){r[r.digitalSignature=1]="digitalSignature",r[r.nonRepudiation=2]="nonRepudiation",r[r.keyEncipherment=4]="keyEncipherment",r[r.dataEncipherment=8]="dataEncipherment",r[r.keyAgreement=16]="keyAgreement",r[r.keyCertSign=32]="keyCertSign",r[r.cRLSign=64]="cRLSign",r[r.encipherOnly=128]="encipherOnly",r[r.decipherOnly=256]="decipherOnly"})(Fs||(Fs={}));class Ks extends et{constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,ko);this.usages=t.toNumber()}else{const t=new ko(e[0]);super(wc,e[1],U.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=U.parse(this.value,ko);return e[""]=t.toJSON().join(", "),e}}Ks.NAME="Key Usages";class En extends et{static async create(e,t=!1,n=De.get()){let o;e instanceof Kt?o=e.rawData:"publicKey"in e?o=e.publicKey.rawData:P.isBufferSource(e)?o=e:o=await n.subtle.exportKey("spki",e);const c=await new Kt(o).getKeyIdentifier(n);return new En($.ToHex(c),t)}constructor(...e){if(P.isBufferSource(e[0])){super(e[0]);const t=U.parse(this.value,vt);this.keyId=$.ToHex(t)}else{const t=typeof e[0]=="string"?$.FromHex(e[0]):e[0],n=new vt(t);super(Bc,e[1],U.serialize(n)),this.keyId=$.ToHex(t)}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=U.parse(this.value,vt);return e[""]=t,e}}En.NAME="Subject Key Identifier";class qs extends et{constructor(...e){P.isBufferSource(e[0])?super(e[0]):super(xc,e[1],new Xr(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=U.parse(e.extnValue,Bo);this.names=new Xr(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const n in t)e[n]=t[n];return e}}qs.NAME="Subject Alternative Name";class fu extends et{constructor(...e){var t;if(P.isBufferSource(e[0])){super(e[0]);const n=U.parse(this.value,Ni);this.policies=n.map(o=>o.policyIdentifier)}else{const n=e[0],o=(t=e[1])!==null&&t!==void 0?t:!1,s=new Ni(n.map(c=>new Ei({policyIdentifier:c})));super(hc,o,U.serialize(s)),this.policies=n}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(t=>new se("",{},kt.toString(t))),e}}fu.NAME="Certificate Policies",tt.register(hc,fu);class wr extends St{constructor(...e){let t;if(P.isBufferSource(e[0]))t=P.toArrayBuffer(e[0]);else{const n=e[0],o=Array.isArray(e[1])?e[1].map(s=>P.toArrayBuffer(s)):[];t=U.serialize(new ut({type:n,values:o}))}super(t,ut)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(t=>new se("",{"":t})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[se.NAME]===wr.NAME&&(e[se.NAME]=kt.toString(this.type)),e}}wr.NAME="Attribute";class pu extends wr{constructor(...e){var t;if(P.isBufferSource(e[0]))super(e[0]);else{const n=new wn({printableString:e[0]});super(ul,[U.serialize(n)])}(t=this.password)!==null&&t!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const t=U.parse(this.values[0],wn);this.password=t.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[se.VALUE]=this.password,e}}pu.NAME="Challenge Password";class zs extends wr{constructor(...e){var t;if(P.isBufferSource(e[0]))super(e[0]);else{const n=e[0],o=new Dt;for(const s of n)o.push(U.parse(s.rawData,Ge));super(Is,[U.serialize(o)])}(t=this.items)!==null&&t!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const t=U.parse(this.values[0],Dt);this.items=t.map(n=>tt.create(U.serialize(n)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.items.map(n=>n.toTextObject());for(const n of t)e[n[se.NAME]]=n;return e}}zs.NAME="Extensions";class Nn{static register(e,t){this.items.set(e,t)}static create(e){const t=new wr(e),n=this.items.get(t.type);return n?new n(e):t}}Nn.items=new Map;let Gs=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let t;if(typeof e.hash=="string")t=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")t=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(t.toLowerCase()){case"sha-1":return new R({algorithm:nn,parameters:null});case"sha-256":return new R({algorithm:as,parameters:null});case"sha-384":return new R({algorithm:on,parameters:null});case"sha-512":return new R({algorithm:sn,parameters:null})}}else return new R({algorithm:gr,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case gr:return{name:"RSASSA-PKCS1-v1_5"};case nn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case as:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case on:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case sn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Gs=a([ms()],Gs),He.registerSingleton(Sn,Gs);class Fe{addPadding(e,t){const n=P.toUint8Array(t),o=new Uint8Array(e);return o.set(n,e-n.length),o}removePadding(e,t=!1){let n=P.toUint8Array(e);for(let o=0;o<n.length;o++)if(n[o]){n=n.slice(o);break}if(t&&n[0]>127){const o=new Uint8Array(n.length+1);return o.set(n,1),o.buffer}return n.buffer}toAsnSignature(e,t){if(e.name==="ECDSA"){const n=e.namedCurve,o=Fe.namedCurveSize.get(n)||Fe.defaultNamedCurveSize,s=new rn,c=P.toUint8Array(t);return s.r=this.removePadding(c.slice(0,o),!0),s.s=this.removePadding(c.slice(o,o+o),!0),U.serialize(s)}return null}toWebSignature(e,t){if(e.name==="ECDSA"){const n=U.parse(t,rn),o=e.namedCurve,s=Fe.namedCurveSize.get(o)||Fe.defaultNamedCurveSize,c=this.addPadding(s,this.removePadding(n.r)),d=this.addPadding(s,this.removePadding(n.s));return Qu(c,d)}return null}}Fe.namedCurveSize=new Map,Fe.defaultNamedCurveSize=32;const hu="1.3.101.110",yu="1.3.101.111",gu="1.3.101.112",mu="1.3.101.113";let Ws=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=gu;break;case"ed448":t=mu;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=hu;break;case"x448":t=yu;break}}return t?new R({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case gu:return{name:"EdDSA",namedCurve:"Ed25519"};case mu:return{name:"EdDSA",namedCurve:"Ed448"};case hu:return{name:"ECDH-ES",namedCurve:"X25519"};case yu:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ws=a([ms()],Ws),He.registerSingleton(Sn,Ws);class Rf extends yt{constructor(e){yt.isAsnEncoded(e)?super(e,Zr):super(e),this.tag=$e.CertificateRequestTag}onInit(e){this.tbs=U.serialize(e.certificationRequestInfo),this.publicKey=new Kt(e.certificationRequestInfo.subjectPKInfo);const t=He.resolve(Cn);this.signatureAlgorithm=t.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(o=>Nn.create(U.serialize(o)));const n=this.getAttribute(Is);this.extensions=[],n instanceof zs&&(this.extensions=n.items),this.subjectName=new Ct(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const t of this.attributes)if(t.type===e)return t;return null}getAttributes(e){return this.attributes.filter(t=>t.type===e)}getExtension(e){for(const t of this.extensions)if(t.type===e)return t;return null}getExtensions(e){return this.extensions.filter(t=>t.type===e)}async verify(e=De.get()){const t={...this.publicKey.algorithm,...this.signatureAlgorithm},n=await this.publicKey.export(t,["verify"],e),o=He.resolveAll(Bn).reverse();let s=null;for(const d of o)if(s=d.toWebSignature(t,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,n,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),t=U.parse(this.rawData,Zr),n=t.certificationRequestInfo,o=new se("",{Version:`${rr[n.version]} (${n.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new se("");for(const c of this.attributes){const d=c.toTextObject();s[d[se.NAME]]=d}o.Attributes=s}return e.Data=o,e.Signature=new se("",{Algorithm:Ht.serializeAlgorithm(t.signatureAlgorithm),"":t.signature}),e}}Rf.NAME="PKCS#10 Certificate Request";var bu;(function(r){r[r.unspecified=0]="unspecified",r[r.keyCompromise=1]="keyCompromise",r[r.cACompromise=2]="cACompromise",r[r.affiliationChanged=3]="affiliationChanged",r[r.superseded=4]="superseded",r[r.cessationOfOperation=5]="cessationOfOperation",r[r.certificateHold=6]="certificateHold",r[r.removeFromCRL=8]="removeFromCRL",r[r.privilegeWithdrawn=9]="privilegeWithdrawn",r[r.aACompromise=10]="aACompromise"})(bu||(bu={})),tt.register(fc,lu),tt.register(bc,du),tt.register(wc,Ks),tt.register(Bc,En),tt.register(no,ri),tt.register(xc,qs),Nn.register(ul,pu),Nn.register(Is,zs),He.registerSingleton(Bn,$f),He.registerSingleton(Bn,Fe),Fe.namedCurveSize.set("P-256",32),Fe.namedCurveSize.set("K-256",32),Fe.namedCurveSize.set("P-384",48),Fe.namedCurveSize.set("P-521",66);function vu(){return{parseMetaCertificateData:e=>{if(/{vault:\/\/.*}/g.test(e))throw new Error("not a X.509 certificate");const t=new In(e),n={subject:t.subjectName.toString(),issuer:t.issuer,notAfter:t.notAfter};for(const o of t.extensions)if(o instanceof qs){const s=o.names.toJSON(),d=Object.entries(s).map(u=>({type:u[1].type,value:u[1].value})).reduce((u,f)=>{const h=f.type,w=u[h]??[];return{...u,[h]:[...w,f.value]}},{});for(const u in d)n.subjectAltName=`${u}=${d[u].join(", ")}`}else if(o instanceof Ks){const s=Object.values(Fs),c=Array(s.length/2).fill(null).reduce((d,u,f)=>{const h=s[s.length/2+f];if(o.usages&h){const w=s[f];d.push(w)}return d},[]);n.keyUsage=c}return n}}}function Mf(){const r=vu(),e=i.ref({}),t=o=>{if(!(o.id in e.value))try{e.value[o.id]=r.parseMetaCertificateData(o.cert)}catch{e.value[o.id]=void 0}return e.value[o.id]};return{certificateDataCache:e,getCertificateData:o=>{const s=t(o);return{schemaIssuer:(s==null?void 0:s.issuer)||"",schemaSubject:(s==null?void 0:s.subject)||"",schemaExpiry:(s==null?void 0:s.notAfter)instanceof Date?s.notAfter.getTime()/1e3:0,schemaSanNames:(s==null?void 0:s.subjectAltName)||"",schemaKeyUsages:(s==null?void 0:s.keyUsage)||[]}}}}const Uf={certificates:{title:"Certificates",list:{toolbar_actions:{new_certificate:"New Certificate"},table_headers:{subject:"Subject",expiry:"Expiry",san:"SAN",cert:"Cert",tags:"Tags",issuer:"Issuer",snis:"SNIs"},empty_state:{title:"Configure a New Certificate",description:"Certificates handle SSL/TLS termination for encrypted requests."}},form:{sections:{ssl:{title:"SSL Key Pair",description:"The PEM-encoded public certificate chain and private key of the SSL key pair and the alternate."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate chain of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key:{label:"Key",tooltip:"PEM-encoded private key of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},cert_alt:{label:"Cert Alt",tooltip:"PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key_alt:{label:"Key Alt",tooltip:"PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New Certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",addSni:"Add to New SNI",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"Certificates could not be retrieved",delete:"The certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},"ca-certificates":{title:"CA Certificates",list:{toolbar_actions:{new_ca_certificate:"New CA Certificate"},table_headers:{issuer:"Issuer",expiry:"Expiry",tags:"Tags"},empty_state:{title:"Configure a New CA Certificate",description:"CA certificates validate client or server certificates."}},form:{sections:{cert:{title:"Public Certificate",description:"The PEM-encoded public certificate of the CA and it’s SHA256 hex digest."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate of the CA."},cert_digest:{label:"Cert Digest",tooltip:"SHA256 hex digest of the public certificate"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New CA Certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a CA Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"CA Certificates could not be retrieved",delete:"The CA Certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},general:{"key-usages":{KEY_USAGE_TYPE_KEY_CERT_SIGN:"keyCertSign",KEY_USAGE_TYPE_CRL_SIGN:"cRLSign",KEY_USAGE_TYPE_ENCIPHER_ONLY:"encipherOnly",KEY_USAGE_TYPE_DIGITAL_SIGNATURE:"digitalSignature",KEY_USAGE_TYPE_KEY_ENCIPHERMENT:"keyEncipherment",KEY_USAGE_TYPE_DATA_ENCIPHERMENT:"dataEncipherment",KEY_USAGE_TYPE_KEY_AGREEMENT:"keyAgreement",KEY_USAGE_TYPE_CONTENT_COMMITMENT:"nonRepudiation"}}};function Lf(){const r=Wt.createI18n("en-us",Uf);return{i18n:r,i18nT:Wt.i18nTComponent(r)}}const rt={useCertificate:Mf,useI18n:Lf,useX509:vu},ii={list:{konnect:"/api/runtime_groups/{controlPlaneId}/certificates",kongManager:"/{workspace}/certificates"},form:{konnect:{create:"/api/runtime_groups/{controlPlaneId}/certificates",edit:"/api/runtime_groups/{controlPlaneId}/certificates/{id}",validate:"/api/runtime_groups/{controlPlaneId}/v1/schemas/json/certificate/validate"},kongManager:{create:"/{workspace}/certificates",edit:"/{workspace}/certificates/{id}",validate:"/{workspace}/schemas/certificates/validate"}}},Hf={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},Ff="Copy to clipboard",Kf={message:Hf,iconTitle:Ff},qf="kong-ui-copy-uuid-notify",zf={class:"kong-ui-copy-uuid"},Gf=["title"],Wf=["onClick"],wu=15,Jf=i.defineComponent({__name:"CopyUuid",props:{uuid:{type:String,required:!0},truncated:{type:Boolean,default:!0},useMono:{type:Boolean,default:!0},notify:{type:Function,default:void 0},iconColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},tooltip:{type:String,default:""},successTooltip:{type:String,default:""},format:{type:String,required:!1,default:"uuid",validator:r=>["uuid","hidden","redacted","deleted"].includes(r)}},emits:["success","error"],setup(r,{emit:e}){const t=r,{t:n}=Wt.createI18n("en-us",Kf),o=t.notify||i.inject(qf,()=>{}),s=i.computed(()=>!!(t.tooltip&&t.successTooltip)),c=i.ref(t.tooltip),d=i.computed(()=>t.tooltip?{label:c.value,positionFixed:!0,maxWidth:"500px",placement:"bottomStart"}:{}),u=i.computed(()=>t.format==="redacted"?"*****":t.format==="deleted"?`*${t.uuid.substring(0,5)}`:t.uuid),f=w=>{c.value=w,setTimeout(()=>{c.value=t.tooltip},1800)},h=w=>{if(!w(t.uuid)){typeof o=="function"&&o({type:"error",message:n("message.fail")}),s.value?f(n("message.fail")):e("error",t.uuid);return}const T=t.uuid.length>wu,C=t.format==="hidden"||t.format==="redacted"?n("message.success.prefix"):`"${t.uuid.substring(0,wu)+(T?"...":"")}"`;typeof o=="function"&&o({type:"success",message:`${C}${n("message.success.content")}`}),s.value?f(t.successTooltip):e("success",t.uuid)};return(w,T)=>{const C=i.resolveComponent("KIcon"),p=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",zf,[r.format!=="hidden"?(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":"copy-id",title:r.uuid},[i.createElementVNode("div",{class:i.normalizeClass(["uuid-container",r.truncated?"truncated-uuid":null,r.useMono?"mono":null])},i.toDisplayString(u.value),3)],8,Gf)):i.createCommentVNode("",!0),(i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.tooltip?"KTooltip":"div"),i.mergeProps(d.value,{class:"uuid-icon-wrapper"}),{default:i.withCtx(()=>[i.createVNode(p,null,{default:i.withCtx(({copyToClipboard:m})=>[i.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:i.withModifiers(y=>h(m),["stop"])},[i.createVNode(C,{class:"uuid-icon",color:r.iconColor,"hide-title":!!r.tooltip||void 0,icon:"copy",size:"16",title:i.unref(n)("iconTitle")},null,8,["color","hide-title","title"])],8,Wf)]),_:1})]),_:1},16))])}}}),Yf=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Zf=Yf(Jf,[["__scopeId","data-v-e4ea1359"]]);var Js=(r=>(r.GatewayService="service",r.Route="route",r.Consumer="consumer",r.ConsumerGroup="consumer group",r.Plugin="plugin",r.Upstream="upstream",r.Certificate="certificate",r.CACertificate="ca certificate",r.SNI="SNI",r.Key="key",r.KeySet="key set",r.Vault="vault",r.Application="application",r.Developer="developer",r.acls="ACL Credential",r["basic-auth"]="Basic Auth Credential",r["key-auth"]="Key Auth Credential",r["key-auth-enc"]="Key Auth Encrypted Credential",r.oauth2="OAuth 2.0 Credential",r["hmac-auth"]="HMAC Credential",r.jwt="JWT Credential",r.Target="target",r))(Js||{}),qt=(r=>(r.Edit="edit",r.Create="create",r))(qt||{}),xt=(r=>(r[r.Loading=0]="Loading",r[r.Idle=1]="Idle",r[r.NoResults=2]="NoResults",r[r.Error=3]="Error",r))(xt||{}),re=(r=>(r.ID="id",r.IdArray="id-array",r.Text="plain-text",r.Date="date",r.Redacted="redacted",r.RedactedArray="redacted-array",r.Json="json",r.JsonArray="json-array",r.BadgeTag="badge-tag",r.BadgeStatus="badge-status",r.BadgeMethod="badge-method",r.LinkInternal="link-internal",r.LinkExternal="link-external",r))(re||{}),ae=(r=>(r.Basic="basic",r.Advanced="advanced",r.Plugin="plugin",r))(ae||{});function Ys(r={}){return{axiosInstance:zu.create({withCredentials:!0,timeout:3e4,...r})}}function Qf(){return{debounce:(r,e)=>{let t;return(...n)=>{clearTimeout(t),t=window==null?void 0:window.setTimeout(()=>{r(...n)},e)}}}}const Zs="khcp-user-table-preferences",Xf={pageSize:30,sortColumnKey:void 0,sortColumnOrder:void 0};function ep(){const r=t=>{if(typeof t=="string")try{return JSON.parse(t)}catch(n){console.error("useTablePreferences(tryParseJson)",n);return}},e=()=>{const t=r(localStorage.getItem(Zs));return!t||!Object.keys(t).length?new Map:new Map(Object.entries(t))};return{setTablePreferences:(t,n)=>{try{const o=e();o.set(t,n),localStorage.setItem(Zs,JSON.stringify(Object.fromEntries(o.entries())))}catch(o){console.error("useTablePreferences(setTablePreferences)",o)}},getTablePreferences:t=>{const n=e();return(n==null?void 0:n.get(t))||void 0||Xf},deleteAllTablePreferences:()=>{localStorage.removeItem(Zs)}}}const tp={message:"Are you sure you want to delete this {entityType}?",messageWithName:"Are you sure you want to delete this {entityType} {entityName}?"},rp={actions:{save:"Save",cancel:"Cancel",back:"Back"},errors:{edit:"The entity could not be edited at this time."}},ip={emptyState:{noSearchResultsTitle:"No results found",noSearchResultsMessage:"Please adjust the criteria and try again.",noSearchResultsCtaText:"Clear"}},np={title:"Configuration",actions:{copy:"Copy JSON"},sections:{advanced:"Advanced",plugin:"Plugin Specific Configuration"},commonFields:{id_label:"ID",name_label:"Name",enabled_label:"Enabled",enabled_tooltip:"Enabled is FTW",updated_at_label:"Last Updated",created_at_label:"Created",tags_label:"Tags",link:"Link"},statusBadge:{enabledLabel:"Enabled",disabledLabel:"Disabled"},copy:{tooltip:"Copy {label}",success:"Copied!"},errors:{load:"The entity configuration data could not be loaded at this time.",copy:"Failed to copy to clipboard"},general:{entryTitle:"Entry {index}"}},op={filterButtonText:"Filter",fieldLabel:"Filter by:",inputPlaceholder:"Enter a value",selectPlaceholder:"Select an item",applyButtonText:"Apply",clearButtonText:"Clear",clearAllButtonText:"Clear all filters"},sp={errors:{fetch:"Could not fetch available items",invalid:"Please select a valid value"}},ap={unexpected:"An unexpected error has occurred",dataKeyUndefined:'The data key "{dataKey}" does not exist in the response.'},cp={enable:{title:"Enable {entityType}",message:"Are you sure you want to enable the {entityType} {entityName}?",confirmText:"Yes, enable"},disable:{title:"Disable {entityType}",message:"Are you sure you want to disable the {entityType} {entityName}?",confirmText:"Yes, disable"}},lp={deleteModal:tp,baseForm:rp,baseTable:ip,baseConfigCard:np,filter:op,debouncedFilter:sp,errors:ap,toggleModal:cp};function Qs(){const r=Wt.createI18n("en-us",lp);return{i18n:r,i18nT:Wt.i18nTComponent(r)}}function up(r,e,t,n={fetchedItemsKey:"data",searchKeys:["id"]}){t||(t="100");const{axiosInstance:o}=Ys({headers:r.requestHeaders}),{i18n:{t:s}}=Qs(),{debounce:c}=Qf(),d=c(async k=>{await b(k)},200),u=i.ref(!1),f=i.ref(""),h=i.ref(""),w=i.ref([]),T=i.ref(void 0),C=i.unref(e);let p=`${r.apiBaseUrl}${C}`;r.app==="konnect"?p=p.replace(/{controlPlaneId}/gi,(r==null?void 0:r.controlPlaneId)||""):r.app==="kongManager"&&(p=p.replace(/\/{workspace}/gi,r!=null&&r.workspace?`/${r.workspace}`:""));const m=async()=>{try{u.value=!0;const{data:k}=await o.get(`${p}?size=${t}`);k!=null&&k.next||(T.value=n.fetchedItemsKey in k?k[n.fetchedItemsKey]:[]),w.value=n.fetchedItemsKey in k?k[n.fetchedItemsKey]:[]}catch{w.value=[],f.value=s("debouncedFilter.errors.fetch")}finally{u.value=!1}},y=i.ref(""),b=async k=>{var g,A;if(y.value!==k)if(y.value=k||"",T.value===void 0)try{u.value=!0,f.value="",h.value="";let I=p+"";k&&(I+=`/${k}`);const{data:B}=await o.get(`${I}?size=${t}`);n.fetchedItemsKey in B?w.value=B[n.fetchedItemsKey]:B!=null&&B.id?w.value=[B]:w.value=[]}catch(I){((g=I==null?void 0:I.response)==null?void 0:g.status)===404?h.value=s("debouncedFilter.errors.invalid"):(w.value=[],f.value=s("debouncedFilter.errors.fetch"))}finally{u.value=!1}else u.value=!0,h.value="",k?(w.value=(A=T.value)==null?void 0:A.filter(I=>{var B;let _=!1;for(const X of n.searchKeys){const W=typeof I[X]=="string"?(B=I[X])==null?void 0:B.toLowerCase():I[X];W!=null&&W.includes(k.toLowerCase())&&(_=!0)}return _}),(!w.value||!w.value.length)&&(h.value=s("debouncedFilter.errors.invalid"))):w.value=T.value,u.value=!1};return{loading:u,error:f,validationError:h,results:w,allRecords:T,loadItems:m,debouncedQueryChange:d}}function dp(r,e){const t=i.unref(e),n=i.computed(()=>r.apiBaseUrl.startsWith("/")?new URL(`${window.location.origin}${t}`):new URL(t));return n.value.search="",o=>`${n.value.href}/${o}`}function fp(){const{i18n:{t:r}}=Qs();return{getMessageFromError:e=>{var t,n,o;if(!e)return r("errors.unexpected");if((t=e==null?void 0:e.response)!=null&&t.data){if(e.response.data.detail)return e.response.data.detail;if((n=e.response.data.details)!=null&&n.length)return e.response.data.details.map(s=>{let c=r("errors.unexpected");return s.messages&&typeof s.messages=="object"&&s.messages.length&&(c=s.messages.join(", ")),s.field?`${s.field} - ${c}`:c}).join("; ");if(e.response.data.message){const{message:s}=e.response.data;return Array.isArray(s)?(o=s[0])!=null&&o.constraints?Object.values(s[0].constraints)[0]:s[0]:s}if(typeof e.response.data=="string")return e.response.data;if(typeof e.response.data=="object")return Object.keys(e.response.data).map(s=>`${s} ${e.response.data[s]}`).join(", ")}return e.message||r("errors.unexpected")}}}function ku(r,e){const t=i.ref(i.unref(r)),n=i.ref(i.unref(e)),o=i.computed(()=>!!(t.value.app==="konnect"||t.value.isExactMatch)),s=i.computed(()=>n.value.startsWith("/")?new URL(`${window.location.origin}${n.value}`):new URL(n.value));return c=>{const{page:d,pageSize:u,offset:f,sortColumnKey:h,sortColumnOrder:w,query:T}=c;try{let C=new URL(s.value.href);return o.value&&T?(C.search="",C=new URL(`${C.href}/${T}/`)):(o.value||new URLSearchParams(T).forEach((p,m)=>{C.searchParams.append(m,p)}),h&&C.searchParams.append("sort_by",h),w==="desc"&&C.searchParams.append("sort_desc","1"),C.searchParams.append("size",String(u))),f&&d!==1&&C.searchParams.append("offset",String(f)),C.href}catch(C){return console.error("RouteList(fetcher)",C),n.value}}}function pp(r,e,t="data"){const n=i.unref(e),{axiosInstance:o}=Ys({headers:r.requestHeaders}),s=ku(r,n),c=i.ref({status:xt.Idle});return{fetcher:async d=>{try{c.value={status:xt.Loading};const u=s(d),{data:f}=await o.get(u),h=t&&t.replace(/[^\w-_]/gi,"");let w;f[h]&&Array.isArray(f[h])?w=f[h]:w=Object.keys(f).length?[f]:[];const T={data:w,total:w.length,...f.offset?{pagination:{offset:f.offset}}:null};return c.value={status:xt.Idle,response:T},T}catch(u){const f={data:[],total:0};return d.query&&u.response.status===404?(c.value={status:xt.NoResults,response:f,error:u},f):(c.value={status:xt.Error,response:f,error:u},f)}},fetcherState:c}}function hp(){return{convertKeyToTitle:(r,e="_")=>r?r.split(e).map(t=>t.toLowerCase()==="id"?t.toUpperCase():t.charAt(0).toUpperCase()+t.substring(1)).join(" "):""}}const Su=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,Cu=r=>{if(typeof r!="string")throw new TypeError("Invalid argument expected string");const e=r.match(Su);if(!e)throw new Error(`Invalid argument not valid semver ('${r}' received)`);return e.shift(),e},xu=r=>r==="*"||r==="x"||r==="X",Au=r=>{const e=parseInt(r,10);return isNaN(e)?r:e},yp=(r,e)=>typeof r!=typeof e?[String(r),String(e)]:[r,e],gp=(r,e)=>{if(xu(r)||xu(e))return 0;const[t,n]=yp(Au(r),Au(e));return t>n?1:t<n?-1:0},Bu=(r,e)=>{for(let t=0;t<Math.max(r.length,e.length);t++){const n=gp(r[t]||"0",e[t]||"0");if(n!==0)return n}return 0},mp=(r,e)=>{const t=Cu(r),n=Cu(e),o=t.pop(),s=n.pop(),c=Bu(t,n);return c!==0?c:o&&s?Bu(o.split("."),s.split(".")):o||s?o?-1:1:0},Iu=(r,e,t)=>{bp(t);const n=mp(r,e);return Eu[t].includes(n)},Eu={">":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1],"!=":[-1,1]},Nu=Object.keys(Eu),bp=r=>{if(typeof r!="string")throw new TypeError(`Invalid operator type, expected string but got ${typeof r}`);if(Nu.indexOf(r)===-1)throw new Error(`Invalid operator, expected one of ${Nu.join("|")}`)},vp=r=>typeof r=="string"&&/^[v\d]/.test(r)&&Su.test(r);function wp(r){const{gatewayInfo:e,supportedRange:t}=r;if(!e)return!0;const{edition:n,version:o}=e;if(!vp(o))return console.error("Invalid version"),!1;const s=t[n];if(!s)return!1;const[c,d]=s;return!(c&&Iu(o,c,"<")||d&&Iu(o,d,">"))}const Ce={useAxios:Ys,useDebouncedFilter:up,useDeleteUrlBuilder:dp,useErrors:fp,useFetcher:pp,useFetchUrlBuilder:ku,useStringHelpers:hp,useI18n:Qs,useGatewayFeatureSupported:wp},kp={fail:"Failed to copy id to clipboard",success:{prefix:"Successfully",content:" copied to clipboard"}},Sp="Copy to clipboard",Cp={message:kp,iconTitle:Sp},xp="kong-ui-copy-uuid-notify",Ap={class:"kong-ui-copy-uuid"},Bp=["title"],Ip=["onClick"],_u=15,Ep=i.defineComponent({__name:"CopyUuid",props:{uuid:{type:String,required:!0},truncated:{type:Boolean,default:!0},useMono:{type:Boolean,default:!0},notify:{type:Function,default:void 0},iconColor:{type:String,default:"rgba(0, 0, 0, 0.45)"},tooltip:{type:String,default:""},successTooltip:{type:String,default:""},format:{type:String,required:!1,default:"uuid",validator:r=>["uuid","hidden","redacted","deleted"].includes(r)}},emits:["success","error"],setup(r,{emit:e}){const t=r,{t:n}=Wt.createI18n("en-us",Cp),o=t.notify||i.inject(xp,()=>{}),s=i.computed(()=>!!(t.tooltip&&t.successTooltip)),c=i.ref(t.tooltip),d=i.computed(()=>t.tooltip?{label:c.value,positionFixed:!0,maxWidth:"500px",placement:"bottomStart"}:{}),u=i.computed(()=>t.format==="redacted"?"*****":t.format==="deleted"?`*${t.uuid.substring(0,5)}`:t.uuid),f=w=>{c.value=w,setTimeout(()=>{c.value=t.tooltip},1800)},h=w=>{if(!w(t.uuid)){typeof o=="function"&&o({type:"error",message:n("message.fail")}),s.value?f(n("message.fail")):e("error",t.uuid);return}const T=t.uuid.length>_u,C=t.format==="hidden"||t.format==="redacted"?n("message.success.prefix"):`"${t.uuid.substring(0,_u)+(T?"...":"")}"`;typeof o=="function"&&o({type:"success",message:`${C}${n("message.success.content")}`}),s.value?f(t.successTooltip):e("success",t.uuid)};return(w,T)=>{const C=i.resolveComponent("KIcon"),p=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",Ap,[r.format!=="hidden"?(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":"copy-id",title:r.uuid},[i.createElementVNode("div",{class:i.normalizeClass(["uuid-container",r.truncated?"truncated-uuid":null,r.useMono?"mono":null])},i.toDisplayString(u.value),3)],8,Bp)):i.createCommentVNode("",!0),(i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.tooltip?"KTooltip":"div"),i.mergeProps(d.value,{class:"uuid-icon-wrapper"}),{default:i.withCtx(()=>[i.createVNode(p,null,{default:i.withCtx(({copyToClipboard:m})=>[i.createElementVNode("span",{"data-testid":"copy-to-clipboard",role:"button",tabindex:"0",onClick:i.withModifiers(y=>h(m),["stop"])},[i.createVNode(C,{class:"uuid-icon",color:r.iconColor,"hide-title":!!r.tooltip||void 0,icon:"copy",size:"16",title:i.unref(n)("iconTitle")},null,8,["color","hide-title","title"])],8,Ip)]),_:1})]),_:1},16))])}}}),Np=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Ou=Np(Ep,[["__scopeId","data-v-e4ea1359"]]),_p={key:0,class:"config-card-fieldset-title"},Op=i.defineComponent({__name:"JsonCardItem",props:{item:{type:Object,required:!0},index:{type:Number,default:-1},isArrayItem:{type:Boolean,default:!1}},setup(r){const e=r,{i18n:{t}}=Ce.useI18n(),{convertKeyToTitle:n}=Ce.useStringHelpers(),o=i.computed(()=>e.item.key??"json-array-item"),s=i.computed(()=>e.item.value??e.item),c=i.computed(()=>{const u=JSON.parse(JSON.stringify(s.value));return e.isArrayItem&&delete u.name,u}),d=i.computed(()=>{var u;return e.isArrayItem?(u=s.value)!=null&&u.name?n(s.value.name,"_"):t("baseConfigCard.general.entryTitle",{index:e.index}):""});return(u,f)=>(i.openBlock(),i.createBlock(i.resolveDynamicComponent(r.isArrayItem?"fieldset":"div"),{class:i.normalizeClass(r.isArrayItem?"config-card-fieldset":"config-card-json-item")},{default:i.withCtx(()=>[r.isArrayItem?(i.openBlock(),i.createElementBlock("legend",_p,[i.createElementVNode("b",null,i.toDisplayString(d.value),1)])):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(c.value),(h,w)=>(i.openBlock(),i.createBlock(_n,{key:`${o.value}-property-${w}`,item:{key:h,label:i.unref(n)(h),value:c.value[h]}},null,8,["item"]))),128))]),_:1},8,["class"]))}}),it=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Tu=it(Op,[["__scopeId","data-v-68ca83ec"]]),Tp=it(i.defineComponent({__name:"InternalLinkItem",props:{item:{type:Object,required:!0}},emits:["navigation-click"],setup(r){const{i18n:{t:e}}=Ce.useI18n();return(t,n)=>{const o=i.resolveComponent("KButton");return i.openBlock(),i.createElementBlock("div",null,[i.createVNode(o,{appearance:"btn-link",class:"navigation-button",onClick:n[0]||(n[0]=s=>t.$emit("navigation-click",r.item))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.item.value||i.unref(e)("baseConfigCard.commonFields.link")),1)]),_:1})])}}}),[["__scopeId","data-v-7410504d"]]),Vp=i.defineComponent({__name:"StatusBadge",props:{status:{type:Boolean,default:!1}},setup(r){const{i18n:{t:e}}=Ce.useI18n();return(t,n)=>{const o=i.resolveComponent("KBadge");return i.openBlock(),i.createBlock(o,{appearance:r.status?"success":"neutral"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.status?i.unref(e)("baseConfigCard.statusBadge.enabledLabel"):i.unref(e)("baseConfigCard.statusBadge.disabledLabel")),1)]),_:1},8,["appearance"])}}}),jp="#0044f4",Pp="#e0e4ea",Dp="#3a3f51",$p="1px",Rp={class:"config-card-details-row"},Mp=["data-testid"],Up=["data-testid"],Lp=["data-testid"],Hp=["data-testid"],Fp={key:1},Kp=["data-testid"],qp=["data-testid"],zp=["data-testid"],Gp=["data-testid"],Wp=["title"],Jp={name:"ConfigCardItem",components:{CopyUuid:Ou,JsonCardItem:Tu,StatusBadge:Vp,InternalLinkItem:Tp}},Yp=i.defineComponent({...Jp,props:{item:{type:Object,required:!0},slim:{type:Boolean,required:!1,default:!1},truncated:{type:Boolean,required:!1,default:!1}},emits:["navigation-click"],setup(r,{emit:e}){const t=r;i.useCssVars(w=>({"2c6ac268":f.value?"none":`solid ${i.unref($p)} ${i.unref(Pp)}`,c7a65802:u.value&&c.value?"block":"flex","778426fe":u.value&&c.value?"100%":t.slim?"50%":"25%","777f9b48":u.value&&c.value?"100%":t.slim?"50%":"75%"}));const n=i.useSlots(),{i18n:{t:o,formatUnixTimeStamp:s}}=Ce.useI18n(),c=i.computed(()=>t.item.value!==void 0&&t.item.value!==null&&t.item.value!==""),d=i.computed(()=>!!(t.item.tooltip||n["label-tooltip"])),u=i.computed(()=>t.item.type===re.Json||t.item.type===re.JsonArray),f=i.computed(()=>t.item.type===re.JsonArray),h=i.computed(()=>{switch(t.item.type){case re.ID:return{tag:"CopyUuid",attrs:{"data-testid":`${t.item.key}-copy-uuid`,"success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,uuid:t.item.value,notify:()=>{}}};case re.IdArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{"success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,notify:()=>{}}};case re.Redacted:return{tag:"CopyUuid",attrs:{"data-testid":`${t.item.key}-copy-uuid-redacted`,format:"redacted","success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,uuid:t.item.value,notify:()=>{}}};case re.RedactedArray:return{tag:"div",additionalComponent:"CopyUuid",childAttrs:{format:"redacted","success-tooltip":o("baseConfigCard.copy.success"),tooltip:o("baseConfigCard.copy.tooltip",{label:t.item.label}),truncated:!1,notify:()=>{}}};case re.Date:return{tag:"div",attrs:{"data-testid":`${t.item.key}-date`},text:s(t.item.value)};case re.BadgeStatus:return{tag:"StatusBadge",attrs:{"data-testid":`${t.item.key}-badge-status`,status:t.item.value}};case re.BadgeTag:return{tag:"div",additionalComponent:"KBadge"};case re.BadgeMethod:return{tag:"div",additionalComponent:"KMethodBadge"};case re.LinkInternal:return{tag:"InternalLinkItem",attrs:{"data-testid":`${t.item.key}-internal-link`,item:t.item,onNavigationClick:w=>{e("navigation-click",w)}}};case re.LinkExternal:return{tag:"KExternalLink",attrs:{"data-testid":`${t.item.key}-external-link`,href:t.item.value},text:t.item.value};case re.Json:return{tag:"JsonCardItem",attrs:{"data-testid":`${t.item.key}-json-content`,item:t.item}};case re.JsonArray:return{tag:"div",additionalComponent:"JsonCardItem",attrs:{"data-testid":`${t.item.key}-json-array-content`,item:t.item}};default:return{tag:"div",attrs:{"data-testid":`${t.item.key}-plain-text`},text:t.item.value}}});return(w,T)=>{const C=i.resolveComponent("KLabel"),p=i.resolveComponent("KBadge"),m=i.resolveComponent("KMethodBadge");return i.openBlock(),i.createElementBlock("div",Rp,[i.createElementVNode("div",{class:"config-card-details-label","data-testid":`${r.item.key}-label`},[i.renderSlot(w.$slots,"label",{item:r.item},()=>[i.createVNode(C,{"tooltip-attributes":{maxWidth:"500px"}},i.createSlots({default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.item.label)+" ",1)]),_:2},[d.value?{name:"tooltip",fn:i.withCtx(()=>[i.createElementVNode("div",{"data-testid":`${r.item.key}-label-tooltip`},[i.renderSlot(w.$slots,"label-tooltip",{},()=>[i.createTextVNode(i.toDisplayString(r.item.tooltip),1)],!0)],8,Up)]),key:"0"}:void 0]),1024)],!0)],8,Mp),i.createElementVNode("div",{class:"config-card-details-value","data-testid":`${r.item.key}-property-value`},[i.renderSlot(w.$slots,r.item.key,{rowValue:r.item.value},()=>[c.value?(i.openBlock(),i.createElementBlock("div",Fp,[(i.openBlock(),i.createBlock(i.resolveDynamicComponent(h.value.tag),i.normalizeProps(i.guardReactiveProps(h.value.attrs)),{default:i.withCtx(()=>[h.value.additionalComponent==="KBadge"?(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":`${r.item.key}-badge-tags`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(p,{key:`${r.item.key}-badge-tag-${b}`,class:"config-badge","data-testid":`${r.item.key}-badge-tag-${b}`,"truncation-tooltip":y},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(y),1)]),_:2},1032,["data-testid","truncation-tooltip"]))),128))],8,Kp)):i.createCommentVNode("",!0),h.value.additionalComponent==="CopyUuid"?(i.openBlock(),i.createElementBlock("div",{key:1,class:"copy-uuid-array","data-testid":`${r.item.key}-copy-uuid-array`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(i.unref(Ou),i.mergeProps(h.value.childAttrs,{key:`${r.item.key}-copy-uuid-${b}`,"data-testid":`${r.item.key}-copy-uuid-${b}`,uuid:y}),null,16,["data-testid","uuid"]))),128))],8,qp)):h.value.additionalComponent==="KMethodBadge"?(i.openBlock(),i.createElementBlock("div",{key:2,class:"method-badge-array","data-testid":`${r.item.key}-badge-methods`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(m,{key:`${r.item.key}-badge-method-${b}`,class:"config-badge","data-testid":`${r.item.key}-badge-method-${b}`,"is-rounded":"",label:y,method:i.unref(Gu.MethodsArray).includes(y.toLowerCase())?y.toLowerCase():"custom"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(y),1)]),_:2},1032,["data-testid","label","method"]))),128))],8,zp)):i.createCommentVNode("",!0),h.value.additionalComponent==="JsonCardItem"?(i.openBlock(),i.createElementBlock("div",{key:3,"data-testid":`${t.item.key}-json-array-content`},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(r.item.value,(y,b)=>(i.openBlock(),i.createBlock(Tu,{key:`json-array-item-${b}`,index:b,"is-array-item":"",item:y},null,8,["index","item"]))),128))],8,Gp)):(i.openBlock(),i.createElementBlock("span",{key:4,class:i.normalizeClass(["attrs-data-text",{truncated:r.truncated}]),title:r.truncated?r.item.value:void 0},i.toDisplayString(h.value.text),11,Wp))]),_:1},16))])):(i.openBlock(),i.createElementBlock("div",{key:0,"data-testid":`${r.item.key}-no-value`}," – ",8,Hp))],!0)],8,Lp)])}}}),_n=it(Yp,[["__scopeId","data-v-a3c5ab01"]]),Zp={"data-testid":"config-card-title"},Qp={class:"config-card-actions"},Xp={class:"config-card-details-section"},eh=["data-testid"],th={key:0,class:"config-card-prop-section-title"},Vu=it(i.defineComponent({__name:"EntityBaseConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},configSchema:{type:Object,required:!1,default:()=>({})},pluginConfigKey:{type:String,required:!1,default:""},pluginConfigSchema:{type:Object,required:!1,default:()=>({})},fetchUrl:{type:String,required:!0},dataKey:{type:String,required:!1,default:""},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:success","fetch:error","copy:success","copy:error"],setup(r,{emit:e}){var t;const n=r,o=i.useSlots(),{i18n:{t:s}}=Ce.useI18n(),{getMessageFromError:c}=Ce.useErrors(),{convertKeyToTitle:d}=Ce.useStringHelpers(),{axiosInstance:u}=Ce.useAxios({headers:(t=n.config)==null?void 0:t.requestHeaders}),f={id:{type:re.ID,label:s("baseConfigCard.commonFields.id_label"),order:0,section:ae.Basic},name:{order:1,section:ae.Basic},enabled:{type:re.BadgeStatus,order:2,section:ae.Basic},updated_at:{type:re.Date,label:s("baseConfigCard.commonFields.updated_at_label"),order:3,section:ae.Basic},created_at:{type:re.Date,label:s("baseConfigCard.commonFields.created_at_label"),order:4,section:ae.Basic},tags:{type:re.BadgeTag,order:-1,section:ae.Basic}},h=i.ref(!1),w=i.ref(!1),T=i.ref(""),C=i.ref(),p=i.computed(()=>{var I,B,_;if(!C.value)return[];const X=[],W=Object.keys(C.value).length;for(const V in C.value){const M=(B=(I=n.configSchema)==null?void 0:I[V])==null?void 0:B.order,z=(_=f[V])==null?void 0:_.order;let L=W;(z||z===0)&&(L=z===-1?W+1:z),M&&(L=M===-1?W+1:M),X.push([V,L])}return X.sort(function(V,M){return V[1]-M[1]}),X.map(V=>{var M,z;const L=V[0],fe=(M=C.value)==null?void 0:M[L],Ve=((z=n.configSchema)==null?void 0:z[L])||{},Be=f[L];return{key:L,value:fe,hidden:Ve.hidden||!1,type:Ve.type??((Be==null?void 0:Be.type)||re.Text),label:Ve.label??((Be==null?void 0:Be.label)||d(L)),tooltip:Ve.tooltip??((Be==null?void 0:Be.tooltip)||void 0),section:Ve.section??((Be==null?void 0:Be.section)||ae.Advanced)}}).filter(V=>!V.hidden&&V.key!==n.pluginConfigKey)}),m=i.computed(()=>{var I,B;if(!C.value||!n.pluginConfigKey)return[];const _=C.value[n.pluginConfigKey]||{},X=Object.keys(_).length,W=[];for(const V in _){const M=(B=(I=n.pluginConfigSchema)==null?void 0:I[V])==null?void 0:B.order,z=_[V];let L=z!=null&&z!==""?X-1:X;M&&(L=M===-1?X+1:M),W.push([V,L])}return W.sort(function(V,M){return V[1]-M[1]}),W.map(V=>{var M;const z=V[0],L=_[z],fe=((M=n.pluginConfigSchema)==null?void 0:M[z])||{};return{key:z,value:L,hidden:fe.hidden||!1,type:fe.type??re.Text,label:fe.label??d(z),tooltip:fe.tooltip??void 0,section:ae.Plugin}}).filter(V=>!V.hidden)}),y=i.computed(()=>{var I,B,_,X;return{basic:(I=p.value)==null?void 0:I.filter(W=>W.section===ae.Basic),advanced:(B=p.value)==null?void 0:B.filter(W=>W.section===ae.Advanced),plugin:(X=m.value)==null?void 0:X.concat((_=p.value)==null?void 0:_.filter(W=>W.section===ae.Plugin))}}),b=i.computed(()=>{const I=[];return y.value.basic.length&&I.push("basic"),y.value.advanced.length&&I.push("advanced"),y.value.plugin.length&&I.push("plugin"),I}),k=I=>!!(I.tooltip||o[`${I.key}-label-tooltip`]),g=i.computed(()=>{var I,B;let _=`${n.config.apiBaseUrl}${n.fetchUrl}`;return n.config.app==="konnect"?_=_.replace(/{controlPlaneId}/gi,((I=n.config)==null?void 0:I.controlPlaneId)||""):n.config.app==="kongManager"&&(_=_.replace(/\/{workspace}/gi,(B=n.config)!=null&&B.workspace?`/${n.config.workspace}`:"")),_=_.replace(/{id}/gi,n.config.entityId),_}),A=I=>{C.value&&I(JSON.stringify(C.value))?e("copy:success",C.value):e("copy:error")};return i.watch(h,I=>{e("loading",I)},{immediate:!0}),i.onBeforeMount(async()=>{w.value=!1,h.value=!0;try{const{data:I}=await u.get(g.value);if(n.dataKey)if(typeof I[n.dataKey]<"u")C.value={...I[n.dataKey]};else throw new Error(s("errors.dataKeyUndefined",{dataKey:n.dataKey}));else C.value={...I};Object.keys(n.configSchema).filter(B=>n.configSchema[B].forceShow).forEach(B=>{C.value&&typeof C.value[B]>"u"&&(C.value[B]=null)}),e("fetch:success",I)}catch(I){const B=c(I);T.value=B.startsWith("code")?s("baseConfigCard.errors.load"):B,w.value=!0,e("fetch:error",I)}finally{h.value=!1}}),(I,B)=>{const _=i.resolveComponent("KButton"),X=i.resolveComponent("KClipboardProvider"),W=i.resolveComponent("KSkeleton"),V=i.resolveComponent("KEmptyState"),M=i.resolveComponent("KCard");return i.openBlock(),i.createBlock(M,{"border-variant":"noBorder",class:"kong-ui-entity-base-config-card"},i.createSlots({actions:i.withCtx(()=>[i.createElementVNode("div",Qp,[i.renderSlot(I.$slots,"actions",{},void 0,!0),i.createVNode(X,null,{default:i.withCtx(({copyToClipboard:z})=>[!h.value&&!w.value?(i.openBlock(),i.createBlock(_,{key:0,appearance:"btn-link","data-testid":"json-copy-button",onClick:L=>A(z)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseConfigCard.actions.copy")),1)]),_:2},1032,["onClick"])):i.createCommentVNode("",!0)]),_:1})])]),body:i.withCtx(()=>[h.value?(i.openBlock(),i.createBlock(W,{key:0,"data-testid":"config-card-loader","table-columns":2,type:"table"})):w.value?(i.openBlock(),i.createBlock(V,{key:1,"data-testid":"config-card-fetch-error","is-error":""},{message:i.withCtx(()=>[i.createElementVNode("h3",null,i.toDisplayString(T.value),1)]),_:1})):i.createCommentVNode("",!0),i.createElementVNode("div",Xp,[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(b.value,z=>(i.openBlock(),i.createElementBlock("div",{key:`config-card-details-${z}-props`,class:i.normalizeClass(`config-card-details-${z}-props`),"data-testid":`config-card-details-${z}-props`},[z!=="basic"?(i.openBlock(),i.createElementBlock("div",th,i.toDisplayString(z==="advanced"?i.unref(s)("baseConfigCard.sections.advanced"):i.unref(s)("baseConfigCard.sections.plugin")),1)):i.createCommentVNode("",!0),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(y.value[z],L=>(i.openBlock(),i.createBlock(_n,{key:L.key,item:L},i.createSlots({label:i.withCtx(()=>[i.renderSlot(I.$slots,`${L.key}-label`,{row:L},void 0,!0)]),[L.key]:i.withCtx(({rowValue:fe})=>[i.renderSlot(I.$slots,L.key,{row:L,rowValue:fe},void 0,!0)]),_:2},[k(L)?{name:"label-tooltip",fn:i.withCtx(()=>[i.renderSlot(I.$slots,`${L.key}-label-tooltip`,{row:L},void 0,!0)]),key:"0"}:void 0]),1032,["item"]))),128))],10,eh))),128))])]),_:2},[r.hideTitle?void 0:{name:"title",fn:i.withCtx(()=>[i.createElementVNode("div",Zp,[i.renderSlot(I.$slots,"title",{},()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseConfigCard.title")),1)],!0)])]),key:"0"}]),1024)}}}),[["__scopeId","data-v-b72bbdde"]]),rh=["onReset","onSubmit"],ih={class:"form-actions","data-testid":"form-actions"},ju=it(i.defineComponent({__name:"EntityBaseForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string")},editId:{type:String,required:!1,default:""},fetchUrl:{type:String,required:!1,default:""},isReadonly:{type:Boolean,required:!1,default:!1},canSubmit:{type:Boolean,required:!1,default:void 0},errorMessage:{type:String,required:!1,default:""}},emits:["loading","fetch:success","fetch:error","submit","cancel"],setup(r,{emit:e}){var t;const n=r,o=xr.useRouter(),{i18n:{t:s}}=Ce.useI18n(),{getMessageFromError:c}=Ce.useErrors(),{axiosInstance:d}=Ce.useAxios({headers:(t=n.config)==null?void 0:t.requestHeaders}),u=i.ref(!1),f=i.ref(!1),h=i.ref(""),w=i.computed(()=>n.canSubmit===!1||n.isReadonly),T=i.computed(()=>{var y,b;if(!n.editId)return"";let k=`${n.config.apiBaseUrl}${n.fetchUrl}`;return n.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((y=n.config)==null?void 0:y.controlPlaneId)||""):n.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(b=n.config)!=null&&b.workspace?`/${n.config.workspace}`:"")),k=k.replace(/{id}/gi,n.editId),k}),C=()=>{n.config.cancelRoute?o.push(n.config.cancelRoute):p()},p=()=>{e("cancel")},m=()=>{w.value||e("submit")};return i.watch(()=>u.value,y=>{e("loading",y)},{immediate:!0}),i.onBeforeMount(async()=>{if(n.editId)try{f.value=!1,u.value=!0;const{data:y}=await d.get(T.value);e("fetch:success",y)}catch(y){const b=c(y);h.value=b.startsWith("code")?s("baseForm.errors.edit"):b,f.value=!0,e("fetch:error",y)}finally{u.value=!1}}),(y,b)=>{const k=i.resolveComponent("KSkeleton"),g=i.resolveComponent("KEmptyState"),A=i.resolveComponent("KAlert"),I=i.resolveComponent("KButton"),B=i.resolveComponent("KCard");return i.openBlock(),i.createBlock(B,{class:"kong-ui-entity-base-form"},{body:i.withCtx(()=>[u.value?(i.openBlock(),i.createBlock(k,{key:0,type:"form"})):f.value?(i.openBlock(),i.createBlock(g,{key:1,"cta-text":i.unref(s)("baseForm.actions.back"),"data-testid":"form-fetch-error","handle-click":C,"is-error":!0},{message:i.withCtx(()=>[i.createElementVNode("h3",null,i.toDisplayString(h.value),1)]),_:1},8,["cta-text"])):(i.openBlock(),i.createElementBlock("form",{key:2,"data-testid":"form-content",onReset:i.withModifiers(p,["prevent"]),onSubmit:i.withModifiers(m,["prevent"])},[i.renderSlot(y.$slots,"default",{},void 0,!0),r.errorMessage?(i.openBlock(),i.createBlock(A,{key:0,"alert-message":r.errorMessage,appearance:"danger","data-testid":"form-error"},null,8,["alert-message"])):i.createCommentVNode("",!0),i.createElementVNode("div",ih,[i.renderSlot(y.$slots,"form-actions",{},()=>[i.createVNode(I,{appearance:"outline","data-testid":"form-cancel",disabled:r.isReadonly,type:"reset"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseForm.actions.cancel")),1)]),_:1},8,["disabled"]),i.createVNode(I,{appearance:"primary","data-testid":"form-submit",disabled:w.value,type:"submit"},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(s)("baseForm.actions.save")),1)]),_:1},8,["disabled"])],!0)])],40,rh))]),_:3})}}}),[["__scopeId","data-v-2286e5f2"]]),nh={key:0},oh=it(i.defineComponent({__name:"EntityBaseTableCell",props:{keyName:{type:String,required:!0},rowEl:{type:[Object,null],required:!0}},setup(r){const e=r,t=i.computed(()=>{var m;return((m=e.rowEl)==null?void 0:m.querySelector(`[data-testid="${e.keyName}"]`))||null}),n=i.computed(()=>{var m;return((m=t.value)==null?void 0:m.querySelector('[role="button"]'))||null}),o=i.computed(()=>{var m,y;const b=(m=e.rowEl)==null?void 0:m.querySelectorAll("td");return b?((y=b[0])==null?void 0:y.getAttribute("data-testid"))===e.keyName:!1});let s;const c=()=>{s&&(s.disconnect(),s=void 0)},d=()=>{var m,y,b;f.value=((m=n.value)==null?void 0:m.getBoundingClientRect().width)||0,h.value=((y=t.value)==null?void 0:y.clientWidth)||0,w.value=((b=u.value)==null?void 0:b.innerText)||""},u=i.ref({}),f=i.ref(0),h=i.ref(0),w=i.ref(""),T=i.computed(()=>[n.value,t.value]),C=i.watch(T,m=>{if(o.value&&(c(),"ResizeObserver"in window&&window)){s=new ResizeObserver(y=>{window.requestAnimationFrame(()=>{!Array.isArray(y)||!y.length||d()})});for(const y of m)y&&s.observe(y)}},{immediate:!0,flush:"post",deep:!0}),p=i.computed(()=>o.value?f.value>h.value:!1);return i.onMounted(()=>{d()}),i.onUnmounted(()=>{C()}),(m,y)=>{const b=i.resolveComponent("KTooltip");return i.openBlock(),i.createElementBlock("span",{ref_key:"contentRef",ref:u,class:"content-wrapper"},[o.value?(i.openBlock(),i.createElementBlock("span",nh,[i.createVNode(b,{disabled:!p.value,label:w.value,"max-width":"300",placement:"bottomStart"},{default:i.withCtx(()=>[i.renderSlot(m.$slots,"default",{},void 0,!0)]),_:3},8,["disabled","label"])])):i.renderSlot(m.$slots,"default",{key:1},void 0,!0)],512)}}}),[["__scopeId","data-v-f8a220e9"]]),sh={class:"toolbar-container"},ah={key:0,class:"toolbar-button-container"},ch=["data-testid"],Pu=it(i.defineComponent({__name:"EntityBaseTable",props:{tableHeaders:{type:Object,required:!0,default:()=>({})},fetcher:{type:Function,required:!0,default:async()=>({data:[],total:0})},initialFetcherParams:{type:Object,default:null},cacheIdentifier:{type:String,default:""},fetcherCacheKey:{type:Number,default:1},isLoading:{type:Boolean,default:!1},query:{type:String,default:""},enableClientSort:{type:Boolean,default:!1},enableEntityActions:{type:Boolean,default:!0},emptyStateOptions:{type:Object,default:()=>({})},errorMessage:{type:String,default:""},disablePaginationPageJump:{type:Boolean,default:void 0},disableSorting:{type:Boolean,default:void 0},paginationType:{type:String,default:void 0},cellAttributes:{type:Function,default:()=>({})},rowAttributes:{type:Function,default:()=>({})},preferencesStorageKey:{type:String,default:"",required:!0},dropdownMenuWidth:{type:String,default:"",required:!1},title:{type:String,default:""}},emits:["click:row","sort","clear-search-input","empty-state-cta-clicked"],setup(r,{emit:e}){const t=r,{i18n:{t:n}}=Ce.useI18n(),o=i.computed(()=>t.cacheIdentifier||t.preferencesStorageKey),s=g=>g.hasData||!!t.query,c=i.computed(()=>{const g=[];return Object.keys(t.tableHeaders).forEach(A=>{const I=t.tableHeaders[A];g.push({label:I.label??A,key:A,sortable:I.sortable??!1})}),t.enableEntityActions&&g.push({key:"actions",hideLabel:!0}),g}),d=g=>({"data-rowid":g.id,"data-testid":g.name,...t.rowAttributes(g)}),u=i.ref({}),f=g=>{var A;return(A=u.value)==null?void 0:A.$el.querySelector(`[data-rowid="${g.id}"]`)},h=g=>{const A={"data-testid":g.headerKey,...t.cellAttributes(g)};return g.colIndex===0&&(A.style={maxWidth:"250px",overflowX:"hidden",textOverflow:"ellipsis"}),A},w=()=>{e("empty-state-cta-clicked"),T()},T=()=>{e("clear-search-input")},C=(g,A)=>{e("click:row",A)},p=g=>{e("sort",g)},{setTablePreferences:m,getTablePreferences:y}=ep(),b=i.computed(()=>{const g=y(t.preferencesStorageKey);return{...t.initialFetcherParams,...g}}),k=g=>{t.preferencesStorageKey&&m(t.preferencesStorageKey,g)};return(g,A)=>{const I=i.resolveComponent("KIcon"),B=i.resolveComponent("KButton"),_=i.resolveComponent("KDropdownMenu"),X=i.resolveComponent("KTable"),W=i.resolveComponent("KCard");return i.openBlock(),i.createBlock(W,{class:"kong-ui-entity-base-table",title:r.title},{body:i.withCtx(()=>[i.createVNode(X,{ref_key:"tableRefs",ref:u,"cache-identifier":o.value,"cell-attrs":h,"disable-pagination-page-jump":r.disablePaginationPageJump,"disable-sorting":r.disableSorting,"empty-state-action-button-icon":r.query?"":"plus","empty-state-action-message":r.query?i.unref(n)("baseTable.emptyState.noSearchResultsCtaText"):r.emptyStateOptions.ctaText,"empty-state-action-route":r.query?"":r.emptyStateOptions.ctaPath,"empty-state-icon":r.query?"stateNoSearchResults":"stateGruceo","empty-state-icon-size":"96","empty-state-message":r.query?i.unref(n)("baseTable.emptyState.noSearchResultsMessage"):r.emptyStateOptions.message,"empty-state-title":r.query?i.unref(n)("baseTable.emptyState.noSearchResultsTitle"):r.emptyStateOptions.title,"enable-client-sort":r.enableClientSort,"error-state-title":r.errorMessage,fetcher:r.fetcher,"fetcher-cache-key":String(r.fetcherCacheKey),"has-error":!!r.errorMessage,headers:c.value,"hide-pagination-when-optional":"","initial-fetcher-params":b.value,"is-loading":r.isLoading,"pagination-type":r.paginationType,"row-attrs":d,"search-input":r.query,onKtableEmptyStateCtaClicked:w,"onRow:click":C,onSort:A[0]||(A[0]=V=>p(V)),"onUpdate:tablePreferences":k},i.createSlots({toolbar:i.withCtx(({state:V})=>[i.withDirectives(i.createElementVNode("div",sh,[i.renderSlot(g.$slots,"toolbar-filter",{},void 0,!0),g.$slots["toolbar-button"]?(i.openBlock(),i.createElementBlock("div",ah,[i.renderSlot(g.$slots,"toolbar-button",{},void 0,!0)])):i.createCommentVNode("",!0)],512),[[i.vShow,s(V)]])]),actions:i.withCtx(({row:V,rowKey:M,rowValue:z})=>[i.createElementVNode("div",{class:"actions-container","data-testid":V.name},[i.createVNode(_,{"kpop-attributes":{placement:"bottomEnd"},width:r.dropdownMenuWidth},{items:i.withCtx(()=>[i.renderSlot(g.$slots,"actions",{row:V,rowKey:M,rowValue:z},void 0,!0)]),default:i.withCtx(()=>[i.createVNode(B,{class:"actions-trigger","data-testid":"overflow-actions-button",size:"small"},{icon:i.withCtx(()=>[i.createVNode(I,{color:i.unref(Dp),icon:"more",size:"16"},null,8,["color"])]),_:1})]),_:2},1032,["width"])],8,ch)]),_:2},[i.renderList(r.tableHeaders,(V,M)=>({name:M,fn:i.withCtx(({row:z,rowKey:L,rowValue:fe})=>[i.createVNode(oh,{"key-name":String(M),"row-el":f(z)},{default:i.withCtx(()=>[i.renderSlot(g.$slots,M,{row:z,rowKey:L,rowValue:fe},()=>[i.createTextVNode(i.toDisplayString(fe),1)],!0)]),_:2},1032,["key-name","row-el"])])}))]),1032,["cache-identifier","disable-pagination-page-jump","disable-sorting","empty-state-action-button-icon","empty-state-action-message","empty-state-action-route","empty-state-icon","empty-state-message","empty-state-title","enable-client-sort","error-state-title","fetcher","fetcher-cache-key","has-error","headers","initial-fetcher-params","is-loading","pagination-type","search-input"])]),_:3},8,["title"])}}}),[["__scopeId","data-v-a598b1d9"]]),lh={key:0,class:"kong-ui-entity-delete-error"},uh={key:1,class:"description"},Du=it(i.defineComponent({__name:"EntityDeleteModal",props:{visible:{type:Boolean,required:!0,default:!1},title:{type:String,default:"Delete"},entityType:{type:String,required:!0},entityName:{type:String,default:""},needConfirm:{type:Boolean,default:!0},description:{type:String,default:""},actionPending:{type:Boolean,default:!1},error:{type:String,default:""}},emits:["cancel","proceed"],setup(r,{emit:e}){const t=r,{i18nT:n}=Ce.useI18n(),o=i.computed(()=>t.needConfirm?t.entityName:""),s=()=>{e("cancel")},c=()=>{e("proceed")};return(d,u)=>{const f=i.resolveComponent("KAlert"),h=i.resolveComponent("KPrompt");return i.openBlock(),i.createBlock(h,{"action-button-text":"Yes, delete","action-pending":r.actionPending,class:"kong-ui-entity-delete-modal","confirmation-text":o.value,"is-visible":r.visible,title:r.title,type:"danger",onCanceled:s,onProceed:c},{"body-content":i.withCtx(()=>[r.error?(i.openBlock(),i.createElementBlock("div",lh,[i.createVNode(f,{appearance:"danger"},{alertMessage:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(r.error),1)]),_:1})])):i.createCommentVNode("",!0),i.createVNode(i.unref(n),{class:"message",keypath:t.entityName?"deleteModal.messageWithName":"deleteModal.message",tag:"p"},i.createSlots({entityType:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(t.entityType),1)]),_:2},[t.entityName?{name:"entityName",fn:i.withCtx(()=>[i.createElementVNode("strong",null,i.toDisplayString(t.entityName),1)]),key:"0"}:void 0]),1032,["keypath"]),t.description||d.$slots.description?(i.openBlock(),i.createElementBlock("div",uh,[i.renderSlot(d.$slots,"description",{},()=>[i.createElementVNode("p",null,i.toDisplayString(t.description),1)],!0)])):i.createCommentVNode("",!0)]),_:3},8,["action-pending","confirmation-text","is-visible","title"])}}}),[["__scopeId","data-v-1c9a2a07"]]),dh={fill:"none",height:"20",viewBox:"0 0 20 20",width:"20",xmlns:"http://www.w3.org/2000/svg"},fh={id:"mask0_180_20349",height:"20",maskUnits:"userSpaceOnUse",style:{"mask-type":"alpha"},width:"20",x:"0",y:"0"},ph=["fill"],hh={mask:"url(#mask0_180_20349)"},yh=["fill"],gh=i.defineComponent({__name:"IconFilter",props:{color:{type:String,default:`var(--kong-ui-entity-filter-color, ${jp})`}},setup(r){return(e,t)=>(i.openBlock(),i.createElementBlock("svg",dh,[i.createElementVNode("mask",fh,[i.createElementVNode("rect",{fill:r.color,height:"20",width:"20"},null,8,ph)]),i.createElementVNode("g",hh,[i.createElementVNode("path",{d:"M8 14.5V13H12V14.5H8ZM5 10.75V9.25H15V10.75H5ZM3 7V5.5H17V7H3Z",fill:r.color},null,8,yh)])]))}}),mh={key:1,class:"kong-ui-entity-filter"},bh={class:"menu-item-title"},vh={class:"menu-item-indicator"},wh={class:"menu-item-body"},kh=["for"],Sh={class:"menu-item-buttons"},$u=it(i.defineComponent({__name:"EntityFilter",props:{config:{type:Object,required:!0,default:()=>({isExactMatch:!0,placeholder:""})},modelValue:{type:String,required:!0}},emits:["update:modelValue"],setup(r,{emit:e}){const t=r,{i18n:{t:n}}=Ce.useI18n(),o=i.ref(!1),s=i.ref({}),c=i.computed(()=>{const y=[];return new URLSearchParams(t.modelValue).forEach((b,k)=>{b!==""&&y.push(k)}),y}),d=i.computed(()=>{const y=t.config.fields;return Object.keys(y).filter(b=>y[b].searchable).map(b=>({label:y[b].label||b,value:b}))});i.watch(()=>t.modelValue,y=>{s.value={},new URLSearchParams(y).forEach((b,k)=>{s.value[k]=b})});const u=()=>{o.value=!o.value},f=y=>{e("update:modelValue",y)},h=y=>`filter-${y}`,w=y=>{var b,k;return(((k=(b=t.config.schema)==null?void 0:b[y])==null?void 0:k.values)??[]).map(g=>({value:g,label:g}))},T=y=>{var b,k;return((k=(b=t.config.schema)==null?void 0:b[y])==null?void 0:k.type)??"text"},C=y=>{s.value={...s.value,[y]:""},m()},p=()=>{s.value={},m(!0)},m=(y=!1)=>{const b=Object.keys(s.value).reduce((k,g)=>(s.value[g]&&(k[g]=`${s.value[g]}`),k),{});y&&(o.value=!1),e("update:modelValue",new URLSearchParams(b).toString())};return(y,b)=>{const k=i.resolveComponent("KInput"),g=i.resolveComponent("KButton"),A=i.resolveComponent("KSelect"),I=i.resolveComponent("KMenuItem"),B=i.resolveComponent("KMenu");return r.config.isExactMatch?(i.openBlock(),i.createBlock(k,{key:0,autocomplete:"off",class:"kong-ui-entity-filter-input","data-testid":"search-input","model-value":r.modelValue,placeholder:r.config.placeholder,"onUpdate:modelValue":f},{icon:i.withCtx(()=>[i.createVNode(gh)]),_:1},8,["model-value","placeholder"])):(i.openBlock(),i.createElementBlock("div",mh,[i.createVNode(g,{appearance:"btn-link","data-testid":"filter-button",icon:"filter",onClick:u},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.filterButtonText"))+" "+i.toDisplayString(c.value.length>0?`(${c.value.length})`:""),1)]),_:1}),i.withDirectives(i.createElementVNode("div",{class:"kong-ui-entity-filter-backdrop",onClick:u},null,512),[[i.vShow,o.value]]),i.withDirectives(i.createVNode(B,{class:"kong-ui-entity-filter-menu"},{body:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(d.value,(_,X)=>(i.openBlock(),i.createBlock(I,{key:_.value,"data-testid":_.value,expandable:"","last-menu-item":X===d.value.length-1},{itemTitle:i.withCtx(()=>[i.createElementVNode("span",bh,[i.createTextVNode(i.toDisplayString(_.label)+" ",1),i.withDirectives(i.createElementVNode("span",vh,null,512),[[i.vShow,c.value.includes(_.value)]])])]),itemBody:i.withCtx(()=>{var W,V;return[i.createElementVNode("div",wh,[i.createElementVNode("label",{class:"menu-item-label",for:h(_.value)},i.toDisplayString(i.unref(n)("filter.fieldLabel")),9,kh),((V=(W=r.config.schema)==null?void 0:W[_.value])==null?void 0:V.type)==="select"?(i.openBlock(),i.createBlock(A,{key:0,id:h(_.value),modelValue:s.value[_.value],"onUpdate:modelValue":M=>s.value[_.value]=M,appearance:"select",items:w(_.value),placeholder:i.unref(n)("filter.selectPlaceholder")},null,8,["id","modelValue","onUpdate:modelValue","items","placeholder"])):(i.openBlock(),i.createBlock(k,{key:1,id:h(_.value),modelValue:s.value[_.value],"onUpdate:modelValue":M=>s.value[_.value]=M,autocomplete:"off",placeholder:i.unref(n)("filter.inputPlaceholder"),size:"small",type:T(_.value)},null,8,["id","modelValue","onUpdate:modelValue","placeholder","type"]))]),i.createElementVNode("div",Sh,[i.createVNode(g,{appearance:"btn-link","data-testid":"apply-filter",size:"small",onClick:b[0]||(b[0]=M=>m(!0))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.applyButtonText")),1)]),_:1}),i.createVNode(g,{appearance:"btn-link","data-testid":"clear-filter",size:"small",onClick:M=>C(_.value)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.clearButtonText")),1)]),_:2},1032,["onClick"])])]}),_:2},1032,["data-testid","last-menu-item"]))),128))]),actionButton:i.withCtx(()=>[i.createVNode(g,{onClick:p},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("filter.clearAllButtonText")),1)]),_:1})]),_:1},512),[[i.vShow,o.value]])]))}}}),[["__scopeId","data-v-745f38c0"]]),gt=i.defineComponent({__name:"PermissionsWrapper",props:{authFunction:{type:Function,required:!0,default:async()=>!0},forceShow:{type:Boolean,default:!1}},setup(r){const e=r,t=i.ref(void 0),n=i.computed(()=>t.value===!0||t.value!==void 0&&e.forceShow===!0);return i.onBeforeMount(async()=>{t.value=await e.authFunction()}),(o,s)=>n.value?i.renderSlot(o.$slots,"default",{key:0,isAllowed:t.value}):i.createCommentVNode("",!0)}}),Ch={class:"form-section-wrapper"},xh={key:0,class:"form-section-title"},Ah={key:1,class:"form-section-description"},Bh={key:2,class:"form-section-footer"},Ih={class:"form-section-content"},On=it(i.defineComponent({__name:"EntityFormSection",props:{title:{type:String,default:""},description:{type:String,default:""},hasDivider:{type:Boolean,default:!1},stickyInfoHeader:{type:Boolean,default:!0},hideInfoHeader:{type:Boolean,default:!1}},setup(r){const e=i.useSlots();return(t,n)=>(i.openBlock(),i.createElementBlock("fieldset",{class:i.normalizeClass(["kong-ui-entity-form-section",{"has-divider":r.hasDivider}])},[i.createElementVNode("div",Ch,[r.hideInfoHeader?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",{key:0,class:i.normalizeClass(["form-section-info",{sticky:r.stickyInfoHeader}])},[r.title?(i.openBlock(),i.createElementBlock("h4",xh,i.toDisplayString(r.title),1)):i.createCommentVNode("",!0),r.description||i.unref(e).description?(i.openBlock(),i.createElementBlock("div",Ah,[i.renderSlot(t.$slots,"description",{},()=>[i.createElementVNode("p",null,i.toDisplayString(r.description),1)],!0)])):i.createCommentVNode("",!0),i.unref(e).footer?(i.openBlock(),i.createElementBlock("div",Bh,[i.renderSlot(t.$slots,"footer",{},void 0,!0)])):i.createCommentVNode("",!0)],2)),i.createElementVNode("div",Ih,[i.renderSlot(t.$slots,"default",{},void 0,!0)])])],2))}}),[["__scopeId","data-v-8b6dc312"]]),{useAxios:Tn,useDeleteUrlBuilder:Ru,useErrors:Mu,useFetchUrlBuilder:Iy,useFetcher:Uu,useDebouncedFilter:Ey,useStringHelpers:Lu,useGatewayFeatureSupported:Ny}=Ce,_y="",Oy="",Eh={class:"kong-ui-entities-certificates-list"},Nh={key:0},_h={key:1},Oh={key:0},Th={key:1},Vh={key:0},jh={key:1},Ph={key:1},Dh={key:1},$h=i.defineComponent({__name:"CertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canCreateSni:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0}},emits:["error","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var ce;const t=r,{i18n:{t:n,formatUnixTimeStamp:o},i18nT:s}=rt.useI18n(),c=xr.useRouter(),{axiosInstance:d}=Tn({headers:(ce=t.config)==null?void 0:ce.requestHeaders}),u=i.ref(1),f=i.computed(()=>t.config.app!=="kongManager"||!!t.config.disableSorting),w={subject:{label:n("certificates.list.table_headers.subject")},expiry:{label:n("certificates.list.table_headers.expiry")},san:{label:n("certificates.list.table_headers.san")},cert:{label:n("certificates.list.table_headers.cert")},tags:{label:n("certificates.list.table_headers.tags"),sortable:!0}},T=i.computed(()=>{var J,ge;let F=`${t.config.apiBaseUrl}${ii.list[t.config.app]}`;return t.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((J=t.config)==null?void 0:J.controlPlaneId)||""):t.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,(ge=t.config)!=null&&ge.workspace?`/${t.config.workspace}`:"")),F}),C=i.ref(""),p=i.computed(()=>{const F=t.config.app==="konnect"||t.config.isExactMatch;return F?{isExactMatch:F,placeholder:n("certificates.search.placeholder")}:{isExactMatch:F,schema:t.config.filterSchema}}),{fetcher:m,fetcherState:y}=Uu(t.config,T.value),b=()=>{C.value=""},k=()=>{u.value++},g=i.ref(""),A=(F,J)=>{const ge=F.id;if(!J(ge)){e("copy:error",{entity:F,field:"id",message:n("certificates.errors.copy")});return}e("copy:success",{entity:F,field:"id",message:n("certificates.copy.success",{val:ge})})},I=(F,J)=>{const ge=JSON.stringify(F);if(!J(ge)){e("copy:error",{entity:F,message:n("certificates.errors.copy")});return}e("copy:success",{entity:F,message:n("certificates.copy.success_brief")})},B=(F,J)=>{F.type==="error"?e("copy:error",{entity:J,field:"cert",message:n("certificates.errors.copy")}):e("copy:success",{entity:J,field:"cert",message:n("certificates.copy.success_brief")})},_=async F=>{var ge;await((ge=t.canRetrieve)==null?void 0:ge.call(t,F))&&c.push(t.config.getViewRoute(F.id))},X=F=>({label:n("certificates.actions.view"),to:t.config.getViewRoute(F)}),W=F=>({label:n("certificates.actions.edit"),to:t.config.getEditRoute(F)}),V=F=>{if(t.config.getCreateSniRoute)return{label:n("certificates.actions.addSni"),to:t.config.getCreateSniRoute(F)}},M=i.ref(void 0),z=i.ref(!1),L=i.ref(!1),fe=i.ref(""),Ve=Ru(t.config,T.value),{certificateDataCache:Be,getCertificateData:mt}=rt.useCertificate(),Sr=F=>{M.value=F,z.value=!0},At=()=>{z.value=!1},zt=async()=>{var F,J,ge;if((F=M.value)!=null&&F.id){L.value=!0;try{await d.delete(Ve(M.value.id)),L.value=!1,z.value=!1,u.value++,e("delete:success",M.value)}catch(Re){fe.value=((ge=(J=Re.response)==null?void 0:J.data)==null?void 0:ge.message)||Re.message||n("certificates.errors.delete"),e("error",Re)}finally{L.value=!1}}};i.watch(y,F=>{if(F.status===xt.Error){g.value=n("certificates.errors.general"),e("error",F.error);return}Be.value={},g.value=""});const H=i.ref({ctaPath:t.config.createRoute,ctaText:void 0,message:n("certificates.list.empty_state.description"),title:n("certificates.title")});return i.onBeforeMount(async()=>{await t.canCreate()&&(H.value.title=n("certificates.list.empty_state.title"),H.value.ctaText=n("certificates.actions.create"))}),(F,J)=>{const ge=i.resolveComponent("KButton"),Re=i.resolveComponent("KBadge"),Cr=i.resolveComponent("KTruncate"),Z=i.resolveComponent("KDropdownItem"),le=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",Eh,[i.createVNode(i.unref(Pu),{"cache-identifier":r.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":f.value,"empty-state-options":H.value,"enable-entity-actions":"","error-message":g.value,fetcher:i.unref(m),"fetcher-cache-key":u.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-certificates-list",query:C.value,"table-headers":i.unref(w),onClearSearchInput:b,"onClick:row":J[2]||(J[2]=q=>_(q)),onSort:k},{"toolbar-filter":i.withCtx(()=>[i.createVNode(i.unref($u),{modelValue:C.value,"onUpdate:modelValue":J[0]||(J[0]=q=>C.value=q),config:p.value},null,8,["modelValue","config"])]),"toolbar-button":i.withCtx(()=>[i.createVNode(i.unref(gt),{"auth-function":()=>r.canCreate()},{default:i.withCtx(()=>[i.createVNode(ge,{appearance:"primary","data-testid":"toolbar-add-certificate",icon:"plus",to:r.config.createRoute},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.list.toolbar_actions.new_certificate")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])]),subject:i.withCtx(({row:q})=>{var ue;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("b",Nh,i.toDisplayString((ue=q==null?void 0:q.metadata)!=null&&ue.subject?q.metadata.subject:"-"),1)):(i.openBlock(),i.createElementBlock("b",_h,i.toDisplayString(i.unref(mt)(q).schemaSubject||"-"),1))]}),expiry:i.withCtx(({row:q})=>{var ue;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("span",Oh,i.toDisplayString((ue=q==null?void 0:q.metadata)!=null&&ue.expiry?i.unref(o)(q.metadata.expiry):"-"),1)):(i.openBlock(),i.createElementBlock("span",Th,i.toDisplayString(i.unref(mt)(q).schemaExpiry?i.unref(o)(i.unref(mt)(q).schemaExpiry):"-"),1))]}),san:i.withCtx(({row:q})=>{var ue;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("span",Vh,i.toDisplayString((ue=q==null?void 0:q.metadata)!=null&&ue.dns_names?`dns=${q.metadata.dns_names.join(", ")}`:"-"),1)):(i.openBlock(),i.createElementBlock("span",jh,i.toDisplayString(i.unref(mt)(q).schemaSanNames||"-"),1))]}),cert:i.withCtx(({row:q})=>[q!=null&&q.cert?(i.openBlock(),i.createBlock(i.unref(Zf),{key:0,"data-testid":"copy-certificate-cert",notify:ue=>B(ue,q),truncated:!0,uuid:q.cert},null,8,["notify","uuid"])):(i.openBlock(),i.createElementBlock("span",Ph,"-"))]),tags:i.withCtx(({row:q})=>{var ue;return[((ue=q==null?void 0:q.tags)==null?void 0:ue.length)>0?(i.openBlock(),i.createBlock(Cr,{key:0},{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(q==null?void 0:q.tags,Gt=>(i.openBlock(),i.createBlock(Re,{key:Gt,onClick:J[1]||(J[1]=i.withModifiers(()=>{},["stop"]))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(Gt),1)]),_:2},1024))),128))]),_:2},1024)):(i.openBlock(),i.createElementBlock("span",Dh,"-"))]}),actions:i.withCtx(({row:q})=>[i.createVNode(le,null,{default:i.withCtx(({copyToClipboard:ue})=>[i.createVNode(Z,{"data-testid":"action-entity-copy-id",onClick:Gt=>A(q,ue)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(le,null,{default:i.withCtx(({copyToClipboard:ue})=>[i.createVNode(Z,{"data-testid":"action-entity-copy-json",onClick:Gt=>I(q,ue)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(i.unref(gt),{"auth-function":()=>r.canRetrieve(q)},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-view","has-divider":"",item:X(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),i.createVNode(i.unref(gt),{"auth-function":()=>r.canEdit(q)},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-edit",item:W(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),r.config.getCreateSniRoute?(i.openBlock(),i.createBlock(i.unref(gt),{key:0,"auth-function":()=>r.canCreateSni()},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-add-sni",item:V(q.id)},null,8,["item"])]),_:2},1032,["auth-function"])):i.createCommentVNode("",!0),i.createVNode(i.unref(gt),{"auth-function":()=>r.canDelete(q)},{default:i.withCtx(()=>[i.createVNode(Z,{"data-testid":"action-entity-delete","has-divider":"","is-dangerous":"",onClick:ue=>Sr(q)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("certificates.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"]),i.createVNode(i.unref(Du),{"action-pending":L.value,"entity-type":i.unref(Js).Certificate,error:fe.value,title:i.unref(n)("certificates.delete.title"),visible:z.value,onCancel:At,onProceed:zt},{description:i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.delete.description",scope:"global"},{"bolded-text":i.withCtx(()=>[i.createElementVNode("b",null,i.toDisplayString(i.unref(n)("certificates.delete.boldedText")),1)]),_:1}),i.createElementVNode("p",null,i.toDisplayString(i.unref(n)("certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),Ty="",kr=(r,e)=>{const t=r.__vccOpts||r;for(const[n,o]of e)t[n]=o;return t},Rh=kr($h,[["__scopeId","data-v-15d0d681"]]),Mh={class:"kong-ui-entities-certificates-form"},Uh=i.defineComponent({__name:"CertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(r,{emit:e}){var k;const t=r,n=xr.useRouter(),{i18nT:o,i18n:{t:s}}=rt.useI18n(),{getMessageFromError:c}=Mu(),{axiosInstance:d}=Tn({headers:(k=t.config)==null?void 0:k.requestHeaders}),u=i.computed(()=>ii.form[t.config.app].edit),f=i.computed(()=>t.certificateId?qt.Edit:qt.Create),h=i.reactive({fields:{cert:"",key:"",certAlt:"",keyAlt:"",tags:""},isReadonly:!1,errorMessage:""}),w=i.reactive({cert:"",key:"",certAlt:"",keyAlt:"",tags:""}),T=i.computed(()=>(f.value===qt.Create||JSON.stringify(h.fields)!==JSON.stringify(w))&&!!h.fields.cert&&!!h.fields.key),C=g=>{var A;h.fields.cert=(g==null?void 0:g.cert)||"",h.fields.key=(g==null?void 0:g.key)||"",h.fields.certAlt=(g==null?void 0:g.cert_alt)||"",h.fields.keyAlt=(g==null?void 0:g.key_alt)||"",h.fields.tags=((A=g==null?void 0:g.tags)==null?void 0:A.join(", "))||"",Object.assign(w,h.fields)},p=()=>{n.push(t.config.cancelRoute)},m=i.computed(()=>{var A,I;let g=`${t.config.apiBaseUrl}${ii.form[t.config.app].validate}`;return t.config.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,((A=t.config)==null?void 0:A.controlPlaneId)||""):t.config.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,(I=t.config)!=null&&I.workspace?`/${t.config.workspace}`:"")),g=g.replace(/{id}/gi,t.certificateId),g}),y=i.computed(()=>{var A,I;let g=`${t.config.apiBaseUrl}${ii.form[t.config.app][f.value]}`;return t.config.app==="konnect"?g=g.replace(/{controlPlaneId}/gi,((A=t.config)==null?void 0:A.controlPlaneId)||""):t.config.app==="kongManager"&&(g=g.replace(/\/{workspace}/gi,(I=t.config)!=null&&I.workspace?`/${t.config.workspace}`:"")),g=g.replace(/{id}/gi,t.certificateId),g}),b=async()=>{var g,A,I,B,_,X,W,V,M;try{h.isReadonly=!0;const z={cert:h.fields.cert,key:h.fields.key,cert_alt:h.fields.certAlt||null,key_alt:h.fields.keyAlt||null,tags:(A=(g=h.fields.tags.split(","))==null?void 0:g.map(fe=>String(fe||"").trim()))==null?void 0:A.filter(fe=>fe!=="")};let L;await d.post(m.value,z),f.value==="create"?L=await d.post(y.value,z):f.value==="edit"&&(L=((I=t.config)==null?void 0:I.app)==="konnect"?await d.put(y.value,z):await d.patch(y.value,z)),h.fields.cert=((B=L==null?void 0:L.data)==null?void 0:B.cert)||"",h.fields.key=((_=L==null?void 0:L.data)==null?void 0:_.key)||"",h.fields.certAlt=((X=L==null?void 0:L.data)==null?void 0:X.cert_alt)||"",h.fields.keyAlt=((W=L==null?void 0:L.data)==null?void 0:W.key_alt)||"",h.fields.tags=((M=(V=L==null?void 0:L.data)==null?void 0:V.tags)==null?void 0:M.join(", "))||"",Object.assign(w,h.fields),e("update",L==null?void 0:L.data)}catch(z){h.errorMessage=c(z),e("error",z)}finally{h.isReadonly=!1}};return(g,A)=>{const I=i.resolveComponent("KTextArea"),B=i.resolveComponent("KInput");return i.openBlock(),i.createElementBlock("div",Mh,[i.createVNode(i.unref(ju),{"can-submit":T.value,config:r.config,"edit-id":r.certificateId,"error-message":h.errorMessage,"fetch-url":u.value,"is-readonly":h.isReadonly,onCancel:p,"onFetch:error":A[5]||(A[5]=_=>g.$emit("error",_)),"onFetch:success":C,onLoading:A[6]||(A[6]=_=>g.$emit("loading",_)),onSubmit:b},{default:i.withCtx(()=>[i.createVNode(i.unref(On),{description:i.unref(s)("certificates.form.sections.ssl.description"),title:i.unref(s)("certificates.form.sections.ssl.title")},{default:i.withCtx(()=>[i.createVNode(I,{modelValue:h.fields.cert,"onUpdate:modelValue":A[0]||(A[0]=_=>h.fields.cert=_),modelModifiers:{trim:!0},class:"certificate-form-textarea","data-testid":"certificate-form-cert","disable-character-limit":"",label:i.unref(s)("certificates.form.fields.cert.label"),readonly:h.isReadonly,required:""},{"label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(o),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("em",null,i.toDisplayString(i.unref(s)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),i.createVNode(I,{modelValue:h.fields.key,"onUpdate:modelValue":A[1]||(A[1]=_=>h.fields.key=_),modelModifiers:{trim:!0},class:"certificate-form-textarea","data-testid":"certificate-form-key","disable-character-limit":"",label:i.unref(s)("certificates.form.fields.key.label"),readonly:h.isReadonly,required:""},{"label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(o),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("em",null,i.toDisplayString(i.unref(s)("certificates.form.fields.key.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),i.createVNode(B,{modelValue:h.fields.certAlt,"onUpdate:modelValue":A[2]||(A[2]=_=>h.fields.certAlt=_),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-cert-alt",label:i.unref(s)("certificates.form.fields.cert_alt.label"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","label","readonly"]),i.createVNode(B,{modelValue:h.fields.keyAlt,"onUpdate:modelValue":A[3]||(A[3]=_=>h.fields.keyAlt=_),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-key-alt",label:i.unref(s)("certificates.form.fields.key_alt.label"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","label","readonly"])]),_:1},8,["description","title"]),i.createVNode(i.unref(On),{description:i.unref(s)("certificates.form.sections.general.description"),title:i.unref(s)("certificates.form.sections.general.title")},{default:i.withCtx(()=>[i.createVNode(B,{modelValue:h.fields.tags,"onUpdate:modelValue":A[4]||(A[4]=_=>h.fields.tags=_),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-tags",help:i.unref(s)("certificates.form.fields.tags.help"),label:i.unref(s)("certificates.form.fields.tags.label"),"label-attributes":{info:i.unref(s)("certificates.form.fields.tags.tooltip")},placeholder:i.unref(s)("certificates.form.fields.tags.placeholder"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","is-readonly"])])}}}),Vy="",Lh=kr(Uh,[["__scopeId","data-v-ffa3e98c"]]),ni={list:{konnect:"/api/runtime_groups/{controlPlaneId}/ca_certificates",kongManager:"/{workspace}/ca_certificates"},form:{konnect:{create:"/api/runtime_groups/{controlPlaneId}/ca_certificates",edit:"/api/runtime_groups/{controlPlaneId}/ca_certificates/{id}",validate:"/api/runtime_groups/{controlPlaneId}/v1/schemas/json/ca-certificate/validate"},kongManager:{create:"/{workspace}/ca_certificates",edit:"/{workspace}/ca_certificates/{id}",validate:"/{workspace}/schemas/ca_certificates/validate"}}},Hh={class:"kong-ui-ca-certificate-entity-config-card"},Fh={key:0},Kh=i.defineComponent({__name:"CACertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success","copy:success"],setup(r,{emit:e}){const t=r,n=["dns_names","san_names","subject"],{i18n:{t:o,formatUnixTimeStamp:s}}=rt.useI18n(),{convertKeyToTitle:c}=Lu(),{getCertificateData:d}=rt.useCertificate(),u=i.computed(()=>ni.form[t.config.app].edit),f=i.ref(),h=i.computed(()=>{if(f.value)return d(f.value)}),w=i.computed(()=>{var y;return((y=h.value)==null?void 0:y.schemaIssuer)||""}),T=i.computed(()=>{var y,b;return(y=h.value)!=null&&y.schemaExpiry?s((b=h.value)==null?void 0:b.schemaExpiry):""}),C=i.computed(()=>{var y;return((y=h.value)==null?void 0:y.schemaKeyUsages)||[]}),p=y=>{f.value=y,e("fetch:success",y)},m=i.ref({id:{},updated_at:{},created_at:{},cert:{section:ae.Basic,label:o("ca-certificates.form.fields.cert.label"),tooltip:o("ca-certificates.form.fields.cert.tooltip"),order:5},cert_digest:{section:ae.Basic,label:o("ca-certificates.form.fields.cert_digest.label"),tooltip:o("ca-certificates.form.fields.cert_digest.tooltip"),order:6},metadata:{section:ae.Basic,type:re.Json,order:7},...t.config.app==="kongManager"&&{expiry:{label:o("certificates.list.table_headers.expiry"),section:ae.Basic,order:1.7,forceShow:!0},issuer:{section:ae.Basic,order:1.5,forceShow:!0},key_usages:{section:ae.Basic,forceShow:!0}},tags:{tooltip:o("ca-certificates.form.fields.tags.tooltip")}});return(y,b)=>{const k=i.resolveComponent("KCodeBlock"),g=i.resolveComponent("KBadge");return i.openBlock(),i.createElementBlock("div",Hh,[i.createVNode(i.unref(Vu),{config:r.config,"config-schema":m.value,"fetch-url":u.value,"hide-title":r.hideTitle,"onCopy:success":b[0]||(b[0]=A=>y.$emit("copy:success",A)),"onFetch:error":b[1]||(b[1]=A=>y.$emit("fetch:error",A)),"onFetch:success":p,onLoading:b[2]||(b[2]=A=>y.$emit("loading",A))},{cert:i.withCtx(({rowValue:A})=>[i.createVNode(k,{id:`ca-cert-${r.config.entityId}-cert-codeblock`,code:A,"is-single-line":"",language:"plaintext"},null,8,["id","code"])]),metadata:i.withCtx(({rowValue:A})=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(A).filter(I=>!n.includes(I)),I=>(i.openBlock(),i.createBlock(i.unref(_n),{key:I,"data-testid":`ca-cert-metadata-${I}`,item:{key:I,label:i.unref(c)(I),value:I==="expiry"?T.value:I==="key_usages"?C.value:A[I],type:I==="key_usages"?i.unref(re).BadgeTag:i.unref(re).Text}},null,8,["data-testid","item"]))),128))]),expiry:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(T.value||"–"),1)]),issuer:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(w.value||"–"),1)]),key_usages:i.withCtx(()=>[C.value.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",Fh,i.toDisplayString("–"))),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(C.value,(A,I)=>(i.openBlock(),i.createBlock(g,{key:`key_usages-badge-tag-${I}`,class:"config-badge","data-testid":`key_usages-badge-tag-${I}`,"truncation-tooltip":A},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(A),1)]),_:2},1032,["data-testid","truncation-tooltip"]))),128))]),_:1},8,["config","config-schema","fetch-url","hide-title"])])}}}),jy="",qh=kr(Kh,[["__scopeId","data-v-c7364467"]]),zh={class:"kong-ui-entities-ca-certificates-list"},Gh={key:0},Wh={key:1},Jh={key:0},Yh={key:1},Zh={key:1},Qh=i.defineComponent({__name:"CACertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.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},canRetrieve:{type:Function,required:!1,default:async()=>!0}},emits:["error","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var zt;const t=r,{i18n:{t:n,formatUnixTimeStamp:o},i18nT:s}=rt.useI18n(),c=xr.useRouter(),{axiosInstance:d}=Tn({headers:(zt=t.config)==null?void 0:zt.requestHeaders}),u=i.ref(1),f=i.computed(()=>t.config.app!=="kongManager"||!!t.config.disableSorting),w={issuer:{label:n("ca-certificates.list.table_headers.issuer")},expiry:{label:n("ca-certificates.list.table_headers.expiry")},tags:{label:n("ca-certificates.list.table_headers.tags"),sortable:!0}},T=i.computed(()=>{var ce,F;let H=`${t.config.apiBaseUrl}${ni.list[t.config.app]}`;return t.config.app==="konnect"?H=H.replace(/{controlPlaneId}/gi,((ce=t.config)==null?void 0:ce.controlPlaneId)||""):t.config.app==="kongManager"&&(H=H.replace(/\/{workspace}/gi,(F=t.config)!=null&&F.workspace?`/${t.config.workspace}`:"")),H}),C=i.ref(""),p=i.computed(()=>{const H=t.config.app==="konnect"||t.config.isExactMatch;return H?{isExactMatch:H,placeholder:n("ca-certificates.search.placeholder")}:{isExactMatch:H,schema:t.config.filterSchema}}),{fetcher:m,fetcherState:y}=Uu(t.config,T.value),b=()=>{C.value=""},k=()=>{u.value++},g=i.ref(""),A=(H,ce)=>{const F=H.id;if(!ce(F)){e("copy:error",{entity:H,field:"id",message:n("ca-certificates.errors.copy")});return}e("copy:success",{entity:H,field:"id",message:n("ca-certificates.copy.success",{val:F})})},I=(H,ce)=>{const F=JSON.stringify(H);if(!ce(F)){e("copy:error",{entity:H,message:n("ca-certificates.errors.copy")});return}e("copy:success",{entity:H,message:n("ca-certificates.copy.success_brief")})},B=async H=>{var F;await((F=t.canRetrieve)==null?void 0:F.call(t,H))&&c.push(t.config.getViewRoute(H.id))},_=H=>({label:n("ca-certificates.actions.view"),to:t.config.getViewRoute(H)}),X=H=>({label:n("ca-certificates.actions.edit"),to:t.config.getEditRoute(H)}),W=i.ref(void 0),V=i.ref(!1),M=i.ref(!1),z=i.ref(""),L=Ru(t.config,T.value),{certificateDataCache:fe,getCertificateData:Ve}=rt.useCertificate(),Be=H=>{W.value=H,V.value=!0},mt=()=>{V.value=!1},Sr=async()=>{var H,ce,F;if((H=W.value)!=null&&H.id){M.value=!0;try{await d.delete(L(W.value.id)),M.value=!1,V.value=!1,u.value++,e("delete:success",W.value)}catch(J){z.value=((F=(ce=J.response)==null?void 0:ce.data)==null?void 0:F.message)||J.message||n("ca-certificates.errors.delete"),e("error",J)}finally{M.value=!1}}};i.watch(y,H=>{if(H.status===xt.Error){g.value=n("ca-certificates.errors.general"),e("error",H.error);return}fe.value={},g.value=""});const At=i.ref({ctaPath:t.config.createRoute,ctaText:void 0,message:n("ca-certificates.list.empty_state.description"),title:n("ca-certificates.title")});return i.onBeforeMount(async()=>{await t.canCreate()&&(At.value.title=n("ca-certificates.list.empty_state.title"),At.value.ctaText=n("ca-certificates.actions.create"))}),(H,ce)=>{const F=i.resolveComponent("KButton"),J=i.resolveComponent("KBadge"),ge=i.resolveComponent("KTruncate"),Re=i.resolveComponent("KDropdownItem"),Cr=i.resolveComponent("KClipboardProvider");return i.openBlock(),i.createElementBlock("div",zh,[i.createVNode(i.unref(Pu),{"cache-identifier":r.cacheIdentifier,"disable-pagination-page-jump":"","disable-sorting":f.value,"empty-state-options":At.value,"enable-entity-actions":"","error-message":g.value,fetcher:i.unref(m),"fetcher-cache-key":u.value,"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-ca-certificates-list",query:C.value,"table-headers":i.unref(w),onClearSearchInput:b,"onClick:row":ce[2]||(ce[2]=Z=>B(Z)),onSort:k},{"toolbar-filter":i.withCtx(()=>[i.createVNode(i.unref($u),{modelValue:C.value,"onUpdate:modelValue":ce[0]||(ce[0]=Z=>C.value=Z),config:p.value},null,8,["modelValue","config"])]),"toolbar-button":i.withCtx(()=>[i.createVNode(i.unref(gt),{"auth-function":()=>r.canCreate()},{default:i.withCtx(()=>[i.createVNode(F,{appearance:"primary","data-testid":"toolbar-add-ca-certificate",icon:"plus",to:r.config.createRoute},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.list.toolbar_actions.new_ca_certificate")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])]),issuer:i.withCtx(({row:Z})=>{var le;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("b",Gh,i.toDisplayString((le=Z==null?void 0:Z.metadata)!=null&&le.issuer?Z.metadata.issuer:"-"),1)):(i.openBlock(),i.createElementBlock("b",Wh,i.toDisplayString(i.unref(Ve)(Z).schemaIssuer||"-"),1))]}),expiry:i.withCtx(({row:Z})=>{var le;return[r.config.app==="konnect"?(i.openBlock(),i.createElementBlock("span",Jh,i.toDisplayString((le=Z==null?void 0:Z.metadata)!=null&&le.expiry?i.unref(o)(Z.metadata.expiry):"-"),1)):(i.openBlock(),i.createElementBlock("span",Yh,i.toDisplayString(i.unref(Ve)(Z).schemaExpiry?i.unref(o)(i.unref(Ve)(Z).schemaExpiry):"-"),1))]}),tags:i.withCtx(({row:Z})=>{var le;return[((le=Z==null?void 0:Z.tags)==null?void 0:le.length)>0?(i.openBlock(),i.createBlock(ge,{key:0},{default:i.withCtx(()=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Z==null?void 0:Z.tags,q=>(i.openBlock(),i.createBlock(J,{key:q,onClick:ce[1]||(ce[1]=i.withModifiers(()=>{},["stop"]))},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(q),1)]),_:2},1024))),128))]),_:2},1024)):(i.openBlock(),i.createElementBlock("span",Zh,"-"))]}),actions:i.withCtx(({row:Z})=>[i.createVNode(Cr,null,{default:i.withCtx(({copyToClipboard:le})=>[i.createVNode(Re,{"data-testid":"action-entity-copy-id",onClick:q=>A(Z,le)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(Cr,null,{default:i.withCtx(({copyToClipboard:le})=>[i.createVNode(Re,{"data-testid":"action-entity-copy-json",onClick:q=>I(Z,le)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),i.createVNode(i.unref(gt),{"auth-function":()=>r.canRetrieve(Z)},{default:i.withCtx(()=>[i.createVNode(Re,{"data-testid":"action-entity-view","has-divider":"",item:_(Z.id)},null,8,["item"])]),_:2},1032,["auth-function"]),i.createVNode(i.unref(gt),{"auth-function":()=>r.canEdit(Z)},{default:i.withCtx(()=>[i.createVNode(Re,{"data-testid":"action-entity-edit",item:X(Z.id)},null,8,["item"])]),_:2},1032,["auth-function"]),i.createVNode(i.unref(gt),{"auth-function":()=>r.canDelete(Z)},{default:i.withCtx(()=>[i.createVNode(Re,{"data-testid":"action-entity-delete","has-divider":"","is-dangerous":"",onClick:le=>Be(Z)},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(i.unref(n)("ca-certificates.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"]),i.createVNode(i.unref(Du),{"action-pending":M.value,"entity-type":i.unref(Js).CACertificate,error:z.value,title:i.unref(n)("ca-certificates.delete.title"),visible:V.value,onCancel:mt,onProceed:Sr},{description:i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"ca-certificates.delete.description",scope:"global"},{"bolded-text":i.withCtx(()=>[i.createElementVNode("b",null,i.toDisplayString(i.unref(n)("ca-certificates.delete.boldedText")),1)]),_:1}),i.createElementVNode("p",null,i.toDisplayString(i.unref(n)("ca-certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),Py="",Xh=kr(Qh,[["__scopeId","data-v-a9e99180"]]),ey={class:"kong-ui-entities-ca-certificates-form"},ty=i.defineComponent({__name:"CACertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(r,{emit:e}){var b;const t=r,n=xr.useRouter(),{i18n:{t:o}}=rt.useI18n(),{getMessageFromError:s}=Mu(),{axiosInstance:c}=Tn({headers:(b=t.config)==null?void 0:b.requestHeaders}),d=i.computed(()=>ni.form[t.config.app].edit),u=i.computed(()=>t.certificateId?qt.Edit:qt.Create),f=i.reactive({fields:{cert:"",certDigest:"",tags:""},isReadonly:!1,errorMessage:""}),h=i.reactive({cert:"",certDigest:"",tags:""}),w=i.computed(()=>(u.value===qt.Create||JSON.stringify(f.fields)!==JSON.stringify(h))&&!!f.fields.cert),T=k=>{var g;f.fields.cert=(k==null?void 0:k.cert)||"",f.fields.certDigest=(k==null?void 0:k.cert_digest)||"",f.fields.tags=((g=k==null?void 0:k.tags)==null?void 0:g.join(", "))||"",Object.assign(h,f.fields)},C=()=>{n.push(t.config.cancelRoute)},p=i.computed(()=>{var g,A;let k=`${t.config.apiBaseUrl}${ni.form[t.config.app].validate}`;return t.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((g=t.config)==null?void 0:g.controlPlaneId)||""):t.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(A=t.config)!=null&&A.workspace?`/${t.config.workspace}`:"")),k=k.replace(/{id}/gi,t.certificateId),k}),m=i.computed(()=>{var g,A;let k=`${t.config.apiBaseUrl}${ni.form[t.config.app][u.value]}`;return t.config.app==="konnect"?k=k.replace(/{controlPlaneId}/gi,((g=t.config)==null?void 0:g.controlPlaneId)||""):t.config.app==="kongManager"&&(k=k.replace(/\/{workspace}/gi,(A=t.config)!=null&&A.workspace?`/${t.config.workspace}`:"")),k=k.replace(/{id}/gi,t.certificateId),k}),y=async()=>{var k,g,A,I,B,_,X;try{f.isReadonly=!0;const W={cert:f.fields.cert,cert_digest:f.fields.certDigest||null,tags:(g=(k=f.fields.tags.split(","))==null?void 0:k.map(M=>String(M||"").trim()))==null?void 0:g.filter(M=>M!=="")};let V;await c.post(p.value,W),u.value==="create"?V=await c.post(m.value,W):u.value==="edit"&&(V=((A=t.config)==null?void 0:A.app)==="konnect"?await c.put(m.value,W):await c.patch(m.value,W)),f.fields.cert=((I=V==null?void 0:V.data)==null?void 0:I.cert)||"",f.fields.certDigest=((B=V==null?void 0:V.data)==null?void 0:B.cert_digest)||"",f.fields.tags=((X=(_=V==null?void 0:V.data)==null?void 0:_.tags)==null?void 0:X.join(", "))||"",Object.assign(h,f.fields),e("update",V==null?void 0:V.data)}catch(W){f.errorMessage=s(W),e("error",W)}finally{f.isReadonly=!1}};return(k,g)=>{const A=i.resolveComponent("KTextArea"),I=i.resolveComponent("KInput");return i.openBlock(),i.createElementBlock("div",ey,[i.createVNode(i.unref(ju),{"can-submit":w.value,config:r.config,"edit-id":r.certificateId,"error-message":f.errorMessage,"fetch-url":d.value,"is-readonly":f.isReadonly,onCancel:C,"onFetch:error":g[3]||(g[3]=B=>k.$emit("error",B)),"onFetch:success":T,onLoading:g[4]||(g[4]=B=>k.$emit("loading",B)),onSubmit:y},{default:i.withCtx(()=>[i.createVNode(i.unref(On),{description:i.unref(o)("ca-certificates.form.sections.cert.description"),title:i.unref(o)("ca-certificates.form.sections.cert.title")},{default:i.withCtx(()=>[i.createVNode(A,{modelValue:f.fields.cert,"onUpdate:modelValue":g[0]||(g[0]=B=>f.fields.cert=B),modelModifiers:{trim:!0},class:"certificate-form-textarea","data-testid":"ca-certificate-form-cert","disable-character-limit":"",label:i.unref(o)("ca-certificates.form.fields.cert.label"),"label-attributes":{info:i.unref(o)("ca-certificates.form.fields.cert.tooltip")},readonly:f.isReadonly,required:""},null,8,["modelValue","label","label-attributes","readonly"]),i.createVNode(I,{modelValue:f.fields.certDigest,"onUpdate:modelValue":g[1]||(g[1]=B=>f.fields.certDigest=B),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-cert-digest",label:i.unref(o)("ca-certificates.form.fields.cert_digest.label"),readonly:f.isReadonly,type:"text"},null,8,["modelValue","label","readonly"])]),_:1},8,["description","title"]),i.createVNode(i.unref(On),{description:i.unref(o)("ca-certificates.form.sections.general.description"),title:i.unref(o)("ca-certificates.form.sections.general.title")},{default:i.withCtx(()=>[i.createVNode(I,{modelValue:f.fields.tags,"onUpdate:modelValue":g[2]||(g[2]=B=>f.fields.tags=B),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-tags",help:i.unref(o)("ca-certificates.form.fields.tags.help"),label:i.unref(o)("ca-certificates.form.fields.tags.label"),"label-attributes":{info:i.unref(o)("ca-certificates.form.fields.tags.tooltip")},placeholder:i.unref(o)("ca-certificates.form.fields.tags.placeholder"),readonly:f.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","error-message","fetch-url","is-readonly"])])}}}),Dy="",ry=kr(ty,[["__scopeId","data-v-a1cf8ed1"]]),iy={class:"kong-ui-certificate-entity-config-card"},ny={key:0},oy=i.defineComponent({__name:"CertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success","copy:success"],setup(r,{emit:e}){const t=r,{i18n:{t:n,formatUnixTimeStamp:o},i18nT:s}=rt.useI18n(),{convertKeyToTitle:c}=Lu(),{getCertificateData:d}=rt.useCertificate(),u=i.computed(()=>ii.form[t.config.app].edit),f=i.ref(),h=i.ref({id:{},cert:{section:ae.Basic},key:{section:ae.Basic,type:re.Redacted},metadata:{section:ae.Basic,type:re.Json},snis:{section:ae.Basic,type:re.BadgeTag,label:n("certificates.list.table_headers.snis")},updated_at:{},created_at:{},tags:{tooltip:n("certificates.form.fields.tags.tooltip")},...t.config.app==="kongManager"&&{expiry:{section:ae.Basic,label:n("certificates.list.table_headers.expiry"),forceShow:!0},issuer:{section:ae.Basic,label:n("certificates.list.table_headers.issuer"),forceShow:!0},san_names:{section:ae.Basic,label:n("certificates.list.table_headers.san"),forceShow:!0},subject:{section:ae.Basic,label:n("certificates.list.table_headers.subject"),forceShow:!0},key_usages:{forceShow:!0}},cert_alt:{section:ae.Advanced},key_alt:{section:ae.Advanced,type:re.Redacted}}),w=B=>{f.value=B,e("fetch:success",B)},T=i.computed(()=>{if(f.value)return d(f.value)}),C=i.computed(()=>{var B,_;return(B=T.value)!=null&&B.schemaExpiry?o((_=T.value)==null?void 0:_.schemaExpiry):""}),p=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaIssuer)||""}),m=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaSanNames)||""}),y=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaSubject)||""}),b=i.computed(()=>{var B;return((B=T.value)==null?void 0:B.schemaKeyUsages)||[]}),k=i.computed(()=>{var B,_;return((_=(B=f==null?void 0:f.value)==null?void 0:B.snis)==null?void 0:_.length)>0}),g=i.computed(()=>{var B;return!!((B=f==null?void 0:f.value)!=null&&B.cert_alt)}),A=B=>{var _,X;return B==="san_names"?n("certificates.list.table_headers.san"):((X=(_=h.value)==null?void 0:_[B])==null?void 0:X.label)||c(B)},I=(B,_)=>B==="expiry"?C.value:B==="key_usages"?b.value:B==="san_names"?m.value:_[B];return(B,_)=>{const X=i.resolveComponent("KCodeBlock"),W=i.resolveComponent("KBadge");return i.openBlock(),i.createElementBlock("div",iy,[i.createVNode(i.unref(Vu),{config:r.config,"config-schema":h.value,"fetch-url":u.value,"hide-title":r.hideTitle,"onCopy:success":_[0]||(_[0]=V=>B.$emit("copy:success",V)),"onFetch:error":_[1]||(_[1]=V=>B.$emit("fetch:error",V)),"onFetch:success":w,onLoading:_[2]||(_[2]=V=>B.$emit("loading",V))},i.createSlots({"cert-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),cert:i.withCtx(({rowValue:V})=>[i.createVNode(X,{id:`certificate-${r.config.entityId}-cert-codeblock`,code:V,"is-single-line":"",language:"plaintext"},null,8,["id","code"])]),"key-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.key.emphasis")),1)]),_:1})]),metadata:i.withCtx(({rowValue:V})=>[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(Object.keys(V),M=>(i.openBlock(),i.createBlock(i.unref(_n),{key:M,item:{key:M,value:I(M,V),label:A(M),type:M==="key_usages"||M==="snis"||M==="dns_names"?i.unref(re).BadgeTag:i.unref(re).Text}},null,8,["item"]))),128))]),expiry:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(C.value||"–"),1)]),issuer:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(p.value||"–"),1)]),san_names:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(m.value||"–"),1)]),subject:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(y.value||"–"),1)]),"cert_alt-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.cert_alt.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.cert_alt.emphasis")),1)]),_:1})]),"key_alt-label-tooltip":i.withCtx(()=>[i.createVNode(i.unref(s),{keypath:"certificates.form.fields.key_alt.tooltip",scope:"global"},{emphasis:i.withCtx(()=>[i.createElementVNode("i",null,i.toDisplayString(i.unref(n)("certificates.form.fields.key_alt.emphasis")),1)]),_:1})]),key_usages:i.withCtx(()=>[b.value.length?i.createCommentVNode("",!0):(i.openBlock(),i.createElementBlock("div",ny,i.toDisplayString("–"))),(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(b.value,(V,M)=>(i.openBlock(),i.createBlock(W,{key:`key_usages-badge-tag-${M}`,class:"config-badge","data-testid":`key_usages-badge-tag-${M}`,"truncation-tooltip":V},{default:i.withCtx(()=>[i.createTextVNode(i.toDisplayString(V),1)]),_:2},1032,["data-testid","truncation-tooltip"]))),128))]),_:2},[k.value?void 0:{name:"snis",fn:i.withCtx(()=>[i.createTextVNode(" – ")]),key:"0"},g.value?{name:"cert_alt",fn:i.withCtx(({rowValue:V})=>[i.createVNode(X,{id:`certificate-${r.config.entityId}-cert-alt-codeblock`,code:V,"is-single-line":"",language:"plaintext"},null,8,["id","code"])]),key:"1"}:void 0]),1032,["config","config-schema","fetch-url","hide-title"])])}}}),$y="",sy=kr(oy,[["__scopeId","data-v-842a59fa"]]);we.CACertificateConfigCard=qh,we.CACertificateForm=ry,we.CACertificateList=Xh,we.CertificateConfigCard=sy,we.CertificateForm=Lh,we.CertificateList=Rh,Object.defineProperty(we,Symbol.toStringTag,{value:"Module"})});
|