@kong-ui-public/forms 4.27.5 → 4.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/forms.umd.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(P,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/i18n"),require("@kong/icons"),require("axios"),require("@kong-ui-public/entities-shared")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/i18n","@kong/icons","axios","@kong-ui-public/entities-shared"],t):(P=typeof globalThis<"u"?globalThis:P||self,t(P["kong-ui-public-forms"]={},P.Vue,P["kong-ui-public-i18n"],P.KongIcons,P.axios,P["kong-ui-public-entities-shared"]))})(this,function(P,t,be,ue,Fa,lt){"use strict";function Qn(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}function Ra(e){return function(n,o,r){for(var a=-1,i=Object(n),s=r(n),d=s.length;d--;){var c=s[++a];if(o(i[c],c,i)===!1)break}return n}}var Da=Ra();function Ua(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var eo=typeof global=="object"&&global&&global.Object===Object&&global,La=typeof self=="object"&&self&&self.Object===Object&&self,Se=eo||La||Function("return this")(),ve=Se.Symbol,to=Object.prototype,Pa=to.hasOwnProperty,va=to.toString,Ct=ve?ve.toStringTag:void 0;function xa(e){var n=Pa.call(e,Ct),o=e[Ct];try{e[Ct]=void 0;var r=!0}catch{}var a=va.call(e);return r&&(n?e[Ct]=o:delete e[Ct]),a}var $a=Object.prototype,ja=$a.toString;function Ka(e){return ja.call(e)}var za="[object Null]",qa="[object Undefined]",no=ve?ve.toStringTag:void 0;function xe(e){return e==null?e===void 0?qa:za:no&&no in Object(e)?xa(e):Ka(e)}function $e(e){return e!=null&&typeof e=="object"}var Ha="[object Arguments]";function oo(e){return $e(e)&&xe(e)==Ha}var io=Object.prototype,Ya=io.hasOwnProperty,Ga=io.propertyIsEnumerable,Wa=oo(function(){return arguments}())?oo:function(e){return $e(e)&&Ya.call(e,"callee")&&!Ga.call(e,"callee")},je=Array.isArray;function Za(){return!1}var ao=typeof P=="object"&&P&&!P.nodeType&&P,ro=ao&&typeof module=="object"&&module&&!module.nodeType&&module,Xa=ro&&ro.exports===ao,lo=Xa?Se.Buffer:void 0,Ja=lo?lo.isBuffer:void 0,so=Ja||Za,Qa=9007199254740991,er=/^(?:0|[1-9]\d*)$/;function co(e,n){var o=typeof e;return n=n??Qa,!!n&&(o=="number"||o!="symbol"&&er.test(e))&&e>-1&&e%1==0&&e<n}var tr=9007199254740991;function mo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=tr}var nr="[object Arguments]",or="[object Array]",ir="[object Boolean]",ar="[object Date]",rr="[object Error]",lr="[object Function]",sr="[object Map]",dr="[object Number]",cr="[object Object]",mr="[object RegExp]",ur="[object Set]",fr="[object String]",hr="[object WeakMap]",pr="[object ArrayBuffer]",gr="[object DataView]",yr="[object Float32Array]",br="[object Float64Array]",_r="[object Int8Array]",Er="[object Int16Array]",Cr="[object Int32Array]",Sr="[object Uint8Array]",Tr="[object Uint8ClampedArray]",kr="[object Uint16Array]",wr="[object Uint32Array]",H={};H[yr]=H[br]=H[_r]=H[Er]=H[Cr]=H[Sr]=H[Tr]=H[kr]=H[wr]=!0,H[nr]=H[or]=H[pr]=H[ir]=H[gr]=H[ar]=H[rr]=H[lr]=H[sr]=H[dr]=H[cr]=H[mr]=H[ur]=H[fr]=H[hr]=!1;function Mr(e){return $e(e)&&mo(e.length)&&!!H[xe(e)]}function ln(e){return function(n){return e(n)}}var uo=typeof P=="object"&&P&&!P.nodeType&&P,St=uo&&typeof module=="object"&&module&&!module.nodeType&&module,Nr=St&&St.exports===uo,sn=Nr&&eo.process,st=function(){try{var e=St&&St.require&&St.require("util").types;return e||sn&&sn.binding&&sn.binding("util")}catch{}}(),fo=st&&st.isTypedArray,Ar=fo?ln(fo):Mr,Ir=Object.prototype,Vr=Ir.hasOwnProperty;function ho(e,n){var o=je(e),r=!o&&Wa(e),a=!o&&!r&&so(e),i=!o&&!r&&!a&&Ar(e),s=o||r||a||i,d=s?Ua(e.length,String):[],c=d.length;for(var m in e)(n||Vr.call(e,m))&&!(s&&(m=="length"||a&&(m=="offset"||m=="parent")||i&&(m=="buffer"||m=="byteLength"||m=="byteOffset")||co(m,c)))&&d.push(m);return d}var Or=Object.prototype;function dn(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||Or;return e===o}function po(e,n){return function(o){return e(n(o))}}var Br=po(Object.keys,Object),Fr=Object.prototype,Rr=Fr.hasOwnProperty;function Dr(e){if(!dn(e))return Br(e);var n=[];for(var o in Object(e))Rr.call(e,o)&&o!="constructor"&&n.push(o);return n}function _e(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var Ur="[object AsyncFunction]",Lr="[object Function]",Pr="[object GeneratorFunction]",vr="[object Proxy]";function z(e){if(!_e(e))return!1;var n=xe(e);return n==Lr||n==Pr||n==Ur||n==vr}function vt(e){return e!=null&&mo(e.length)&&!z(e)}function xt(e){return vt(e)?ho(e):Dr(e)}function xr(e,n){return e&&Da(e,n,xt)}function $r(e,n){return function(o,r){if(o==null)return o;if(!vt(o))return e(o,r);for(var a=o.length,i=-1,s=Object(o);++i<a&&r(s[i],i,s)!==!1;);return o}}var jr=$r(xr);function cn(e){return e}function Kr(e){return typeof e=="function"?e:cn}function fe(e,n){var o=je(e)?Qn:jr;return o(e,Kr(n))}var zr="[object Symbol]";function $t(e){return typeof e=="symbol"||$e(e)&&xe(e)==zr}var qr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hr=/^\w*$/;function Yr(e,n){if(je(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||$t(e)?!0:Hr.test(e)||!qr.test(e)||n!=null&&e in Object(n)}var mn=Se["__core-js_shared__"],go=function(){var e=/[^.]+$/.exec(mn&&mn.keys&&mn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Gr(e){return!!go&&go in e}var Wr=Function.prototype,Zr=Wr.toString;function Xe(e){if(e!=null){try{return Zr.call(e)}catch{}try{return e+""}catch{}}return""}var Xr=/[\\^$.*+?()[\]{}|]/g,Jr=/^\[object .+?Constructor\]$/,Qr=Function.prototype,el=Object.prototype,tl=Qr.toString,nl=el.hasOwnProperty,ol=RegExp("^"+tl.call(nl).replace(Xr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function il(e){if(!_e(e)||Gr(e))return!1;var n=z(e)?ol:Jr;return n.test(Xe(e))}function al(e,n){return e==null?void 0:e[n]}function Je(e,n){var o=al(e,n);return il(o)?o:void 0}var Tt=Je(Object,"create");function rl(){this.__data__=Tt?Tt(null):{},this.size=0}function ll(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var sl="__lodash_hash_undefined__",dl=Object.prototype,cl=dl.hasOwnProperty;function ml(e){var n=this.__data__;if(Tt){var o=n[e];return o===sl?void 0:o}return cl.call(n,e)?n[e]:void 0}var ul=Object.prototype,fl=ul.hasOwnProperty;function hl(e){var n=this.__data__;return Tt?n[e]!==void 0:fl.call(n,e)}var pl="__lodash_hash_undefined__";function gl(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Tt&&n===void 0?pl:n,this}function Qe(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Qe.prototype.clear=rl,Qe.prototype.delete=ll,Qe.prototype.get=ml,Qe.prototype.has=hl,Qe.prototype.set=gl;function yl(){this.__data__=[],this.size=0}function jt(e,n){return e===n||e!==e&&n!==n}function Kt(e,n){for(var o=e.length;o--;)if(jt(e[o][0],n))return o;return-1}var bl=Array.prototype,_l=bl.splice;function El(e){var n=this.__data__,o=Kt(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():_l.call(n,o,1),--this.size,!0}function Cl(e){var n=this.__data__,o=Kt(n,e);return o<0?void 0:n[o][1]}function Sl(e){return Kt(this.__data__,e)>-1}function Tl(e,n){var o=this.__data__,r=Kt(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Re(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}Re.prototype.clear=yl,Re.prototype.delete=El,Re.prototype.get=Cl,Re.prototype.has=Sl,Re.prototype.set=Tl;var kt=Je(Se,"Map");function kl(){this.size=0,this.__data__={hash:new Qe,map:new(kt||Re),string:new Qe}}function wl(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function zt(e,n){var o=e.__data__;return wl(n)?o[typeof n=="string"?"string":"hash"]:o.map}function Ml(e){var n=zt(this,e).delete(e);return this.size-=n?1:0,n}function Nl(e){return zt(this,e).get(e)}function Al(e){return zt(this,e).has(e)}function Il(e,n){var o=zt(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function De(e){var n=-1,o=e==null?0:e.length;for(this.clear();++n<o;){var r=e[n];this.set(r[0],r[1])}}De.prototype.clear=kl,De.prototype.delete=Ml,De.prototype.get=Nl,De.prototype.has=Al,De.prototype.set=Il;var Vl="Expected a function";function un(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Vl);var o=function(){var r=arguments,a=n?n.apply(this,r):r[0],i=o.cache;if(i.has(a))return i.get(a);var s=e.apply(this,r);return o.cache=i.set(a,s)||i,s};return o.cache=new(un.Cache||De),o}un.Cache=De;var Ol=500;function Bl(e){var n=un(e,function(r){return o.size===Ol&&o.clear(),r}),o=n.cache;return n}var Fl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Rl=/\\(\\)?/g,Dl=Bl(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Fl,function(o,r,a,i){n.push(a?i.replace(Rl,"$1"):r||o)}),n});function Ul(e,n){for(var o=-1,r=e==null?0:e.length,a=Array(r);++o<r;)a[o]=n(e[o],o,e);return a}var yo=ve?ve.prototype:void 0,bo=yo?yo.toString:void 0;function _o(e){if(typeof e=="string")return e;if(je(e))return Ul(e,_o)+"";if($t(e))return bo?bo.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Eo(e){return e==null?"":_o(e)}function Ll(e,n){return je(e)?e:Yr(e,n)?[e]:Dl(Eo(e))}function Pl(e){if(typeof e=="string"||$t(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function vl(e,n){n=Ll(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Pl(n[o++])];return o&&o==r?e:void 0}function K(e,n,o){var r=e==null?void 0:vl(e,n);return r===void 0?o:r}function ee(e){return e==null}const Ee="kong-ui-forms-api",qt="kong-ui-forms-config",Co="redis-partial-list-fetcher-key",xl="redis-partial-info",et="autofill",ge="autofillSlot",Me={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"},So="—";/*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */function To(e,n){(n==null||n>e.length)&&(n=e.length);for(var o=0,r=Array(n);o<n;o++)r[o]=e[o];return r}function $l(e){if(Array.isArray(e))return e}function jl(e,n){var o=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(o!=null){var r,a,i,s,d=[],c=!0,m=!1;try{if(i=(o=o.call(e)).next,n!==0)for(;!(c=(r=i.call(o)).done)&&(d.push(r.value),d.length!==n);c=!0);}catch(y){m=!0,a=y}finally{try{if(!c&&o.return!=null&&(s=o.return(),Object(s)!==s))return}finally{if(m)throw a}}return d}}function Kl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zl(e,n){return $l(e)||jl(e,n)||ql(e,n)||Kl()}function ql(e,n){if(e){if(typeof e=="string")return To(e,n);var o={}.toString.call(e).slice(8,-1);return o==="Object"&&e.constructor&&(o=e.constructor.name),o==="Map"||o==="Set"?Array.from(e):o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?To(e,n):void 0}}const ko=Object.entries,wo=Object.setPrototypeOf,Hl=Object.isFrozen,Yl=Object.getPrototypeOf,Gl=Object.getOwnPropertyDescriptor;let se=Object.freeze,de=Object.seal,dt=Object.create,Mo=typeof Reflect<"u"&&Reflect,fn=Mo.apply,hn=Mo.construct;se||(se=function(n){return n}),de||(de=function(n){return n}),fn||(fn=function(n,o){for(var r=arguments.length,a=new Array(r>2?r-2:0),i=2;i<r;i++)a[i-2]=arguments[i];return n.apply(o,a)}),hn||(hn=function(n){for(var o=arguments.length,r=new Array(o>1?o-1:0),a=1;a<o;a++)r[a-1]=arguments[a];return new n(...r)});const wt=ie(Array.prototype.forEach),Wl=ie(Array.prototype.lastIndexOf),No=ie(Array.prototype.pop),ct=ie(Array.prototype.push),Zl=ie(Array.prototype.splice),Ke=Array.isArray,Mt=ie(String.prototype.toLowerCase),pn=ie(String.prototype.toString),Ao=ie(String.prototype.match),Nt=ie(String.prototype.replace),Io=ie(String.prototype.indexOf),Xl=ie(String.prototype.trim),Jl=ie(Number.prototype.toString),Ql=ie(Boolean.prototype.toString),Vo=typeof BigInt>"u"?null:ie(BigInt.prototype.toString),Oo=typeof Symbol>"u"?null:ie(Symbol.prototype.toString),re=ie(Object.prototype.hasOwnProperty),At=ie(Object.prototype.toString),ce=ie(RegExp.prototype.test),tt=es(TypeError);function ie(e){return function(n){n instanceof RegExp&&(n.lastIndex=0);for(var o=arguments.length,r=new Array(o>1?o-1:0),a=1;a<o;a++)r[a-1]=arguments[a];return fn(e,n,r)}}function es(e){return function(){for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return hn(e,o)}}function v(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Mt;if(wo&&wo(e,null),!Ke(n))return e;let r=n.length;for(;r--;){let a=n[r];if(typeof a=="string"){const i=o(a);i!==a&&(Hl(n)||(n[r]=i),a=i)}e[a]=!0}return e}function ts(e){for(let n=0;n<e.length;n++)re(e,n)||(e[n]=null);return e}function he(e){const n=dt(null);for(const r of ko(e)){var o=zl(r,2);const a=o[0],i=o[1];re(e,a)&&(Ke(i)?n[a]=ts(i):i&&typeof i=="object"&&i.constructor===Object?n[a]=he(i):n[a]=i)}return n}function ns(e){switch(typeof e){case"string":return e;case"number":return Jl(e);case"boolean":return Ql(e);case"bigint":return Vo?Vo(e):"0";case"symbol":return Oo?Oo(e):"Symbol()";case"undefined":return At(e);case"function":case"object":{if(e===null)return At(e);const n=e,o=Ve(n,"toString");if(typeof o=="function"){const r=o(n);return typeof r=="string"?r:At(r)}return At(e)}default:return At(e)}}function Ve(e,n){for(;e!==null;){const r=Gl(e,n);if(r){if(r.get)return ie(r.get);if(typeof r.value=="function")return ie(r.value)}e=Yl(e)}function o(){return null}return o}function os(e){try{return ce(e,""),!0}catch{return!1}}const Bo=se(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),gn=se(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),yn=se(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),is=se(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),bn=se(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),as=se(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Fo=se(["#text"]),Ro=se(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),_n=se(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Do=se(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ht=se(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),rs=de(/{{[\w\W]*|^[\w\W]*}}/g),ls=de(/<%[\w\W]*|^[\w\W]*%>/g),ss=de(/\${[\w\W]*/g),ds=de(/^data-[\-\w.\u00B7-\uFFFF]+$/),cs=de(/^aria-[\-\w]+$/),Uo=de(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ms=de(/^(?:\w+script|data):/i),us=de(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),fs=de(/^html$/i),hs=de(/^[a-z][.\w]*(-[.\w]+)+$/i),Lo=de(/<[/\w!]/g),ps=de(/<[/\w]/g),gs=de(/<\/no(script|embed|frames)/i),ys=de(/\/>/i),Oe={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},bs=function(){return typeof window>"u"?null:window},_s=function(n,o){if(typeof n!="object"||typeof n.createPolicy!="function")return null;let r=null;const a="data-tt-policy-suffix";o&&o.hasAttribute(a)&&(r=o.getAttribute(a));const i="dompurify"+(r?"#"+r:"");try{return n.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Po=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ze=function(n,o,r,a){return re(n,o)&&Ke(n[o])?v(a.base?he(a.base):{},n[o],a.transform):r};function vo(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:bs();const n=I=>vo(I);if(n.version="3.4.11",n.removed=[],!e||!e.document||e.document.nodeType!==Oe.document||!e.Element)return n.isSupported=!1,n;let o=e.document;const r=o,a=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,s=e.Node,d=e.Element,c=e.NodeFilter,m=e.NamedNodeMap;m===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const y=e.DOMParser,u=e.trustedTypes,p=d.prototype,_=Ve(p,"cloneNode"),M=Ve(p,"remove"),g=Ve(p,"nextSibling"),k=Ve(p,"childNodes"),O=Ve(p,"parentNode"),U=Ve(p,"shadowRoot"),w=Ve(p,"attributes"),C=s&&s.prototype?Ve(s.prototype,"nodeType"):null,N=s&&s.prototype?Ve(s.prototype,"nodeName"):null;if(typeof i=="function"){const I=o.createElement("template");I.content&&I.content.ownerDocument&&(o=I.content.ownerDocument)}let S,E="",V,B=!1,h=0;const b=function(){if(h>0)throw tt('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},T=function(l){b(),h++;try{return S.createHTML(l)}finally{h--}},F=function(l){b(),h++;try{return S.createScriptURL(l)}finally{h--}},j=function(){return B||(V=_s(u,a),B=!0),V},ne=o,Ae=ne.implementation,oe=ne.createNodeIterator,Ye=ne.createDocumentFragment,Rn=ne.getElementsByTagName,Dn=r.importNode;let D=Po();n.isSupported=typeof ko=="function"&&typeof O=="function"&&Ae&&Ae.createHTMLDocument!==void 0;const W=rs,Rt=ls,ep=ss,tp=ds,np=cs,op=ms,la=us,ip=hs;let sa=Uo,Z=null;const da=v({},[...Bo,...gn,...yn,...bn,...Fo]);let X=null;const ca=v({},[...Ro,..._n,...Do,...Ht]);let J=Object.seal(dt(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Dt=null,ma=null;const Ge=Object.seal(dt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ua=!0,Un=!0,fa=!1,ha=!0,We=!1,Ut=!0,at=!1,Ln=!1,Pn=null,vn=null,xn=!1,gt=!1,Qt=!1,en=!1,pa=!0,ga=!1;const ya="user-content-";let $n=!0,jn=!1,yt={},Be=null;const Kn=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let ba=null;const _a=v({},["audio","video","img","source","image","track"]);let zn=null;const Ea=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tn="http://www.w3.org/1998/Math/MathML",nn="http://www.w3.org/2000/svg",Fe="http://www.w3.org/1999/xhtml";let bt=Fe,qn=!1,Hn=null;const ap=v({},[tn,nn,Fe],pn),Ca=se(["mi","mo","mn","ms","mtext"]);let Yn=v({},Ca);const Sa=se(["annotation-xml"]);let Gn=v({},Sa);const rp=v({},["title","style","font","a","script"]);let Lt=null;const lp=["application/xhtml+xml","text/html"],sp="text/html";let Q=null,_t=null;const dp=o.createElement("form"),Ta=function(l){return l instanceof RegExp||l instanceof Function},Wn=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(_t&&_t===l)return;(!l||typeof l!="object")&&(l={}),l=he(l),Lt=lp.indexOf(l.PARSER_MEDIA_TYPE)===-1?sp:l.PARSER_MEDIA_TYPE,Q=Lt==="application/xhtml+xml"?pn:Mt,Z=ze(l,"ALLOWED_TAGS",da,{transform:Q}),X=ze(l,"ALLOWED_ATTR",ca,{transform:Q}),Hn=ze(l,"ALLOWED_NAMESPACES",ap,{transform:pn}),zn=ze(l,"ADD_URI_SAFE_ATTR",Ea,{transform:Q,base:Ea}),ba=ze(l,"ADD_DATA_URI_TAGS",_a,{transform:Q,base:_a}),Be=ze(l,"FORBID_CONTENTS",Kn,{transform:Q}),Dt=ze(l,"FORBID_TAGS",he({}),{transform:Q}),ma=ze(l,"FORBID_ATTR",he({}),{transform:Q}),yt=re(l,"USE_PROFILES")?l.USE_PROFILES&&typeof l.USE_PROFILES=="object"?he(l.USE_PROFILES):l.USE_PROFILES:!1,ua=l.ALLOW_ARIA_ATTR!==!1,Un=l.ALLOW_DATA_ATTR!==!1,fa=l.ALLOW_UNKNOWN_PROTOCOLS||!1,ha=l.ALLOW_SELF_CLOSE_IN_ATTR!==!1,We=l.SAFE_FOR_TEMPLATES||!1,Ut=l.SAFE_FOR_XML!==!1,at=l.WHOLE_DOCUMENT||!1,gt=l.RETURN_DOM||!1,Qt=l.RETURN_DOM_FRAGMENT||!1,en=l.RETURN_TRUSTED_TYPE||!1,xn=l.FORCE_BODY||!1,pa=l.SANITIZE_DOM!==!1,ga=l.SANITIZE_NAMED_PROPS||!1,$n=l.KEEP_CONTENT!==!1,jn=l.IN_PLACE||!1,sa=os(l.ALLOWED_URI_REGEXP)?l.ALLOWED_URI_REGEXP:Uo,bt=typeof l.NAMESPACE=="string"?l.NAMESPACE:Fe,Yn=re(l,"MATHML_TEXT_INTEGRATION_POINTS")&&l.MATHML_TEXT_INTEGRATION_POINTS&&typeof l.MATHML_TEXT_INTEGRATION_POINTS=="object"?he(l.MATHML_TEXT_INTEGRATION_POINTS):v({},Ca),Gn=re(l,"HTML_INTEGRATION_POINTS")&&l.HTML_INTEGRATION_POINTS&&typeof l.HTML_INTEGRATION_POINTS=="object"?he(l.HTML_INTEGRATION_POINTS):v({},Sa);const f=re(l,"CUSTOM_ELEMENT_HANDLING")&&l.CUSTOM_ELEMENT_HANDLING&&typeof l.CUSTOM_ELEMENT_HANDLING=="object"?he(l.CUSTOM_ELEMENT_HANDLING):dt(null);if(J=dt(null),re(f,"tagNameCheck")&&Ta(f.tagNameCheck)&&(J.tagNameCheck=f.tagNameCheck),re(f,"attributeNameCheck")&&Ta(f.attributeNameCheck)&&(J.attributeNameCheck=f.attributeNameCheck),re(f,"allowCustomizedBuiltInElements")&&typeof f.allowCustomizedBuiltInElements=="boolean"&&(J.allowCustomizedBuiltInElements=f.allowCustomizedBuiltInElements),de(J),We&&(Un=!1),Qt&&(gt=!0),yt&&(Z=v({},Fo),X=dt(null),yt.html===!0&&(v(Z,Bo),v(X,Ro)),yt.svg===!0&&(v(Z,gn),v(X,_n),v(X,Ht)),yt.svgFilters===!0&&(v(Z,yn),v(X,_n),v(X,Ht)),yt.mathMl===!0&&(v(Z,bn),v(X,Do),v(X,Ht))),Ge.tagCheck=null,Ge.attributeCheck=null,re(l,"ADD_TAGS")&&(typeof l.ADD_TAGS=="function"?Ge.tagCheck=l.ADD_TAGS:Ke(l.ADD_TAGS)&&(Z===da&&(Z=he(Z)),v(Z,l.ADD_TAGS,Q))),re(l,"ADD_ATTR")&&(typeof l.ADD_ATTR=="function"?Ge.attributeCheck=l.ADD_ATTR:Ke(l.ADD_ATTR)&&(X===ca&&(X=he(X)),v(X,l.ADD_ATTR,Q))),re(l,"ADD_URI_SAFE_ATTR")&&Ke(l.ADD_URI_SAFE_ATTR)&&v(zn,l.ADD_URI_SAFE_ATTR,Q),re(l,"FORBID_CONTENTS")&&Ke(l.FORBID_CONTENTS)&&(Be===Kn&&(Be=he(Be)),v(Be,l.FORBID_CONTENTS,Q)),re(l,"ADD_FORBID_CONTENTS")&&Ke(l.ADD_FORBID_CONTENTS)&&(Be===Kn&&(Be=he(Be)),v(Be,l.ADD_FORBID_CONTENTS,Q)),$n&&(Z["#text"]=!0),at&&v(Z,["html","head","body"]),Z.table&&(v(Z,["tbody"]),delete Dt.tbody),l.TRUSTED_TYPES_POLICY){if(typeof l.TRUSTED_TYPES_POLICY.createHTML!="function")throw tt('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof l.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw tt('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const A=S;S=l.TRUSTED_TYPES_POLICY;try{E=T("")}catch(R){throw S=A,R}}else l.TRUSTED_TYPES_POLICY===null?(S=void 0,E=""):(S===void 0&&(S=j()),S&&typeof E=="string"&&(E=T("")));se&&se(l),_t=l},ka=v({},[...gn,...yn,...is]),wa=v({},[...bn,...as]),cp=function(l,f,A){return f.namespaceURI===Fe?l==="svg":f.namespaceURI===tn?l==="svg"&&(A==="annotation-xml"||Yn[A]):!!ka[l]},mp=function(l,f,A){return f.namespaceURI===Fe?l==="math":f.namespaceURI===nn?l==="math"&&Gn[A]:!!wa[l]},up=function(l,f,A){return f.namespaceURI===nn&&!Gn[A]||f.namespaceURI===tn&&!Yn[A]?!1:!wa[l]&&(rp[l]||!ka[l])},fp=function(l){let f=O(l);(!f||!f.tagName)&&(f={namespaceURI:bt,tagName:"template"});const A=Mt(l.tagName),R=Mt(f.tagName);return Hn[l.namespaceURI]?l.namespaceURI===nn?cp(A,f,R):l.namespaceURI===tn?mp(A,f,R):l.namespaceURI===Fe?up(A,f,R):!!(Lt==="application/xhtml+xml"&&Hn[l.namespaceURI]):!1},Ze=function(l){ct(n.removed,{element:l});try{O(l).removeChild(l)}catch{if(M(l),!O(l))throw tt("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ma=function(l){const f=k(l);if(f){const R=[];wt(f,L=>{ct(R,L)}),wt(R,L=>{try{M(L)}catch{}})}const A=w(l);if(A)for(let R=A.length-1;R>=0;--R){const L=A[R],x=L&&L.name;if(typeof x=="string")try{l.removeAttribute(x)}catch{}}},rt=function(l,f){try{ct(n.removed,{attribute:f.getAttributeNode(l),from:f})}catch{ct(n.removed,{attribute:null,from:f})}if(f.removeAttribute(l),l==="is")if(gt||Qt)try{Ze(f)}catch{}else try{f.setAttribute(l,"")}catch{}},hp=function(l){const f=w(l);if(f)for(let A=f.length-1;A>=0;--A){const R=f[A],L=R&&R.name;if(!(typeof L!="string"||X[Q(L)]))try{l.removeAttribute(L)}catch{}}},pp=function(l){const f=[l];for(;f.length>0;){const A=f.pop();(C?C(A):A.nodeType)===Oe.element&&hp(A);const L=k(A);if(L)for(let x=L.length-1;x>=0;--x)f.push(L[x])}},Na=function(l){let f=null,A=null;if(xn)l="<remove></remove>"+l;else{const x=Ao(l,/^[\r\n\t ]+/);A=x&&x[0]}Lt==="application/xhtml+xml"&&bt===Fe&&(l='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+l+"</body></html>");const R=S?T(l):l;if(bt===Fe)try{f=new y().parseFromString(R,Lt)}catch{}if(!f||!f.documentElement){f=Ae.createDocument(bt,"template",null);try{f.documentElement.innerHTML=qn?E:R}catch{}}const L=f.body||f.documentElement;return l&&A&&L.insertBefore(o.createTextNode(A),L.childNodes[0]||null),bt===Fe?Rn.call(f,at?"html":"body")[0]:at?f.documentElement:L},Aa=function(l){return oe.call(l.ownerDocument||l,l,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},on=function(l){return l=Nt(l,W," "),l=Nt(l,Rt," "),l=Nt(l,ep," "),l},Zn=function(l){var f;l.normalize();const A=oe.call(l.ownerDocument||l,l,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let R=A.nextNode();for(;R;)R.data=on(R.data),R=A.nextNode();const L=(f=l.querySelectorAll)===null||f===void 0?void 0:f.call(l,"template");L&&wt(L,x=>{Et(x.content)&&Zn(x.content)})},an=function(l){const f=N?N(l):null;return typeof f!="string"||Q(f)!=="form"?!1:typeof l.nodeName!="string"||typeof l.textContent!="string"||typeof l.removeChild!="function"||l.attributes!==w(l)||typeof l.removeAttribute!="function"||typeof l.setAttribute!="function"||typeof l.namespaceURI!="string"||typeof l.insertBefore!="function"||typeof l.hasChildNodes!="function"||l.nodeType!==C(l)||l.childNodes!==k(l)},Et=function(l){if(!C||typeof l!="object"||l===null)return!1;try{return C(l)===Oe.documentFragment}catch{return!1}},Pt=function(l){if(!C||typeof l!="object"||l===null)return!1;try{return typeof C(l)=="number"}catch{return!1}};function Pe(I,l,f){I.length!==0&&wt(I,A=>{A.call(n,l,f,_t)})}const gp=function(l,f){return!!(Ut&&l.hasChildNodes()&&!Pt(l.firstElementChild)&&ce(Lo,l.textContent)&&ce(Lo,l.innerHTML)||Ut&&l.namespaceURI===Fe&&f==="style"&&Pt(l.firstElementChild)||l.nodeType===Oe.processingInstruction||Ut&&l.nodeType===Oe.comment&&ce(ps,l.data))},yp=function(l,f){if(!Dt[f]&&Oa(f)&&(J.tagNameCheck instanceof RegExp&&ce(J.tagNameCheck,f)||J.tagNameCheck instanceof Function&&J.tagNameCheck(f)))return!1;if($n&&!Be[f]){const A=O(l),R=k(l);if(R&&A){const L=R.length;for(let x=L-1;x>=0;--x){const le=jn?R[x]:_(R[x],!0);A.insertBefore(le,g(l))}}}return Ze(l),!0},Ia=function(l){if(Pe(D.beforeSanitizeElements,l,null),an(l))return Ze(l),!0;const f=Q(N?N(l):l.nodeName);if(Pe(D.uponSanitizeElement,l,{tagName:f,allowedTags:Z}),gp(l,f))return Ze(l),!0;if(Dt[f]||!(Ge.tagCheck instanceof Function&&Ge.tagCheck(f))&&!Z[f])return yp(l,f);if((C?C(l):l.nodeType)===Oe.element&&!fp(l)||(f==="noscript"||f==="noembed"||f==="noframes")&&ce(gs,l.innerHTML))return Ze(l),!0;if(We&&l.nodeType===Oe.text){const R=on(l.textContent);l.textContent!==R&&(ct(n.removed,{element:l.cloneNode()}),l.textContent=R)}return Pe(D.afterSanitizeElements,l,null),!1},Va=function(l,f,A){if(ma[f]||pa&&(f==="id"||f==="name")&&(A in o||A in dp))return!1;const R=X[f]||Ge.attributeCheck instanceof Function&&Ge.attributeCheck(f,l);if(!(Un&&ce(tp,f))){if(!(ua&&ce(np,f))){if(R){if(!zn[f]){if(!ce(sa,Nt(A,la,""))){if(!((f==="src"||f==="xlink:href"||f==="href")&&l!=="script"&&Io(A,"data:")===0&&ba[l])){if(!(fa&&!ce(op,Nt(A,la,"")))){if(A)return!1}}}}}else if(!(Oa(l)&&(J.tagNameCheck instanceof RegExp&&ce(J.tagNameCheck,l)||J.tagNameCheck instanceof Function&&J.tagNameCheck(l))&&(J.attributeNameCheck instanceof RegExp&&ce(J.attributeNameCheck,f)||J.attributeNameCheck instanceof Function&&J.attributeNameCheck(f,l))||f==="is"&&J.allowCustomizedBuiltInElements&&(J.tagNameCheck instanceof RegExp&&ce(J.tagNameCheck,A)||J.tagNameCheck instanceof Function&&J.tagNameCheck(A))))return!1}}return!0},bp=v({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Oa=function(l){return!bp[Mt(l)]&&ce(ip,l)},_p=function(l,f,A,R){if(S&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!A)switch(u.getAttributeType(l,f)){case"TrustedHTML":return T(R);case"TrustedScriptURL":return F(R)}return R},Ep=function(l,f,A,R){try{A?l.setAttributeNS(A,f,R):l.setAttribute(f,R),an(l)?Ze(l):No(n.removed)}catch{rt(f,l)}},Ba=function(l){Pe(D.beforeSanitizeAttributes,l,null);const f=l.attributes;if(!f||an(l))return;const A={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:X,forceKeepAttr:void 0};let R=f.length;const L=Q(l.nodeName);for(;R--;){const x=f[R],le=x.name,ae=x.namespaceURI,we=x.value,Ie=Q(le),Jn=we;let pe=le==="value"?Jn:Xl(Jn);if(A.attrName=Ie,A.attrValue=pe,A.keepAttr=!0,A.forceKeepAttr=void 0,Pe(D.uponSanitizeAttribute,l,A),pe=A.attrValue,ga&&(Ie==="id"||Ie==="name")&&Io(pe,ya)!==0&&(rt(le,l),pe=ya+pe),Ut&&ce(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,pe)){rt(le,l);continue}if(Ie==="attributename"&&Ao(pe,"href")){rt(le,l);continue}if(!A.forceKeepAttr){if(!A.keepAttr){rt(le,l);continue}if(!ha&&ce(ys,pe)){rt(le,l);continue}if(We&&(pe=on(pe)),!Va(L,Ie,pe)){rt(le,l);continue}pe=_p(L,Ie,ae,pe),pe!==Jn&&Ep(l,le,ae,pe)}}Pe(D.afterSanitizeAttributes,l,null)},rn=function(l){let f=null;const A=Aa(l);for(Pe(D.beforeSanitizeShadowDOM,l,null);f=A.nextNode();)if(Pe(D.uponSanitizeShadowNode,f,null),Ia(f),Ba(f),Et(f.content)&&rn(f.content),(C?C(f):f.nodeType)===Oe.element){const L=U(f);Et(L)&&(Xn(L),rn(L))}Pe(D.afterSanitizeShadowDOM,l,null)},Xn=function(l){const f=[{node:l,shadow:null}];for(;f.length>0;){const A=f.pop();if(A.shadow){rn(A.shadow);continue}const R=A.node,x=(C?C(R):R.nodeType)===Oe.element,le=k(R);if(le)for(let ae=le.length-1;ae>=0;--ae)f.push({node:le[ae],shadow:null});if(x){const ae=N?N(R):null;if(typeof ae=="string"&&Q(ae)==="template"){const we=R.content;Et(we)&&f.push({node:we,shadow:null})}}if(x){const ae=U(R);Et(ae)&&f.push({node:null,shadow:ae},{node:ae,shadow:null})}}};return n.sanitize=function(I){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=null,A=null,R=null,L=null;if(qn=!I,qn&&(I="<!-->"),typeof I!="string"&&!Pt(I)&&(I=ns(I),typeof I!="string"))throw tt("dirty is not a string, aborting");if(!n.isSupported)return I;Ln?(Z=Pn,X=vn):Wn(l),(D.uponSanitizeElement.length>0||D.uponSanitizeAttribute.length>0)&&(Z=he(Z)),D.uponSanitizeAttribute.length>0&&(X=he(X)),n.removed=[];const x=jn&&typeof I!="string"&&Pt(I);if(x){const we=N?N(I):I.nodeName;if(typeof we=="string"){const Ie=Q(we);if(!Z[Ie]||Dt[Ie])throw tt("root node is forbidden and cannot be sanitized in-place")}if(an(I))throw tt("root node is clobbered and cannot be sanitized in-place");try{Xn(I)}catch(Ie){throw Ma(I),Ie}}else if(Pt(I))f=Na("<!---->"),A=f.ownerDocument.importNode(I,!0),A.nodeType===Oe.element&&A.nodeName==="BODY"||A.nodeName==="HTML"?f=A:f.appendChild(A),Xn(A);else{if(!gt&&!We&&!at&&I.indexOf("<")===-1)return S&&en?T(I):I;if(f=Na(I),!f)return gt?null:en?E:""}f&&xn&&Ze(f.firstChild);const le=Aa(x?I:f);try{for(;R=le.nextNode();)Ia(R),Ba(R),Et(R.content)&&rn(R.content)}catch(we){throw x&&Ma(I),we}if(x)return wt(n.removed,we=>{we.element&&pp(we.element)}),We&&Zn(I),I;if(gt){if(We&&Zn(f),Qt)for(L=Ye.call(f.ownerDocument);f.firstChild;)L.appendChild(f.firstChild);else L=f;return(X.shadowroot||X.shadowrootmode)&&(L=Dn.call(r,L,!0)),L}let ae=at?f.outerHTML:f.innerHTML;return at&&Z["!doctype"]&&f.ownerDocument&&f.ownerDocument.doctype&&f.ownerDocument.doctype.name&&ce(fs,f.ownerDocument.doctype.name)&&(ae="<!DOCTYPE "+f.ownerDocument.doctype.name+`>
3
- `+ae),We&&(ae=on(ae)),S&&en?T(ae):ae},n.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Wn(I),Ln=!0,Pn=Z,vn=X},n.clearConfig=function(){_t=null,Ln=!1,Pn=null,vn=null,S=V,E=""},n.isValidAttribute=function(I,l,f){_t||Wn({});const A=Q(I),R=Q(l);return Va(A,R,f)},n.addHook=function(I,l){typeof l=="function"&&re(D,I)&&ct(D[I],l)},n.removeHook=function(I,l){if(re(D,I)){if(l!==void 0){const f=Wl(D[I],l);return f===-1?void 0:Zl(D[I],f,1)[0]}return No(D[I])}},n.removeHooks=function(I){re(D,I)&&(D[I]=[])},n.removeAllHooks=function(){D=Po()},n}var xo=vo();function Es(){this.__data__=new Re,this.size=0}function Cs(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function Ss(e){return this.__data__.get(e)}function Ts(e){return this.__data__.has(e)}var ks=200;function ws(e,n){var o=this.__data__;if(o instanceof Re){var r=o.__data__;if(!kt||r.length<ks-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new De(r)}return o.set(e,n),this.size=o.size,this}function mt(e){var n=this.__data__=new Re(e);this.size=n.size}mt.prototype.clear=Es,mt.prototype.delete=Cs,mt.prototype.get=Ss,mt.prototype.has=Ts,mt.prototype.set=ws;var Yt=function(){try{var e=Je(Object,"defineProperty");return e({},"",{}),e}catch{}}();function $o(e,n,o){n=="__proto__"&&Yt?Yt(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}var Ms=Object.prototype,Ns=Ms.hasOwnProperty;function jo(e,n,o){var r=e[n];(!(Ns.call(e,n)&&jt(r,o))||o===void 0&&!(n in e))&&$o(e,n,o)}function Gt(e,n,o,r){var a=!o;o||(o={});for(var i=-1,s=n.length;++i<s;){var d=n[i],c=void 0;c===void 0&&(c=e[d]),a?$o(o,d,c):jo(o,d,c)}return o}function As(e,n){return e&&Gt(n,xt(n),e)}function Is(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Vs=Object.prototype,Os=Vs.hasOwnProperty;function Bs(e){if(!_e(e))return Is(e);var n=dn(e),o=[];for(var r in e)r=="constructor"&&(n||!Os.call(e,r))||o.push(r);return o}function Wt(e){return vt(e)?ho(e,!0):Bs(e)}function Fs(e,n){return e&&Gt(n,Wt(n),e)}var Ko=typeof P=="object"&&P&&!P.nodeType&&P,zo=Ko&&typeof module=="object"&&module&&!module.nodeType&&module,Rs=zo&&zo.exports===Ko,qo=Rs?Se.Buffer:void 0,Ho=qo?qo.allocUnsafe:void 0;function Ds(e,n){if(n)return e.slice();var o=e.length,r=Ho?Ho(o):new e.constructor(o);return e.copy(r),r}function Us(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}function Ls(e,n){for(var o=-1,r=e==null?0:e.length,a=0,i=[];++o<r;){var s=e[o];n(s,o,e)&&(i[a++]=s)}return i}function Yo(){return[]}var Ps=Object.prototype,vs=Ps.propertyIsEnumerable,Go=Object.getOwnPropertySymbols,En=Go?function(e){return e==null?[]:(e=Object(e),Ls(Go(e),function(n){return vs.call(e,n)}))}:Yo;function xs(e,n){return Gt(e,En(e),n)}function Wo(e,n){for(var o=-1,r=n.length,a=e.length;++o<r;)e[a+o]=n[o];return e}var Zo=po(Object.getPrototypeOf,Object),$s=Object.getOwnPropertySymbols,Xo=$s?function(e){for(var n=[];e;)Wo(n,En(e)),e=Zo(e);return n}:Yo;function js(e,n){return Gt(e,Xo(e),n)}function Jo(e,n,o){var r=n(e);return je(e)?r:Wo(r,o(e))}function Ks(e){return Jo(e,xt,En)}function zs(e){return Jo(e,Wt,Xo)}var Cn=Je(Se,"DataView"),Sn=Je(Se,"Promise"),ut=Je(Se,"Set"),Tn=Je(Se,"WeakMap"),Qo="[object Map]",qs="[object Object]",ei="[object Promise]",ti="[object Set]",ni="[object WeakMap]",oi="[object DataView]",Hs=Xe(Cn),Ys=Xe(kt),Gs=Xe(Sn),Ws=Xe(ut),Zs=Xe(Tn),Ue=xe;(Cn&&Ue(new Cn(new ArrayBuffer(1)))!=oi||kt&&Ue(new kt)!=Qo||Sn&&Ue(Sn.resolve())!=ei||ut&&Ue(new ut)!=ti||Tn&&Ue(new Tn)!=ni)&&(Ue=function(e){var n=xe(e),o=n==qs?e.constructor:void 0,r=o?Xe(o):"";if(r)switch(r){case Hs:return oi;case Ys:return Qo;case Gs:return ei;case Ws:return ti;case Zs:return ni}return n});var Xs=Object.prototype,Js=Xs.hasOwnProperty;function Qs(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&Js.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var ii=Se.Uint8Array;function kn(e){var n=new e.constructor(e.byteLength);return new ii(n).set(new ii(e)),n}function ed(e,n){var o=n?kn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var td=/\w*$/;function nd(e){var n=new e.constructor(e.source,td.exec(e));return n.lastIndex=e.lastIndex,n}var ai=ve?ve.prototype:void 0,ri=ai?ai.valueOf:void 0;function od(e){return ri?Object(ri.call(e)):{}}function id(e,n){var o=n?kn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var ad="[object Boolean]",rd="[object Date]",ld="[object Map]",sd="[object Number]",dd="[object RegExp]",cd="[object Set]",md="[object String]",ud="[object Symbol]",fd="[object ArrayBuffer]",hd="[object DataView]",pd="[object Float32Array]",gd="[object Float64Array]",yd="[object Int8Array]",bd="[object Int16Array]",_d="[object Int32Array]",Ed="[object Uint8Array]",Cd="[object Uint8ClampedArray]",Sd="[object Uint16Array]",Td="[object Uint32Array]";function kd(e,n,o){var r=e.constructor;switch(n){case fd:return kn(e);case ad:case rd:return new r(+e);case hd:return ed(e,o);case pd:case gd:case yd:case bd:case _d:case Ed:case Cd:case Sd:case Td:return id(e,o);case ld:return new r;case sd:case md:return new r(e);case dd:return nd(e);case cd:return new r;case ud:return od(e)}}var li=Object.create,wd=function(){function e(){}return function(n){if(!_e(n))return{};if(li)return li(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Md(e){return typeof e.constructor=="function"&&!dn(e)?wd(Zo(e)):{}}var Nd="[object Map]";function Ad(e){return $e(e)&&Ue(e)==Nd}var si=st&&st.isMap,Id=si?ln(si):Ad,Vd="[object Set]";function Od(e){return $e(e)&&Ue(e)==Vd}var di=st&&st.isSet,Bd=di?ln(di):Od,Fd=1,Rd=2,Dd=4,ci="[object Arguments]",Ud="[object Array]",Ld="[object Boolean]",Pd="[object Date]",vd="[object Error]",mi="[object Function]",xd="[object GeneratorFunction]",$d="[object Map]",jd="[object Number]",ui="[object Object]",Kd="[object RegExp]",zd="[object Set]",qd="[object String]",Hd="[object Symbol]",Yd="[object WeakMap]",Gd="[object ArrayBuffer]",Wd="[object DataView]",Zd="[object Float32Array]",Xd="[object Float64Array]",Jd="[object Int8Array]",Qd="[object Int16Array]",ec="[object Int32Array]",tc="[object Uint8Array]",nc="[object Uint8ClampedArray]",oc="[object Uint16Array]",ic="[object Uint32Array]",q={};q[ci]=q[Ud]=q[Gd]=q[Wd]=q[Ld]=q[Pd]=q[Zd]=q[Xd]=q[Jd]=q[Qd]=q[ec]=q[$d]=q[jd]=q[ui]=q[Kd]=q[zd]=q[qd]=q[Hd]=q[tc]=q[nc]=q[oc]=q[ic]=!0,q[vd]=q[mi]=q[Yd]=!1;function It(e,n,o,r,a,i){var s,d=n&Fd,c=n&Rd,m=n&Dd;if(s!==void 0)return s;if(!_e(e))return e;var y=je(e);if(y){if(s=Qs(e),!d)return Us(e,s)}else{var u=Ue(e),p=u==mi||u==xd;if(so(e))return Ds(e,d);if(u==ui||u==ci||p&&!a){if(s=c||p?{}:Md(e),!d)return c?js(e,Fs(s,e)):xs(e,As(s,e))}else{if(!q[u])return a?e:{};s=kd(e,u,d)}}i||(i=new mt);var _=i.get(e);if(_)return _;i.set(e,s),Bd(e)?e.forEach(function(k){s.add(It(k,n,o,k,e,i))}):Id(e)&&e.forEach(function(k,O){s.set(O,It(k,n,o,O,e,i))});var M=m?c?zs:Ks:c?Wt:xt,g=y?void 0:M(e);return Qn(g||e,function(k,O){g&&(O=k,k=e[O]),jo(s,O,It(k,n,o,O,e,i))}),s}var ac=1,rc=4;function Le(e){return It(e,ac|rc)}const wn=(e,n="")=>typeof e.id<"u"?n+e.id+"":n+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,""),fi=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var lc="[object String]";function nt(e){return typeof e=="string"||!je(e)&&$e(e)&&xe(e)==lc}const hi={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,o={[K(this.options,"validationErrorClass","error")]:n,[K(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?fe(e.styleClasses,r=>o[r]=!0):nt(e.styleClasses)&&(o[e.styleClasses]=!0),ee(e.type)||(o["field-"+e.type]=!0),o},fieldErrors(e){return this.errors.filter(o=>o.field.fieldName===e.fieldName).map(o=>o.error)},fieldDisabled(e){return z(e.disabled)?e.disabled.call(this,this.model,e,this):ee(e.disabled)?!1:e.disabled},fieldReadonly(e){return z(e.readonly)?e.readonly.call(this,this.model,e,this):ee(e.readonly)?!1:e.readonly},fieldFeatured(e){return z(e.featured)?e.featured.call(this,this.model,e,this):ee(e.featured)?!1:e.featured},fieldRequired(e){return z(e.required)?e.required.call(this,this.model,e,this):ee(e.required)?!1:e.required}}};var Mn=function(){return Se.Date.now()},sc=/\s/;function dc(e){for(var n=e.length;n--&&sc.test(e.charAt(n)););return n}var cc=/^\s+/;function mc(e){return e&&e.slice(0,dc(e)+1).replace(cc,"")}var pi=NaN,uc=/^[-+]0x[0-9a-f]+$/i,fc=/^0b[01]+$/i,hc=/^0o[0-7]+$/i,pc=parseInt;function Nn(e){if(typeof e=="number")return e;if($t(e))return pi;if(_e(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=_e(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=mc(e);var o=fc.test(e);return o||hc.test(e)?pc(e.slice(2),o?2:8):uc.test(e)?pi:+e}var gc="Expected a function",yc=Math.max,bc=Math.min;function ft(e,n,o){var r,a,i,s,d,c,m=0,y=!1,u=!1,p=!0;if(typeof e!="function")throw new TypeError(gc);n=Nn(n)||0,_e(o)&&(y=!!o.leading,u="maxWait"in o,i=u?yc(Nn(o.maxWait)||0,n):i,p="trailing"in o?!!o.trailing:p);function _(S){var E=r,V=a;return r=a=void 0,m=S,s=e.apply(V,E),s}function M(S){return m=S,d=setTimeout(O,n),y?_(S):s}function g(S){var E=S-c,V=S-m,B=n-E;return u?bc(B,i-V):B}function k(S){var E=S-c,V=S-m;return c===void 0||E>=n||E<0||u&&V>=i}function O(){var S=Mn();if(k(S))return U(S);d=setTimeout(O,g(S))}function U(S){return d=void 0,p&&r?_(S):(r=a=void 0,s)}function w(){d!==void 0&&clearTimeout(d),m=0,r=c=a=d=void 0}function C(){return d===void 0?s:U(Mn())}function N(){var S=Mn(),E=k(S);if(r=arguments,a=this,c=S,E){if(d===void 0)return M(c);if(u)return clearTimeout(d),d=setTimeout(O,n),_(c)}return d===void 0&&(d=setTimeout(O,n)),s}return N.cancel=w,N.flush=C,N}var _c="__lodash_hash_undefined__";function Ec(e){return this.__data__.set(e,_c),this}function Cc(e){return this.__data__.has(e)}function Zt(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new De;++n<o;)this.add(e[n])}Zt.prototype.add=Zt.prototype.push=Ec,Zt.prototype.has=Cc;function Sc(e,n,o,r){for(var a=e.length,i=o+-1;++i<a;)if(n(e[i],i,e))return i;return-1}function Tc(e){return e!==e}function kc(e,n,o){for(var r=o-1,a=e.length;++r<a;)if(e[r]===n)return r;return-1}function wc(e,n,o){return n===n?kc(e,n,o):Sc(e,Tc,o)}function Mc(e,n){var o=e==null?0:e.length;return!!o&&wc(e,n,0)>-1}function Nc(e,n){return e.has(n)}function Ac(){}function gi(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var Ic=1/0,Vc=ut&&1/gi(new ut([,-0]))[1]==Ic?function(e){return new ut(e)}:Ac,Oc=200;function Bc(e,n,o){var r=-1,a=Mc,i=e.length,s=!0,d=[],c=d;if(i>=Oc){var m=Vc(e);if(m)return gi(m);s=!1,a=Nc,c=new Zt}else c=d;e:for(;++r<i;){var y=e[r],u=y;if(y=y!==0?y:0,s&&u===u){for(var p=c.length;p--;)if(c[p]===u)continue e;d.push(y)}else a(c,u,o)||(c!==d&&c.push(u),d.push(y))}return d}function yi(e){return e&&e.length?Bc(e):[]}var Fc=0;function bi(e){var n=++Fc;return Eo(e)+n}var _i=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,qe="\\d\\d?",He="\\d\\d",Rc="\\d{3}",Dc="\\d{4}",Vt="[^\\s]+",Ei=/\[([^]*?)\]/gm;function Ci(e,n){for(var o=[],r=0,a=e.length;r<a;r++)o.push(e[r].substr(0,n));return o}var Si=function(e){return function(n,o){var r=o[e].map(function(i){return i.toLowerCase()}),a=r.indexOf(n.toLowerCase());return a>-1?a:null}};function ot(e){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];for(var r=0,a=n;r<a.length;r++){var i=a[r];for(var s in i)e[s]=i[s]}return e}var Ti=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ki=["January","February","March","April","May","June","July","August","September","October","November","December"],Uc=Ci(ki,3),Lc=Ci(Ti,3),wi={dayNamesShort:Lc,dayNames:Ti,monthNamesShort:Uc,monthNames:ki,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},Xt=ot({},wi),Pc=function(e){return Xt=ot(Xt,e)},Mi=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},ye=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},vc={D:function(e){return String(e.getDate())},DD:function(e){return ye(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return ye(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return ye(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return ye(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return ye(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return ye(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return ye(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return ye(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return ye(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return ye(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return ye(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+ye(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+ye(Math.floor(Math.abs(n)/60),2)+":"+ye(Math.abs(n)%60,2)}},Ni=function(e){return+e-1},Ai=[null,qe],Ii=[null,Vt],Vi=["isPm",Vt,function(e,n){var o=e.toLowerCase();return o===n.amPm[0]?0:o===n.amPm[1]?1:null}],Oi=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var n=(e+"").match(/([+-]|\d\d)/gi);if(n){var o=+n[1]*60+parseInt(n[2],10);return n[0]==="+"?o:-o}return 0}],xc={D:["day",qe],DD:["day",He],Do:["day",qe+Vt,function(e){return parseInt(e,10)}],M:["month",qe,Ni],MM:["month",He,Ni],YY:["year",He,function(e){var n=new Date,o=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?o-1:o)+e)}],h:["hour",qe,void 0,"isPm"],hh:["hour",He,void 0,"isPm"],H:["hour",qe],HH:["hour",He],m:["minute",qe],mm:["minute",He],s:["second",qe],ss:["second",He],YYYY:["year",Dc],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",He,function(e){return+e*10}],SSS:["millisecond",Rc],d:Ai,dd:Ai,ddd:Ii,dddd:Ii,MMM:["month",Vt,Si("monthNamesShort")],MMMM:["month",Vt,Si("monthNames")],a:Vi,A:Vi,ZZ:Oi,Z:Oi},Jt={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},$c=function(e){return ot(Jt,e)},jc=function(e,n,o){if(n===void 0&&(n=Jt.default),o===void 0&&(o={}),typeof e=="number"&&(e=new Date(e)),Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");n=Jt[n]||n;var r=[];n=n.replace(Ei,function(i,s){return r.push(s),"@@@"});var a=ot(ot({},Xt),o);return n=n.replace(_i,function(i){return vc[i](e,a)}),n.replace(/@@@/g,function(){return r.shift()})};function Kc(e,n,o){if(o===void 0&&(o={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Jt[n]||n,e.length>1e3)return null;var r=new Date,a={year:r.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},i=[],s=[],d=n.replace(Ei,function(C,N){return s.push(Mi(N)),"@@@"}),c={},m={};d=Mi(d).replace(_i,function(C){var N=xc[C],S=N[0],E=N[1],V=N[3];if(c[S])throw new Error("Invalid format. "+S+" specified twice in format");return c[S]=!0,V&&(m[V]=!0),i.push(N),"("+E+")"}),Object.keys(m).forEach(function(C){if(!c[C])throw new Error("Invalid format. "+C+" is required in specified format")}),d=d.replace(/@@@/g,function(){return s.shift()});var y=e.match(new RegExp(d,"i"));if(!y)return null;for(var u=ot(ot({},Xt),o),p=1;p<y.length;p++){var _=i[p-1],M=_[0],g=_[2],k=g?g(y[p],u):+y[p];if(k==null)return null;a[M]=k}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var O;if(a.timezoneOffset==null){O=new Date(a.year,a.month,a.day,a.hour,a.minute,a.second,a.millisecond);for(var U=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],p=0,w=U.length;p<w;p++)if(c[U[p][0]]&&a[U[p][0]]!==O[U[p][1]]())return null}else if(O=new Date(Date.UTC(a.year,a.month,a.day,a.hour,a.minute-a.timezoneOffset,a.second,a.millisecond)),a.month>11||a.month<0||a.day>31||a.day<1||a.hour>23||a.hour<0||a.minute>59||a.minute<0||a.second>59||a.second<0)return null;return O}var ht={format:jc,parse:Kc,defaultI18n:wi,setGlobalDateI18n:Pc,setGlobalDateMasks:$c};function zc(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}var Bi=Math.max;function qc(e,n,o){return n=Bi(n===void 0?e.length-1:n,0),function(){for(var r=arguments,a=-1,i=Bi(r.length-n,0),s=Array(i);++a<i;)s[a]=r[n+a];a=-1;for(var d=Array(n+1);++a<n;)d[a]=r[a];return d[n]=o(s),zc(e,this,d)}}function Hc(e){return function(){return e}}var Yc=Yt?function(e,n){return Yt(e,"toString",{configurable:!0,enumerable:!1,value:Hc(n),writable:!0})}:cn,Gc=800,Wc=16,Zc=Date.now;function Xc(e){var n=0,o=0;return function(){var r=Zc(),a=Wc-(r-o);if(o=r,a>0){if(++n>=Gc)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Jc=Xc(Yc);function Qc(e,n){return Jc(qc(e,n,cn),e+"")}function em(e,n,o){if(!_e(o))return!1;var r=typeof n;return(r=="number"?vt(o)&&co(n,o.length):r=="string"&&n in o)?jt(o[n],e):!1}var Fi=Object.prototype,tm=Fi.hasOwnProperty,nm=Qc(function(e,n){e=Object(e);var o=-1,r=n.length,a=r>2?n[2]:void 0;for(a&&em(n[0],n[1],a)&&(r=1);++o<r;)for(var i=n[o],s=Wt(i),d=-1,c=s.length;++d<c;){var m=s[d],y=e[m];(y===void 0||jt(y,Fi[m])&&!tm.call(e,m))&&(e[m]=i[m])}return e}),om=Se.isFinite;function Ri(e){return typeof e=="number"&&om(e)}var Di=1/0,im=17976931348623157e292;function am(e){if(!e)return e===0?e:0;if(e=Nn(e),e===Di||e===-Di){var n=e<0?-1:1;return n*im}return e===e?e:0}function rm(e){var n=am(e),o=n%1;return n===n?o?n-o:n:0}function lm(e){return typeof e=="number"&&e==rm(e)}var sm="[object Number]";function An(e){return typeof e=="number"||$e(e)&&xe(e)==sm}const Ce={general:{packageName:"forms",disable_global_radio:"The plugin is set to 'Scoped' by default when configured under a {scope}. To configure a global plugin, navigate to the global plugin list page.",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it."},"post-function":{tags:{hint:"e.g. tag1, tag2, tag3",newElementButtonLabel:"+ Add"},enabled:{newElementButtonLabel:"+ Add"},selectionGroup:{newElementButtonLabel:"+ Add"},instance_name:{newElementButtonLabel:"+ Add"},name:{newElementButtonLabel:"+ Add"},"config-certificate":{help:"Array of stringified Lua code to be cached and run in sequence during the certificate phase.",newElementButtonLabel:"+ Add"},"config-access":{help:"Array of stringified Lua code to be cached and run in sequence during the access phase.",newElementButtonLabel:"+ Add"},"config-body_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the body_filter phase.",newElementButtonLabel:"+ Add"},"config-header_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the header_filter phase.",newElementButtonLabel:"+ Add"},"config-functions":{newElementButtonLabel:"+ Add"},"config-log":{newElementButtonLabel:"+ Add"},"config-rewrite":{newElementButtonLabel:"+ Add"},"config-ws_client_frame":{newElementButtonLabel:"+ Add"},"config-ws_close":{newElementButtonLabel:"+ Add"},"config-ws_handshake":{newElementButtonLabel:"+ Add"},"config-ws_upstream_frame":{newElementButtonLabel:"+ Add"}},"exit-transformer":{"config-functions":{newElementButtonLabel:"+ Add"}},rla:{view_advanced:"View advanced parameters",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group",route:"Route"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},validators:{field_is_required:"This field is required",invalid_format:"Invalid format",number_too_small:"The number is too small. Minimum: {0}",number_too_large:"The number is too large. Maximum: {0}",invalid_number:"Invalid number",invalid_integer:"The value is not an integer",text_too_short:"The length of text is too short. Current: {0}, Minimum: {1}",text_too_long:"The length of text is too long. Current: {0}, Maximum: {1}",this_not_text:"This is not a text",this_not_array:"This is not an array",select_min_items:"Select minimum {0} items",select_max_items:"Select maximum {0} items",invalid_date:"Invalid date",date_is_early:"The date is too early. Current: {0}, Minimum: {1}",date_is_late:"The date is too late. Current: {0}, Maximum: {1}",invalid_email:"Invalid e-mail address",invalid_url:"Invalid URL",invalid_card:"Invalid card format",invalid_card_number:"Invalid card number",invalid_text_contain_number:"Invalid text - cannot contains numbers or special characters",invalid_tex_contain_spec:"Invalid text - cannot contains special characters"},redis:{title:"Redis Configuration",managed_ui:{title:"Redis",groups:{self_managed:"Self-managed Redis",konnect_managed:"Konnect-managed Redis"},shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",badge:"Recommended",title:"Shared Redis Configuration",create_new_configuration:"New Redis",selector:{placeholder:"Filter Redis configurations..."}},dedicated_configuration:{label:"Use locally-scoped configuration",description:"Create and use a Redis configuration specifically for this plugin."}},shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",empty_state:"No shared configurations",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},fields:{auto_suggest:{error:{load_entity:"There was an error loading {entity}"},recently_created:"Recently created {entity}",items_count:"Currently showing {count} {count, plural, =1 {item} other {items}}, type to search",no_results:"No results",loading:"Loading..."}},vfg:{labels:{on:"On",off:"Off"}}},{t:te}=be.createI18n("en-us",Ce),me={fieldIsRequired:te("validators.field_is_required"),invalidFormat:te("validators.invalid_format"),numberTooSmall:te("validators.number_too_small"),numberTooBig:te("validators.number_too_large"),invalidNumber:te("validators.invalid_number"),invalidInteger:te("validators.invalid_integer"),textTooSmall:te("validators.text_too_short"),textTooBig:te("validators.text_too_long"),thisNotText:te("validators.this_not_text"),thisNotArray:te("validators.this_not_array"),selectMinItems:te("validators.select_min_items"),selectMaxItems:te("validators.select_max_items"),invalidDate:te("validators.invalid_date"),dateIsEarly:te("validators.date_is_early"),dateIsLate:te("validators.date_is_late"),invalidEmail:te("validators.invalid_email"),invalidURL:te("validators.invalid_url"),invalidCard:te("validators.invalid_card"),invalidCardNumber:te("validators.invalid_card_number"),invalidTextContainNumber:te("validators.invalid_text_contain_number"),invalidTextContainSpec:te("validators.invalid_tex_contain_spec")},Y=(e,...n)=>{if(e&&n.length>0)for(let o=0;o<n.length;o++)e=e.replace("{"+(o-1)+"}",String(n[o]||""));return e},Te=(e,n,o=me)=>ee(e)||e===""?n?[Y(o.fieldIsRequired)]:[]:null,it={required:(e,n,o,r=me)=>Te(e,n.required,r)||[],number:(e,n,o,r=me)=>{let a=Te(e,n.required,r);return a!=null||(a=[],Ri(e)?(!ee(n.min)&&e<n.min,(r=me)&&a.push(Y(r.numberTooSmall,n.min)),!ee(n.max)&&e>n.max,(r=me)&&a.push(Y(r.numberTooBig,n.max))):a.push(Y(r.invalidNumber))),a},integer:(e,n,o,r=me)=>{let a=Te(e,n.required,r);return a!=null||(a=[],a.concat(it.number(e,n,o,r)),lm(e)||a.push(Y(r.invalidInteger))),a},double:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(!An(e)||isNaN(e)?[Y(r.invalidNumber)]:[])},string:(e,n,o,r=me)=>{let a=Te(e,n.required,r);return a!=null||(a=[],nt(e)?(!ee(n.min)&&e.length<n.min&&a.push(Y(r.textTooSmall,e.length,n.min)),!ee(n.max)&&e.length>n.max&&a.push(Y(r.textTooBig,e.length,n.max))):a.push(Y(r.thisNotText))),a},array:(e,n,o,r=me)=>{if(n.required){if(!Array.isArray(e))return[Y(r.thisNotArray)];if(e.length===0)return[Y(r.fieldIsRequired)]}if(!ee(e)){if(!ee(n.min)&&e.length<n.min)return[Y(r.selectMinItems,n.min)];if(!ee(n.max)&&e.length>n.max)return[Y(r.selectMaxItems,n.max)]}return[]},date:(e,n,o,r=me)=>{let a=Te(e,n.required,r);if(a!=null)return a;a=[];const i=new Date(e);if(isNaN(i.getDate()))return[Y(r.invalidDate)];if(!ee(n.min)){const s=new Date(n.min);i.valueOf()<s.valueOf()&&a.push(Y(r.dateIsEarly,ht.format(i),ht.format(s)))}if(!ee(n.max)){const s=new Date(n.max);i.valueOf()>s.valueOf()&&a.push(Y(r.dateIsLate,ht.format(i),ht.format(s)))}return a},regexp:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(!ee(n.pattern)&&!new RegExp(n.pattern).test(e)?[Y(r.invalidFormat)]:[])},email:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)?[]:[Y(r.invalidEmail)])},url:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e)?[]:[Y(r.invalidURL)])},creditCard:(e,n,o,r=me)=>{const a=Te(e,n.required,r);if(a!=null)return a;const i=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!i.test(s))return[Y(r.invalidCard)];let d=0,c,m,y;for(let u=s.length-1;u>=0;u--)c=s.substring(u,u+1),m=parseInt(c,10),y?(m*=2,m>=10?d+=m%10+1:d+=m):d+=m,y=!y;return d%10===0&&s?[]:[Y(r.invalidCardNumber)]},alpha:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/^[a-zA-Z]*$/.test(e)?[]:[Y(r.invalidTextContainNumber)])},alphaNumeric:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Y(r.invalidTextContainSpec)])}};Object.keys(it).forEach(e=>{const n=it[e];z(n)&&(n.locale=o=>(r,a,i)=>n(r,a,i,nm(o,me)))});function Ui(e){return nt(e)?it[e]!=null?it[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function In(e,n,o){let r=K(o.context,"schema.attributes",{});const a=n.value||"input";nt(a)&&(r=K(r,a)||r),fe(r,(i,s)=>{e.setAttribute(s,i)})}const Ne={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:In,updated:In,componentUpdated:In}},computed:{value:{cache:!1,get(){let e;return z(K(this.schema,"get"))?e=this.schema.get(this.model):e=K(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),z(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=K(this.formOptions,"validateAsync",!1);let o=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const a=[];Array.isArray(this.schema.validator)?fe(this.schema.validator,i=>{a.push(Ui(i).bind(this))}):a.push(Ui(this.schema.validator).bind(this)),fe(a,i=>{if(n)o.push(i(this.value,this.schema,this.model));else{const s=i(this.value,this.schema,this.model);s&&z(s.then)?s.then(d=>{d&&(this.errors=this.errors.concat(d));const c=this.errors.length===0;this.$emit("validated",c,this.errors,this)}):s&&(o=o.concat(s))}})}const r=a=>{let i=[];fe(yi(a),d=>{Array.isArray(d)&&d.length>0?i=i.concat(d):nt(d)&&i.push(d)}),z(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,i,this.schema);const s=i.length===0;return e||this.$emit("validated",s,i,this),this.errors=i,i};return n?Promise.all(o).then(r):r(o)},debouncedValidate(){z(this.debouncedValidateFunc)||(this.debouncedValidateFunc=ft(this.validate.bind(this),K(this.schema,"validateDebounceTime",K(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let o=!1;z(this.schema.set)?(this.schema.set(this.model,e),o=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),o=!0),o&&(this.$emit("modelUpdated",e,this.schema.model),z(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),K(this.formOptions,"validateAfterChanged",!1)===!0&&(K(this.schema,"validateDebounceTime",K(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let o=e.replace(/\[(\w+)\]/g,".$1");o=o.replace(/^\./,"");let r=this.model;const a=o.split(".");let i=0;const s=a.length;for(;i<s;){const d=a[i];if(i<s-1)r[d]!==void 0||(r[d]={}),r=r[d];else{r[d]=n;return}++i}},getFieldID(e,n=!1){const o=K(this.formOptions,"fieldIdPrefix","");return wn(e,o)+(n?"-"+bi():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return K(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},dm=Object.freeze(Object.defineProperty({__proto__:null,default:Ne},Symbol.toStringTag,{value:"Module"})),$=(e,n)=>{const o=e.__vccOpts||e;for(const[r,a]of n)o[r]=a;return o},cm={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},mm={class:"material-icons"},um=$(Object.assign({mixins:[Ne],emits:["model-updated"],expose:["validate","clearValidationErrors","schema"],data(){return{isOpen:!1}},computed:{openClass(){return this.isOpen?"open":"closed"},fieldCount(){return this.schema.fields.length},titleText(){return`${this.isOpen?"Hide":"View"} ${this.fieldCount} Advanced Fields`}},methods:{handleOpen(){this.isOpen=!this.isOpen},updateModel(e,n){this.$emit("model-updated",e,n)}}},{__name:"FieldAdvanced",setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",cm,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:o[0]||(o[0]=(...r)=>n.handleOpen&&n.handleOpen(...r))},[t.createElementVNode("i",mm,t.toDisplayString(n.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(n.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",n.openClass])},[t.createVNode(G,{model:n.model,options:{helpAsHtml:!0},schema:n.schema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])],2)]))}}),[["__scopeId","data-v-e8f66c8a"]]),fm={class:"array-card-container"},Li=$(t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null},index:{type:Number,default:void 0}},emits:["remove-item"],setup(e){const n=e;return t.provide("vfg-array-item-index",n.index),(o,r)=>{const a=t.resolveComponent("KCard"),i=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",fm,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(i,{appearance:"tertiary",class:"array-card-remove-button",onClick:r[0]||(r[0]=s=>o.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1})])}}}),[["__scopeId","data-v-a8366ec5"]]),hm={class:"array-item-wrapper"},pm={class:"array-item"},gm={class:"array-item-after"},Pi=$(t.defineComponent({__name:"FieldArrayItem",props:{model:{type:String,default:""}},emits:["remove-item"],setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",hm,[t.createElementVNode("div",pm,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(r,{appearance:"tertiary",class:"delete",onClick:o[0]||(o[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1})]),t.createElementVNode("div",gm,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),[["__scopeId","data-v-e6b6837c"]]),ym={class:"multi-item-wrapper"},vi=$(t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",ym,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(r,{appearance:"danger",class:"delete",onClick:o[0]||(o[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[...o[1]||(o[1]=[t.createTextVNode(" - Remove Field ",-1)])]),_:1}),o[2]||(o[2]=t.createElementVNode("hr",null,null,-1))])}}}),[["__scopeId","data-v-b4fcf731"]]);var bm=4;function xi(e){return It(e,bm)}const _m="#6c7489",$i="12px",Em="16px",ji="20px",Cm=["data-testid","data-testlabel"],Sm={class:"item-label"},Tm={class:"autosuggest__results_message"},km=$(t.defineComponent({__name:"AutoSuggest",props:t.mergeModels({placeholder:{default:""},suggestions:{},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyMessage:{default:""},domId:{},error:{default:null}},{id:{required:!0},idModifiers:{}}),emits:t.mergeModels(["change","query-change"],["update:id"]),setup(e){const{t:n}=be.createI18n("en-us",Ce),o=t.useModel(e,"id");return(r,a)=>{const i=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(i,{id:e.domId,ref:"suggestion",modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=s=>o.value=s),clearable:"",disabled:e.disabled,"enable-filtering":"",error:e.error!==null,"filter-function":()=>!0,help:e.error!==null?e.error:void 0,items:e.suggestions,loading:e.loading,placeholder:e.placeholder,width:"100%",onChange:a[1]||(a[1]=s=>r.$emit("change",s)),onQueryChange:a[2]||(a[2]=s=>r.$emit("query-change",s))},t.createSlots({"item-template":t.withCtx(({item:s})=>[t.renderSlot(r.$slots,"item",{item:s},()=>[t.createElementVNode("span",{class:"item-label","data-testid":s.id&&`${s.id}-0`,"data-testlabel":s.label},t.toDisplayString(s.label),9,Cm)],!0)]),"selected-item-template":t.withCtx(({item:s})=>[t.renderSlot(r.$slots,"selected-item",{item:s},()=>[t.createElementVNode("span",Sm,t.toDisplayString(s.label),1)],!0)]),empty:t.withCtx(()=>[t.createElementVNode("div",Tm,[t.createElementVNode("span",null,t.toDisplayString(e.emptyMessage||t.unref(n)("fields.auto_suggest.no_results")),1)])]),_:2},[r.$slots.before?{name:"before",fn:t.withCtx(()=>[t.renderSlot(r.$slots,"before",{},void 0,!0)]),key:"0"}:void 0]),1032,["id","modelValue","disabled","error","help","items","loading","placeholder"])}}}),[["__scopeId","data-v-1e9151dd"]]),wm="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",Vn=e=>e?e.length===36&&new RegExp(`^${wm}$`).test(e):!1,Mm={class:"selected-entity-item"},Nm={class:"selected-entity-label"},Am={class:"entity-suggestion-item"},Im={class:"entity-label"},Vm={class:"entity-id"},Om=500,Bm=50,Fm=1e3,Ki=$(t.defineComponent({__name:"FieldScopedEntitySelect",props:{transformItem:{type:Function},allowUuidSearch:{type:Boolean,default:!1},placeholder:{},fields:{default:()=>[]},selectedItem:{},selectedItemLoading:{type:Boolean},domId:{},id:{},entity:{},disabled:{type:Boolean},fieldDisabled:{type:Boolean},error:{},labelField:{default:"name"}},emits:["change"],setup(e){const n=t.inject(Ee,void 0),o=async(h,b)=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),[];const{data:T}=await n.getAllV2(e.entity,{name:h,size:Fm},b);return T.data},r=async h=>n?n.peek(e.entity,h):(console.warn("[@kong-ui-public/forms] No API service provided"),Promise.resolve({data:{data:[]}})),a=async h=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),{id:h};const b=await n.getOne(e.entity,h,{validateStatus:T=>T>=200&&T<300||T===404});if(b.status===404)throw new Error(`Entity of type ${e.entity} with id ${h} not found`);return b.data},i=e.transformItem??(h=>({...h,label:h[e.labelField],value:h.id})),s=t.ref(""),d=t.ref(!1),c=t.ref(!1),m=t.ref(""),y=t.ref([]),u=t.ref([]),p=t.ref([]),{t:_}=be.createI18n("en-us",Ce),M=t.ref(null);let g=null;const k=async(h,b)=>{if(!e.fieldDisabled){clearTimeout(g),g=setTimeout(()=>{d.value=!0},1500);try{const T=await h();u.value=T,y.value=u.value.map(i)}catch(T){if(b!=null&&b.aborted)return;if(y.value=[],Fa.isAxiosError(T)&&T.status===404){console.warn("unable to search with UUID",m.value,"for entity type",e.entity);return}s.value=T.message}finally{clearTimeout(g),d.value=!1}}},O=ft(h=>{if(h=h||"",m.value=h,!h.trim()&&!c.value){y.value=E(p.value);return}M.value&&M.value.abort();const b=new AbortController;if(M.value=b,c.value){B(h);return}N(h,b)},Om,{leading:!0}),U=async(h,b)=>await o(h,b),w=async()=>{const{data:{data:h,next:b,offset:T}}=await r(Bm);return(!b||!T)&&(c.value=!0),u.value=h,p.value=h.map(F=>({...i(F),group:_("fields.auto_suggest.recently_created",{entity:e.entity})})),h},C=async h=>[await a(h)],N=(h,b)=>{Vn(h)&&e.allowUuidSearch?k(async()=>await C(h)):k(async()=>await U(h,b.signal),b.signal)},S=h=>{let b=[];b=E(p.value),h!=null&&h.trim()?y.value=b.filter(T=>e.fields.some(F=>(T[F]||"").includes(h))):y.value=b},E=h=>e.selectedItem?h.some(b=>b.value===e.selectedItem.value)?h:[e.selectedItem,...h]:h,V=h=>{y.value=p.value.filter(b=>b.id===h)},B=h=>{Vn(h)&&e.allowUuidSearch?V(h):S(h)};return t.onMounted(async()=>{await k(w);const h=t.watch(()=>e.selectedItem,b=>{b&&(y.value=E(p.value)),h()});y.value=E(p.value)}),(h,b)=>(t.openBlock(),t.createBlock(km,{id:e.id,disabled:e.fieldDisabled,"dom-id":e.domId,"empty-message":s.value,error:e.error,loading:e.selectedItemLoading||d.value,placeholder:e.placeholder,readonly:e.disabled,suggestions:y.value,onChange:b[0]||(b[0]=T=>h.$emit("change",T)),onQueryChange:t.unref(O)},{before:t.withCtx(()=>[t.renderSlot(h.$slots,"before",{},()=>[t.createVNode(t.unref(ue.SearchIcon),{color:`var(--kui-color-text-neutral, ${t.unref(_m)})`,size:`var(--kui-icon-size-40, ${t.unref(ji)})`},null,8,["color","size"])],!0)]),"selected-item":t.withCtx(({item:T})=>[t.renderSlot(h.$slots,"selected-item",{item:T},()=>[t.createElementVNode("span",Mm,[t.createElementVNode("span",Nm,t.toDisplayString(T.label??T.id),1)])],!0)]),item:t.withCtx(({item:T})=>[t.renderSlot(h.$slots,"item",{item:T},()=>[t.createElementVNode("div",Am,[t.createElementVNode("span",Im,t.toDisplayString(T.label??t.unref(So)),1),t.createElementVNode("span",Vm,t.toDisplayString(T.id),1)])],!0)]),_:3},8,["id","disabled","dom-id","empty-message","error","loading","placeholder","readonly","suggestions","onQueryChange"]))}}),[["__scopeId","data-v-d8027156"]]);function zi(e,n,o){return o?Me.SET_REFERRAL_VALUE:e&&!n||!e&&n?Me.UPDATE_ENTITY:e&&n?Me.CREATE_FROM_ENTITY:Me.CREATE_NOT_FROM_ENTITY}const Rm={components:{FieldScopedEntitySelect:Ki},mixins:[Ne],inject:[Ee],emits:["model-updated"],setup(){const{t:e}=be.createI18n("en-us",Ce);return{t:e}},data(){return{idValue:"",error:null,initialItem:null,selectedItem:null,loading:!1}},computed:{fieldState(){return zi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search},inputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},allowUuidSearch(){return this.inputFields.includes("id")},inputFieldsWithoutId(){return this.inputFields.filter(e=>e!=="id")},initialValueSelected(){var e;return this.idValue===((e=this.initialItem)==null?void 0:e.id)}},async created(){await this.$nextTick();let e,n;this.error=null;try{switch(this.fieldState){case Me.UPDATE_ENTITY:if(!this[Ee]){console.warn("[@kong-ui-public/forms] No API service provided");break}this.loading=!0,n=await this.getOne(this.model[this.schema.model]),e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Me.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Me.SET_REFERRAL_VALUE:this.idValue=this.value}e&&(this.initialItem=this.transformItem(e),this.selectedItem=this.initialItem)}catch(o){this.error=o.message||this.t("fields.auto_suggest.error.load_entity",{entity:this.schema.entity}),console.error("err!",o)}finally{this.loading=!1}},methods:{async getOne(e){if(!this[Ee])return console.warn("[@kong-ui-public/forms] No API service provided"),{};const n=await this[Ee].getOne(this.entity,e,{validateStatus:o=>o>=200&&o<300||o===404});if(n.status===404)throw new Error(`Entity of type ${this.entity} with id ${e} not found`);return n.data},transformItem(e){var o;const n=((o=this.schema)==null?void 0:o.labelField)||"id";return{...e,label:n&&e?e[n]:"",value:e.id}},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.error=null,this.idValue=e&&e.id,this.selectedItem=e,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var o;const n=(o=this.schema)==null?void 0:o.returnKey;return n?e[n]:e.id}}};function Dm(e,n,o,r,a,i){const s=t.resolveComponent("FieldScopedEntitySelect");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.disabled?"k-tooltip":"div"),{class:"field-wrap autosuggest","max-width":"300",text:e.schema.disabledTooltip},{default:t.withCtx(()=>[t.createVNode(s,{id:a.idValue,"allow-uuid-search":i.allowUuidSearch,disabled:a.loading,"dom-id":e.schema.model,entity:i.entity,error:a.error,"field-disabled":e.schema.disabled,fields:i.inputFieldsWithoutId,"initial-item-selected":i.initialValueSelected,"label-field":e.schema.labelField||"id",placeholder:a.loading?r.t("fields.auto_suggest.loading"):e.schema.placeholder,"selected-item":a.selectedItem,"selected-item-loading":a.loading,onChange:i.onSelected},null,8,["id","allow-uuid-search","disabled","dom-id","entity","error","field-disabled","fields","initial-item-selected","label-field","placeholder","selected-item","selected-item-loading","onChange"])]),_:1},8,["text"])}const qi=$(Rm,[["render",Dm],["__scopeId","data-v-9ab50e80"]]),On=50,Um={mixins:[Ne],inject:[Ee],emits:["model-updated"],setup(){const{t:e}=be.createI18n("en-us",Ce);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return zi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},scope(){return this.schema.label.toLowerCase()},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Me.UPDATE_ENTITY:if(!this[Ee]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[Ee].getOne(this.entity,this.model[this.schema.model])).data,e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Me.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Me.SET_REFERRAL_VALUE:this.idValue=this.value}try{e&&(this.initialItems=[{...e,label:this.getSuggestionLabel(e),value:e.id}]),this.items=this.initialItems}catch(o){this.message=`There was an error loading ${this.schema.entity}`,console.error("err!",o)}},methods:{onQueryChange(e){e.trim().length===0&&(this.items=[],this.message="Type something to search"),typeof this.performSearch!="function"&&(this.performSearch=ft(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],o=[],r=this.getInputFields(),a=new Set;Vn(e)&&r.includes("id")?o.push((async()=>{const i=await this.fetchExact(e);n.push({...i,label:this.getSuggestionLabel(i),value:i.id})})()):o.push(...r.filter(i=>i!=="id").map(async i=>{(await this.fetchSuggestions(e,i)).forEach(d=>{a.has(d.id)||(a.add(d.id),n.push({...d,label:this.getSuggestionLabel(d),value:d.id}))})})),await Promise.all(o),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let o=null;if(!this[Ee])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<On;){const r=await this[Ee].getAll(this.entity,{size:On,offset:o,...e});if(n.push(...r.data.data),o=r.data.offset,!o)break}return n.slice(0,On)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[Ee]?(await this[Ee].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},getSuggestionLabel(e){const n=this.getInputFields();return n.length&&e?n.map(o=>e[o]).filter(Boolean).join(" - "):""},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var o;const n=(o=this.schema)==null?void 0:o.returnKey;return n?e[n]:e.id}}},Lm=["data-testid","data-testlabel"],Pm=["data-testid"],vm={class:"autosuggest__results_message"};function xm(e,n,o,r,a,i){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.disabled?"k-tooltip":"div"),{class:"field-wrap autosuggest","max-width":"300",text:r.t("general.disable_source_scope_change",{scope:i.scope})},{default:t.withCtx(()=>[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:a.idValue,"onUpdate:modelValue":n[0]||(n[0]=d=>a.idValue=d),clearable:"",disabled:e.schema.disabled,"enable-filtering":"","filter-function":()=>!0,items:a.items,loading:a.loading,placeholder:e.schema.placeholder,width:"100%",onChange:i.onSelected,onQueryChange:i.onQueryChange},{"item-template":t.withCtx(({item:d})=>[t.createElementVNode("span",{class:"first-part","data-testid":d.id&&`${d.id}-0`,"data-testlabel":d.label},t.toDisplayString(i.getSuggestionLabel(d).split(" - ")[0]),9,Lm),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.getSuggestionLabel(d).split(" - ").slice(1),(c,m)=>(t.openBlock(),t.createElementBlock("span",{key:m,class:"field-span","data-testid":d.id&&`${d.id}-${m+1}`||m+1},t.toDisplayString(c),9,Pm))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",vm,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Hi=$(Um,[["render",xm],["__scopeId","data-v-433129a3"]]);function $m(e){const n=t.ref([]),o=t.ref(null),r=g=>nt(g)?it[g]!=null?it[g]:(console.warn(`'${g}' is not a validator function!`),null):g,a=t.computed({get(){var k,O;let g;return z(K(e.schema,"get"))?g=e.schema.get((k=e.model)==null?void 0:k.value):g=K((O=e.model)==null?void 0:O.value,e.schema.model),_(g)},set(g){const k=a;g=M(g),z(g)?g(g,k):d(g,k)}}),i=g=>{var w;c();const k=K(e.formOptions,"validateAsync",!1);let O=[];if(e.schema.readonly!==!0&&e.disabled!==!0){const C=[],N=(w=e.schema)==null?void 0:w.validator;N&&(Array.isArray(N)?fe(N,S=>{C.push(r(S))}):C.push(r(N))),z(e.externalValidator)&&C.push(e.externalValidator),fe(C,S=>{var E,V;if(k)O.push(S(a.value,e.schema,(E=e.model)==null?void 0:E.value));else{const B=S(a.value,e.schema,(V=e.model)==null?void 0:V.value);B&&z(B.then)?B.then(h=>{h&&(n.value=n.value.concat(h));const b=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:b,errors:n.value,field:e.schema})}):B&&(O=O.concat(B))}})}const U=C=>{var S,E;let N=[];if(fe(yi(C),V=>{Array.isArray(V)&&V.length>0?N=N.concat(V):nt(V)&&N.push(V)}),z((S=e.schema)==null?void 0:S.onValidated)&&e.schema.onValidated((E=e.model)==null?void 0:E.value,N,e.schema),!g){const V=N.length===0;e.emitValidated&&e.emitValidated({isValid:V,errors:N,field:e.schema})}return C=N,N};return k?Promise.all(O).then(U):U(O)},s=()=>{z(o.value)?o.value():o.value=ft(i,K(e.schema,"validateDebounceTime",K(e.formOptions,"validateDebounceTime",500)))},d=(g,k)=>{var U,w,C;let O=!1;z(e.schema.set)?(e.schema.set((U=e.model)==null?void 0:U.value,g),O=!0):e.schema.model&&(m(e.schema.model,g),O=!0),O&&(e.emitModelUpdated&&((w=e.model)!=null&&w.value)&&e.emitModelUpdated({value:g,model:e.schema.model}),z(e.schema.onChanged)&&e.schema.onChanged((C=e.model)==null?void 0:C.value,g,k,e.schema),K(e.formOptions,"validateAfterChanged",!1)===!0&&(K(e.schema,"validateDebounceTime",K(e.formOptions,"validateDebounceTime",0))>0?s():i()))},c=()=>{n.value.splice(0)},m=(g,k)=>{var S;let O=g.replace(/\[(\w+)\]/g,".$1");O=O.replace(/^\./,"");let U=((S=e.model)==null?void 0:S.value)||{},w=0;const C=O.split("."),N=C.length;for(;w<N;){const E=C[w];if(w<N-1)U[E]!==void 0||(U[E]={}),U=U[E];else{U[E]=k;return}++w}},y=(g,k=!1)=>{const O=K(e.formOptions,"fieldIdPrefix","");return wn(g,O)+(k?"-"+bi():"")},u=g=>`${y(g)}-label`,p=()=>K(e.schema,"fieldClasses",[]),_=g=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(g):g,M=g=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(g):g;return{value:a,clearValidationErrors:c,getFieldID:y,getLabelId:u,getFieldClasses:p,updateModelValue:d}}function jm(e){const n=[],o=r=>{const a=["cluster-cache","cluster_cache"];for(const i of a)if(r.model.includes(i))return!1;return new RegExp("(?<=-redis-).*").test(r.model)};return e.fields.forEach(r=>{o(r)&&n.push(r)}),{redis:{id:"_redis",fields:n,model:"__redis_partial",redisType:e._supported_redis_partial_type,redisPath:e._redis_partial_path},redisModels:n.map(r=>r.model)}}function Km(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(i=>{const s=i.model.match(o);return s&&!Object.keys(e).includes(s[0])}).map(i=>{const s=i.label.match(r);return{label:s?s[0]:i.label,key:i.model,value:"N/A",type:"text"}})}const ke={useAbstractFields:$m,useRedisPartial:jm,useRedisNonStandardFields:Km},zm={class:"form-field-wrapper"},Yi=$(t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),s=t.inject(ge,void 0),{updateModelValue:d,getFieldID:c,clearValidationErrors:m,value:y}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{a("modelUpdated",w.value,w.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{var C,N;const w=(C=r.schema)==null?void 0:C.inputType.toLowerCase();if(w==="number"&&((N=r.schema)==null?void 0:N.referenceable)===!0)return"text";switch(w){case"string":return"text";case"datetime":return"datetime-local";default:return w||"text"}}),p={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},_=(w,C)=>{var V,B;let N=w;const S=p[u.value]||"",E=ht.parse(w,S);E&&((V=r.schema)!=null&&V.format?N=ht.format(E,(B=r.schema)==null?void 0:B.format):N=E.valueOf()),d(N,C)},M=(w,C)=>{An(w)||(w=NaN),d(w,C)},g=w=>{let C=w;switch(r.schema.inputType){case"number":case"range":Ri(parseFloat(w))&&(C=parseFloat(w));break}y.value=C,d(C,w)},k=w=>{y.value=w,d(w,w)},O=t.ref(null),U=()=>{var w;z(O.value)&&((w=O.value)==null||w.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":O.value=ft((w,C)=>{M(w,C)},parseInt(K(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":O.value=ft((w,C)=>{_(w,C)},parseInt(K(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{u.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):u.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):u.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(w,C)=>{const N=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",zm,[t.createVNode(N,t.mergeProps(w.$attrs,{id:t.unref(c)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:u.value==="color"||u.value==="range"?t.unref(y):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(y),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":u.value==="password",type:u.value,width:e.schema.width,onBlur:U,"onUpdate:modelValue":g}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:k,value:t.unref(y)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-c9bb165e"]]),qm={name:"FieldMetric",components:{AddIcon:ue.AddIcon,TrashIcon:ue.TrashIcon},mixins:[Ne],emits:["remove-item"],data(){return{contentVisible:!1}}},Hm={key:0,class:"content"};function Ym(e,n,o,r,a,i){const s=t.resolveComponent("AddIcon"),d=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:a.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=m=>a.contentVisible=!a.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(s,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[a.contentVisible?(t.openBlock(),t.createElementBlock("div",Hm,[t.renderSlot(e.$slots,"default"),t.createVNode(c,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=m=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(d)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Gi=$(qm,[["render",Ym]]),Gm={class:"field-object-container"},Wm={key:1},Zm=["id"],Xm={key:0},Jm=["onUpdate:modelValue"],Qm={key:1},eu=["onUpdate:modelValue"],tu={key:2},nu=["onUpdate:modelValue"],ou=["onClick"],Wi=$(Object.assign({mixins:[Ne],emits:["modelUpdated"],expose:["validate","clearValidationErrors","schema"],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let o=0;o<e.length;o++){const r=e[o];n[r]=typeof this.value[r]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const o=this.keyTypes;delete o[e],this.keyTypes=JSON.parse(JSON.stringify(o))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""},updateModel(e,n){this.$emit("modelUpdated",e,n)}}},{__name:"FieldObject",setup(e){return(n,o)=>{const r=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Gm,[n.schema.schema?(t.openBlock(),t.createBlock(G,{key:0,model:n.value,options:n.formOptions,schema:n.schema.schema,onModelUpdated:n.updateModel},null,8,["model","options","schema","onModelUpdated"])):(t.openBlock(),t.createElementBlock("div",Wm,[t.createElementVNode("table",{id:n.getFieldID(n.schema),class:t.normalizeClass(n.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,(a,i)=>(t.openBlock(),t.createElementBlock("tr",{key:i},[t.createElementVNode("td",null,t.toDisplayString(i),1),n.keyTypes[i]==="string"?(t.openBlock(),t.createElementBlock("td",Xm,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,type:"text"},null,8,Jm),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="boolean"?(t.openBlock(),t.createElementBlock("td",Qm,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,type:"checkbox"},null,8,eu),[[t.vModelCheckbox,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="number"?(t.openBlock(),t.createElementBlock("td",tu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,type:"number"},null,8,nu),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:s=>n.removeElement(i)},null,8,ou)])]))),128))],10,Zm),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":o[0]||(o[0]=a=>n.newKeyType=a)},[...o[3]||(o[3]=[t.createElementVNode("option",{value:"string"}," String ",-1),t.createElementVNode("option",{value:"number"}," Number ",-1),t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)])],512),[[t.vModelSelect,n.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":o[1]||(o[1]=a=>n.newKeyName=a),type:"text"},null,512),[[t.vModelText,n.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:o[2]||(o[2]=(...a)=>n.addKey&&n.addKey(...a))})]))])),[[r,n.attributes]])}}}),[["__scopeId","data-v-6eddb0ed"]]),iu=["id"],au=["data-testid"],ru={class:"item-wrapper"},lu={class:"index-wrapper"},su={key:0},du={key:1},cu=["onUpdate:modelValue","placeholder","type","onInput"],mu={key:0,class:"hint"},uu={class:"input-item"},fu=["placeholder"],hu={key:0,class:"hint"},Zi=$(Object.assign({mixins:[Ne],inject:{autofillSlot:{from:ge,default:void 0}},emits:["model-updated"],expose:["validate","clearValidationErrors","schema"],data(){return{newKeyName:""}},computed:{subSchema(){return this.schema.schema&&this.schema.schema.fields[0].schema},subFields(){return!this.subSchema&&this.schema.fields},hasObjectKeys(){return this.value&&Object.keys(this.value).length>0},transformedModel(){return this.subSchema&&this.subSchema.fields.length>=1&&this.subSchema.fields[0].type==="array"?new Proxy(this.model[this.schema.model],{get:(e,n)=>({[this.schema.model]:e[n]}),set:(e,n,o)=>e[n]=o[this.schema.model]}):this.model[this.schema.model]},valueInputType(){var e;return["number","integer"].includes((e=this.schema.values)==null?void 0:e.type)?"number":"text"}},mounted(){this.value||(this.value={});let e=[];this.subSchema?e=this.subSchema.fields:this.subFields&&(e=this.schema.fields[0].schema),this.value=this.transformMapModelValuesToObject(this.model,e,this.schema.model)},methods:{removeElement(e){const n=this.value;delete n[e],this.value={...n}},transformMapModelValuesToObject(e,n,o){let r={};try{r=JSON.parse(JSON.stringify(e??{}))[o]??{}}catch{}return Object.keys(e).map(a=>{const i=a.indexOf(o+"-");if(i>-1&&Array.isArray(n))if(n.length>0){const d=a.split("-").filter(m=>n.find(y=>y.model===m)),c=a.split(`-${d}`)[0].split(`${o}-`)[1];d.length?r[c]={...r[c],[d]:e[a]}:r[a.substring(i+`${o}-`.length)]=e[a]}else r[a.substring(`${o}-`.length)]=e[a];else{const d=a.split("-").filter(m=>m===this.schema.model),c=a.split(`-${d}`)[0].split(`${o}-`)[1];c&&(r[c]=e[a])}return a}),r},addKey(){var r;const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=((r=this.schema.values)==null?void 0:r.default)??(this.valueInputType==="number"?0:""),o=this.subSchema?e?[""]:{}:n;this.value[this.newKeyName]=o,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},{__name:"FieldObjectAdvanced",setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{id:n.getFieldID(n.schema),class:t.normalizeClass(["object-advanced-wrapper",n.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,(a,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,"data-testid":`field-object-key-${i}`},[t.createElementVNode("div",null,[t.createElementVNode("div",ru,[t.createElementVNode("div",lu,[t.createElementVNode("strong",null,t.toDisplayString(i),1),t.createElementVNode("div",null,[t.createVNode(r,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:s=>n.removeElement(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1},8,["onClick"])])]),o[1]||(o[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),n.subSchema?(t.openBlock(),t.createElementBlock("div",su,[t.createVNode(G,{model:n.transformedModel[i],options:{helpAsHtml:!0},schema:n.subSchema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",du,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,class:"form-control",placeholder:n.schema.fields&&n.schema.fields[0].schema.placeholder,type:n.valueInputType,onInput:s=>n.updateModel(n.value[i],n.model[n.schema.model])},null,40,cu),[[t.vModelDynamic,n.value[i]]]),n.schema.fields&&n.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",mu,t.toDisplayString(n.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.autofillSlot),{schema:n.schema.fields&&n.schema.fields[0].schema||n.schema.values,update:s=>n.value[i]=s,value:n.value[i]},null,8,["schema","update","value"]))])),o[2]||(o[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,au))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:n.hasObjectKeys}])},[t.createElementVNode("div",uu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=a=>n.newKeyName=a),class:"form-control","data-testid":"keyname-input",placeholder:n.schema.placeholder,type:"text"},null,8,fu),[[t.vModelText,n.newKeyName]]),t.createVNode(r,{appearance:"tertiary","data-testid":"add-key",disabled:!n.newKeyName,onClick:n.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(n.schema.buttonLabel||n.schema.label),1)]),_:1},8,["disabled","onClick"])]),n.schema.hintText?(t.openBlock(),t.createElementBlock("p",hu,t.toDisplayString(n.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,iu)}}}),[["__scopeId","data-v-0faeec4d"]]),pu={class:"radio-selection-group"},Xi=$(t.defineComponent({__name:"FieldRadio",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),{updateModelValue:s,value:d,clearValidationErrors:c}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:y=>{a("modelUpdated",y.value,y.model)}});n({clearValidationErrors:c});const m=y=>{let u=y;typeof y=="string"&&(u=y.split(","),r.schema.array||(u=u.toString())),s(u,y)};return(y,u)=>{const p=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",pu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(_,M)=>(t.openBlock(),t.createBlock(p,{id:e.schema.name+"-"+M,key:_.value,modelValue:t.unref(d),"onUpdate:modelValue":u[0]||(u[0]=g=>t.isRef(d)?d.value=g:null),label:_.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":_.value,onChange:m},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),[["__scopeId","data-v-a070103e"]]),Ji=t.defineComponent({__name:"FieldSelect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.computed(()=>r.schema.selectOptions||{}),s=g=>ee(g)?null:g,d=t.toRefs(r),{getFieldID:c,clearValidationErrors:m,value:y}=ke.useAbstractFields({model:d.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,emitModelUpdated:g=>{a("modelUpdated",g.value,g.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{const g=r.schema.values;return p(typeof g=="function"?g.apply(this,[r.model,r.schema]):g)}),p=g=>{const k=[];return g.forEach(O=>{k.push({label:M(O),value:_(O),disabled:typeof O=="object"&&O.disabled||void 0,group:typeof O=="object"&&String(O.group||"").toUpperCase()||void 0})}),k},_=g=>{if(_e(g)){if(i.value&&typeof i.value.value<"u")return g[i.value.value];if(typeof g.id<"u")return String(g.id);throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return g},M=g=>{if(_e(g)){if(i.value&&typeof i.value.name<"u")return g[i.value.name];if(typeof g.name<"u")return String(g.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(g)};return(g,k)=>{const O=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(O,{id:t.unref(c)(e.schema),modelValue:t.unref(y),"onUpdate:modelValue":k[0]||(k[0]=U=>t.isRef(y)?y.value=U:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:u.value,"kpop-attributes":{"data-testid":`${t.unref(c)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:i.value.hideNoneSelectedText?void 0:i.value.noneSelectedText||"Nothing Selected",required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","class","clearable","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),gu={class:"field-string-array"},Qi=$(t.defineComponent({__name:"FieldStringArray",props:{formOptions:{},model:{},schema:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=o,{updateModelValue:a,getFieldID:i,getLabelId:s,clearValidationErrors:d,value:c}=ke.useAbstractFields({model:t.toRef(()=>e.model),schema:e.schema,formOptions:e.formOptions,emitModelUpdated:_=>{r("modelUpdated",_.value,_.model)}});n({clearValidationErrors:d});const m=t.ref("");function y(_){return Array.isArray(_)?_.map(M=>String(M).trim()).filter(Boolean).join(", "):""}function u(_){return _?_.trim().split(",").map(M=>M.trim()).filter(Boolean):[]}function p(_){m.value=_;const M=u(_);a(M,c.value)}return t.watch(c,_=>{const M=_?y(_):"";y(u(m.value))!==M&&(m.value=M)},{immediate:!0}),(_,M)=>{const g=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",gu,[t.createVNode(g,t.mergeProps(_.$attrs,{id:t.unref(i)(e.schema),"aria-labelledby":t.unref(s)(e.schema),class:e.schema.fieldClasses,help:"Use comma to separate values. eg: value1, value2","model-value":m.value,placeholder:e.schema.placeholder||"Comma separated values",type:"text","onUpdate:modelValue":p}),null,16,["id","aria-labelledby","class","model-value","placeholder"])])}}}),[["__scopeId","data-v-cf2eff67"]]),yu={name:"FieldArray",components:{FieldArrayItem:Pi,FieldArrayMultiItem:vi,FieldSelect:Ji,FieldMetric:Gi,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldRadio:Xi,FieldArrayCardContainer:Li,FieldInput:Yi,FieldStringArray:Qi,TrashIcon:ue.TrashIcon},mixins:[Ne],inject:{autofillSlot:{from:ge,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,o){var a,i,s,d,c,m,y;let r;return n&&(r=JSON.parse(JSON.stringify(n)),(a=n.schema)!=null&&a.fields&&((d=(s=(i=r.schema)==null?void 0:i.fields)==null?void 0:s.forEach)==null||d.call(s,(u,p)=>{const _=n.schema.fields[p];_&&Object.keys(_).forEach(M=>{typeof _[M]=="function"&&(u[M]=_[M])})})),(y=(m=(c=r.schema)==null?void 0:c.fields)==null?void 0:m.map)==null||y.call(m,u=>(u.id=`${u.id||u.model}-${o}`,u))),{...r,set(u,p){e[o]=p},get(){return e[o]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,o)=>o!==e)},getFieldComponent(e){return e.component?e.component:"field-"+e.type},modelUpdated(){this.$emit("refreshModel")},handleInput(e,n){var r,a;let o=e;((a=(r=this.schema)==null?void 0:r.inputAttributes)==null?void 0:a.type)==="number"&&An(parseFloat(e))&&(o=parseFloat(e)),this.value=this.value.map((i,s)=>s===n?o:i)},isStringArrayItems(){var n,o;const e=(n=this.schema)==null?void 0:n.elements;return e?e.type==="array"&&((o=e.elements)==null?void 0:o.type)==="string":!1},generateStringArraySchema(e){var n;return{model:String(e),id:`${this.schema.id||this.schema.model}-${e}`,placeholder:this.schema.placeholder,help:this.schema.help,fieldClasses:(n=this.schema.inputAttributes)==null?void 0:n.class,get:()=>this.value[e]}},handleStringArrayUpdate(e,n){this.value=this.value.map((o,r)=>r===n?e:o),this.$emit("refreshModel")}}},bu=["id"],_u={key:0,class:"string-array-item"},Eu={key:2},Cu=["onUpdate:modelValue","aria-labelledby","type"],Su=["onUpdate:modelValue","aria-labelledby"];function Tu(e,n,o,r,a,i){const s=t.resolveComponent("FieldStringArray"),d=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton"),m=t.resolveComponent("KTextArea"),y=t.resolveComponent("KInput");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(u,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:t.normalizeClass(e.schema.fieldItemsClasses)},[i.isStringArrayItems()?(t.openBlock(),t.createElementBlock("div",_u,[t.createVNode(s,{"form-options":e.formOptions,model:e.value,schema:i.generateStringArraySchema(p),onModelUpdated:_=>i.handleStringArrayUpdate(_,p)},null,8,["form-options","model","schema","onModelUpdated"]),t.createVNode(c,{appearance:"tertiary",class:"string-array-remove-btn",icon:"",onClick:_=>i.removeElement(p)},{default:t.withCtx(()=>[t.createVNode(d,{decorative:""})]),_:1},8,["onClick"])])):e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:1,index:p,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onRemoveItem:_=>i.removeElement(p)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onModelUpdated:i.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",Eu,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onModelUpdated:i.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:3,"data-testid":`${e.getFieldID(e.schema)}-item-${p}`,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onRemoveItem:_=>i.removeElement(p)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:_=>e.value[p]=_,value:e.value[p]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var _;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(m,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[p],"onUpdate:modelValue":M=>e.value[p]=M,"aria-labelledby":e.getLabelId(e.schema),autosize:"","character-limit":e.schema.inputAttributes.max,class:e.schema.fieldClasses,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","character-limit","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"||e.schema.inputAttributes.type==="number"?(t.openBlock(),t.createBlock(y,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[p],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:M=>{i.handleInput(M,p)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":M=>e.value[p]=M,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{type:((_=e.schema.inputAttributes)==null?void 0:_.type)||"text"}),null,16,Cu)),[[t.vModelDynamic,e.value[p]]])]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":_=>e.value[p]=_,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Su),[[t.vModelText,e.value[p]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:_=>e.value[p]=_,value:e.value[p]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(c,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:i.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||o.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,bu)):t.createCommentVNode("",!0)}const ku=$(yu,[["render",Tu],["__scopeId","data-v-64e1f575"]]),wu={class:"form-field-wrapper field-checkbox"},Mu=["innerHTML"],Nu=$(t.defineComponent({__name:"FieldCheckbox",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),{getFieldID:s,value:d,clearValidationErrors:c}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}}),m=t.computed(()=>r.schema.help?xo.sanitize(r.schema.help.replace(/<\/?p>/g,"").trim()):""),y=t.computed(()=>{const u=r.schema.checkboxDescription;return typeof u=="function"?u(r.model)||void 0:u||void 0});return n({clearValidationErrors:c}),(u,p)=>{const _=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",wu,[t.createVNode(_,t.mergeProps(u.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(d),"onUpdate:modelValue":p[0]||(p[0]=M=>t.isRef(d)?d.value=M:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,description:y.value||void 0,disabled:e.disabled||void 0,help:e.hint?e.hint:void 0,label:e.schema.checkboxLabel||void 0,"label-attributes":e.schema.checkboxLabel&&e.schema.help?{tooltipAttributes:{maxWidth:"300"}}:void 0,name:e.schema.inputName,readonly:e.schema.readonly,required:e.schema.required,width:e.schema.width}),t.createSlots({_:2},[e.schema.checkboxLabel&&e.schema.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("span",{innerHTML:m.value},null,8,Mu)]),key:"0"}:void 0]),1040,["id","modelValue","autocomplete","class","description","disabled","help","label","label-attributes","name","readonly","required","width"])])}}}),[["__scopeId","data-v-39c92a17"]]),Au={class:"wrapper"},Iu=["disabled"],Vu=["id","checked","disabled","onChange","name"],Ou=["disabled"],Bu={class:"info"},Fu={class:"dropList"},Ru=["id","checked","disabled","onChange","name"];function Du(e,n,o,r,a,i){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Au,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.items,d=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(d)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(d)||null,disabled:e.disabled||null,onChange:c=>i.onChanged(c,d),name:i.getInputName(d)},null,40,Vu),[[s,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(d)),1)])],2))),256))],8,Iu)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:a.comboExpanded}]),onClick:n[0]||(n[0]=(...d)=>i.onExpandCombo&&i.onExpandCombo(...d))},[t.createElementVNode("div",Bu,t.toDisplayString(i.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",Fu,[a.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(i.items,d=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(d)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(d)||null,disabled:e.disabled||null,onChange:c=>i.onChanged(c,d),name:i.getInputName(d)},null,40,Ru),[[s,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(d)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Ou))])),[[s,"wrapper"]])}const Uu=$({mixins:[Ne],data(){return{comboExpanded:!1}},computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},selectedCount(){return this.value?this.value.length:0}},methods:{getInputName(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?fi(this.schema.inputName+"_"+this.getItemValue(e)):fi(this.getItemValue(e))},getItemValue(e){if(_e(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.value<"u")return e[this.schema.checklistOptions.value];if(typeof e.value<"u")return e.value;throw new Error("`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},getItemName(e){if(_e(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.name<"u")return e[this.schema.checklistOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},isItemChecked(e){return this.value&&this.value.indexOf(this.getItemValue(e))!==-1},onChanged(e,n){if((ee(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const o=xi(this.value);o.push(this.getItemValue(n)),this.value=o}else{const o=xi(this.value);o.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=o}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},[["render",Du]]),Lu={name:"FieldKeyValuePairs",components:{TrashIcon:ue.TrashIcon},mixins:[Ne],inject:{autofillSlot:{from:ge,default:void 0}},data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){var n,o;this.value||(this.value={});const e=((o=this.model)==null?void 0:o[(n=this.schema)==null?void 0:n.model])??{};Object.keys(e).forEach(r=>{this.pairs.push({key:r,value:e[r]})})},methods:{onInput(e,n,o){this.pairs[n][o]=e.target.value},updateValue(){this.value=this.pairs.reduce((e,{key:n,value:o})=>({...e,...n&&o?{[n]:o}:null}),{})},addPair(){this.pairs.push({key:"",value:""})},removePair(e){this.pairs.splice(e,1)}}},Pu={class:"key-value-pairs-editor"},vu={class:"pair-item-cell"},xu=["data-testid","placeholder","value","onInput"],$u={class:"pair-item-cell"},ju=["data-testid","placeholder","value","onInput"];function Ku(e,n,o,r,a,i){const s=t.resolveComponent("TrashIcon"),d=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Pu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.pairs,(c,m)=>(t.openBlock(),t.createElementBlock("div",{key:m,class:"pair-item"},[t.createElementVNode("div",vu,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${m}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:c.key,onInput:y=>{i.onInput(y,m,"key")}},null,40,xu),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:y=>i.onInput({target:{value:y}},m,"key"),value:c.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",$u,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${m}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:c.value,onInput:y=>{i.onInput(y,m,"value")}},null,40,ju),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:y=>i.onInput({target:{value:y}},m,"value"),value:c.value},null,8,["schema","update","value"]))]),t.createVNode(d,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${m}`,onClick:()=>{i.removePair(m)}},{default:t.withCtx(()=>[t.createVNode(s)]),_:1},8,["data-testid","onClick"])]))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:i.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const zu=$(Lu,[["render",Ku],["__scopeId","data-v-be99d00c"]]),qu=$(t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,o=t.toRefs(n),{getFieldID:r,value:a}=ke.useAbstractFields({model:o.model,schema:n.schema,formOptions:n.formOptions});return(i,s)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(d,{id:t.unref(r)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)),1)]),_:1},8,["id"])],2)}}}),[["__scopeId","data-v-e3423a11"]]),Hu=t.defineComponent({__name:"FieldMultiselect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRef(r,"model"),{getLabelId:s,getFieldID:d,clearValidationErrors:c,value:m}=ke.useAbstractFields({model:i,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}});n({clearValidationErrors:c});const y=t.computed(()=>{var u,p;return r.schema.values?r.schema.values:(p=(u=r.schema.elements)==null?void 0:u.one_of)!=null&&p.length?r.schema.elements.one_of.map(_=>({label:String(_),value:String(_)})):[]});return(u,p)=>{const _=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(_,{id:t.unref(d)(e.schema),modelValue:t.unref(m),"onUpdate:modelValue":p[0]||(p[0]=M=>t.isRef(m)?m.value=M:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:y.value,"kpop-attributes":{"data-testid":`${t.unref(d)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","aria-labelledby","class","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),Yu={class:"selection-group"},Gu={class:"form-group horizontal-radios"},Wu={class:"radio-group"},Zu=["disabled","value"],Xu={class:"control-help"},Ju={key:0,class:"option-field"},Qu={class:"option-field-container"},ef=$(Object.assign({mixins:[Ne],emits:["model-updated"],expose:["validate","clearValidationErrors","schema"],data(){return{checkedGroup:null,fieldModel:{...this.model},renderedTrack:[],fieldSchema:[],scope:"scope"}},watch:{checkedGroup:{handler(e,n){if(this.renderedTrack[e]=!0,n===null){this.fieldModel={...this.model};return}const o=this.schema.fields[e].fields,r=this.schema.fields[n].fields;r&&r.forEach(a=>this.updateModel("",a.model)),o&&o.forEach(a=>this.updateModel(this.fieldModel[a.model],a.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{this.renderedTrack.push(!1),e.fields&&e.fields.forEach(o=>{var r;this.model[o.model]&&(this.checkedGroup=n,this.fieldSchema.push(o.model),this.scope=(r=o.label)==null?void 0:r.toLowerCase())})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},{__name:"FieldSelectionGroup",setup(e){const{t:n}=be.createI18n("en-us",Ce);return(o,r)=>(t.openBlock(),t.createElementBlock("div",Yu,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.$props.disabled?"k-tooltip":"div"),{"max-width":"300",text:t.unref(n)("general.disable_global_radio",{scope:o.scope})},{default:t.withCtx(()=>[t.createElementVNode("div",Gu,[t.createElementVNode("div",Wu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.schema.fields,(a,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,class:t.normalizeClass(["option-group",{"radio-disabled":o.$props.disabled}])},[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${a.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=s=>o.checkedGroup=s),class:"k-input",disabled:o.$props.disabled,type:"radio",value:i},null,8,Zu),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(a.label)+" ",1),t.createElementVNode("div",Xu,t.toDisplayString(a.description),1)],2)],2))),128))])])]),_:1},8,["text"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.schema.fields,(a,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,class:"option-group"},[o.renderedTrack[i]?t.withDirectives((t.openBlock(),t.createElementBlock("div",Ju,[t.createElementVNode("div",Qu,[t.createVNode(G,{model:o.model,options:{helpAsHtml:!0},schema:{fields:a.fields},onModelUpdated:o.updateModel},null,8,["model","schema","onModelUpdated"])])],512)),[[t.vShow,a.fields&&o.checkedGroup===i]]):t.createCommentVNode("",!0)]))),128))]))}}),[["__scopeId","data-v-0b44571b"]]),tf={class:"form-field-wrapper"},nf=t.defineComponent({__name:"FieldSwitch",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,{t:i}=be.createI18n("en-us",Ce),s=p=>p!=null&&r.schema.valueOn?p===r.schema.valueOn:p,d=p=>p!=null&&r.schema.valueOn?p?r.schema.valueOn:r.schema.valueOff:p,c=t.toRefs(r),{getFieldID:m,value:y,clearValidationErrors:u}=ke.useAbstractFields({model:c.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,formatValueToModel:d,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:u}),(p,_)=>{const M=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",tf,[t.createVNode(M,{id:t.unref(m)(e.schema),modelValue:t.unref(y),"onUpdate:modelValue":_[0]||(_[0]=g=>t.isRef(y)?y.value=g:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(y)?e.schema.textOn||t.unref(i)("vfg.labels.on"):e.schema.textOff||t.unref(i)("vfg.labels.off"),"label-attributes":{info:e.schema.help},name:e.schema.inputName,required:e.schema.required||void 0},null,8,["id","modelValue","autocomplete","class","disabled","label","label-attributes","name","required"])])}}}),of={class:"field-textarea"},af={name:"FormGroup",components:Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:um,FieldArray:ku,FieldArrayCardContainer:Li,FieldArrayItem:Pi,FieldArrayMultiItem:vi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldCheckbox:Nu,FieldChecklist:Uu,FieldInput:Yi,FieldKeyValuePairs:zu,FieldLabel:qu,FieldMetric:Gi,FieldMultiselect:Hu,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldRadio:Xi,FieldSelect:Ji,FieldSelectionGroup:ef,FieldStringArray:Qi,FieldSwitch:nf,FieldTextArea:$(t.defineComponent({__name:"FieldTextArea",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),s=t.inject(ge,void 0),{updateModelValue:d,getFieldID:c,clearValidationErrors:m,value:y}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});n({clearValidationErrors:m});const u=p=>{y.value=p,d(p,p)};return(p,_)=>{const M=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",of,[t.createVNode(M,t.mergeProps(p.$attrs,{id:t.unref(c)(e.schema),modelValue:t.unref(y),"onUpdate:modelValue":_[0]||(_[0]=g=>t.isRef(y)?y.value=g:null),autosize:"","character-limit":e.schema.max??!1,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint||void 0,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","character-limit","class","disabled","help","minlength","name","placeholder","readonly","required","rows"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:u,value:t.unref(y)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-609c18d6"]])},Symbol.toStringTag,{value:"Module"})),mixins:[hi],inject:{"vfg-array-item-index":{default:void 0}},props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated","refreshModel"],data(){return{child:t.ref()}},computed:{schema(){var n;if(!((n=this.field)!=null&&n.schema)||!Array.isArray(this.field.schema.fields))return this.field;const e=this["vfg-array-item-index"];return typeof e!="number"||Number.isNaN(e)?this.field:{...this.field,schema:{...this.field.schema,fields:this.field.schema.fields.map(o=>({...o,...o.id?{id:`${o.id}-${e}`}:void 0}))}}}},methods:{sanitize(e){return xo.sanitize(e)},fieldTypeHasLabel(e){if(ee(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=K(this.options,"fieldIdPrefix","");return wn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldComponent(e){return e.component?e.component:"field-"+e.type},getButtonType(e){return K(e,"type","button")},onFieldValidated(e,n,o){this.$emit("validated",e,n,o)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,o){return e.onclick.call(this,this.model,n,o,this)},fieldHint(e){return z(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},rf=["innerHTML"],lf={class:"icon-wrapper"},sf={key:0,class:"link-wrapper"},df={class:"field-wrap"},cf={key:0,class:"buttons"},mf=["type","onClick","textContent"],uf={key:1,class:"hint"},ff={key:2,class:"errors help-block"};function hf(e,n,o,r,a,i){const s=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(o.field)])},[i.fieldTypeHasLabel(o.field)?(t.openBlock(),t.createBlock(d,{key:0,"aria-describedby":o.field.help?i.getTooltipId(o.field):void 0,class:t.normalizeClass([o.field.labelClasses,"form-group-label"]),for:i.getFieldID(o.field),info:!o.options.helpAsHtml&&o.field.help?o.field.help:void 0,"tooltip-attributes":o.field.help?{maxWidth:"300",placement:"top",tooltipId:i.getTooltipId(o.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",lf,[t.createElementVNode("span",null,t.toDisplayString(i.formattedLabel(o.field.label)),1)]),o.field.link?(t.openBlock(),t.createElementBlock("div",sf,[t.createVNode(s,{href:o.field.link},{default:t.withCtx(()=>[...n[0]||(n[0]=[t.createElementVNode("span",{class:"section-header"},"More info",-1)])]),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[o.options.helpAsHtml&&o.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(o.field.help)},null,8,rf)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",df,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(o.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(o.field)||null,"form-options":o.options,hint:o.field.hint&&o.field.type==="input"?i.fieldHint(o.field):void 0,model:o.model,schema:i.schema,vfg:o.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onRefreshModel","onValidated"])),i.buttonVisibility(o.field)?(t.openBlock(),t.createElementBlock("div",cf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.field.buttons,(c,m)=>(t.openBlock(),t.createElementBlock("button",{key:m,class:t.normalizeClass(c.classes),type:i.getButtonType(c),onClick:y=>i.buttonClickHandler(c,o.field,y),textContent:t.toDisplayString(c.label)},null,10,mf))),128))])):t.createCommentVNode("",!0)]),o.field.hint&&o.field.type!=="input"?(t.openBlock(),t.createElementBlock("div",uf,t.toDisplayString(i.fieldHint(o.field)),1)):t.createCommentVNode("",!0),i.fieldErrors(o.field).length>0?(t.openBlock(),t.createElementBlock("div",ff,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fieldErrors(o.field),(c,m)=>(t.openBlock(),t.createElementBlock("span",{key:m},t.toDisplayString(c),1))),128))])):t.createCommentVNode("",!0)],2)}const ea=$(af,[["render",hf],["__scopeId","data-v-87df5b50"]]);var Ot=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ot||{});const pf=e=>{var n,o;return e.type===Ot.REDIS_CE?"Host/Port":(n=e.config.sentinel_nodes)!=null&&n.length?"Sentinel":(o=e.config.cluster_nodes)!=null&&o.length?"Cluster":"Host/Port"},gf={[Ot.REDIS_CE]:"open source",[Ot.REDIS_EE]:"enterprise"},ta=e=>gf[e]??"",pt={KONNECT_MANAGED:"konnect-managed",SELF_MANAGED:"self-managed"},yf="managed_cache.v0";function bf(e){const o=(Array.isArray(e.tags)?e.tags:[]).filter(r=>typeof r=="string").map(r=>r.toLowerCase());return o.includes(pt.KONNECT_MANAGED)||o.includes(yf)?pt.KONNECT_MANAGED:pt.SELF_MANAGED}const _f={class:"partial-config-card"},Ef={class:"config-card-row-label"},Cf={class:"label-text"},Sf=["data-testid"],Tf=["data-testid"],kf={key:1},wf=["data-testid"],Mf=["data-testid"],Nf=$(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{type:Object,required:!0},pluginRedisFields:{type:Array,required:!0}},setup(e){const{t:n,formatUnixTimeStamp:o}=be.createI18n("en-us",Ce),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},a=e,i=u=>u!=null,s=(u,p)=>i(p)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:d}=lt.useStringHelpers(),c=t.computed(()=>Object.entries(a.configFields).map(([u,p])=>{var _,M,g,k;return{key:u,label:((_=r[u])==null?void 0:_.label)??d(u),value:(M=r[u])!=null&&M.formatter?r[u].formatter(p):p,type:((g=r[u])==null?void 0:g.type)??s(u,p),order:((k=r[u])==null?void 0:k.order)??100}}).sort((u,p)=>u.order-p.order).filter(u=>u.type!=="hidden")),m=ke.useRedisNonStandardFields(a.configFields,a.pluginRedisFields),y=t.computed(()=>c.value.concat(m));return(u,p)=>{const _=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",_f,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,({key:M,label:g,value:k,type:O})=>(t.openBlock(),t.createElementBlock("div",{key:M,class:"partial-config-card-row"},[t.createElementVNode("div",Ef,[t.createElementVNode("div",Cf,t.toDisplayString(g),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${M}-property-value`},[i(k)?(t.openBlock(),t.createElementBlock("div",kf,[O==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${M}-copy-password`},[t.createVNode(_,{format:"redacted",text:String(k)},null,8,["text"])],8,wf)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${M}-plain-text`},t.toDisplayString(k),9,Mf))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${M}-no-value`}," – ",8,Tf))],8,Sf)]))),128))])}}}),[["__scopeId","data-v-57f78095"]]),Af={class:"redis-config-select","data-testid":"redis-config-select"},If={class:"selected-redis-config"},Vf=["data-testid"],Of={class:"select-item-name","data-testid":"selected-redis-config"},Bf={class:"empty-redis-config","data-testid":"empty-redis-config"},Ff={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Rf="1000",na=$(t.defineComponent({__name:"RedisConfigSelect",props:{defaultRedisConfigItem:{type:String,required:!1,default:""},updateRedisModel:{type:Function,required:!0},pluginRedisFields:{type:Array,required:!0},redisType:{type:String,default:"all"},isCustomPlugin:{type:Boolean,default:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1}},emits:["showNewPartialModal"],setup(e){const{t:n}=be.createI18n("en-us",Ce),o=t.inject(Co),r={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/{workspace}/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/{workspace}/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},a=e,i=t.ref(null),{getMessageFromError:s}=lt.useErrors(),d=t.inject(qt),{debouncedQueryChange:c,loading:m,error:y,loadItems:u,results:p}=lt.useDebouncedFilter(d,r[d.app].getAll,Rf,{fetchedItemsKey:"data",searchKeys:["id","name"]}),_=t.computed(()=>y.value?s(y.value):""),M=t.computed(()=>a.isCustomPlugin?n("redis.custom_plugin.tooltip"):n("redis.shared_configuration.tooltip",{type:ta(a.redisType)})),g=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.title"):n("redis.shared_configuration.title")),k=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.selector.placeholder"):n("redis.shared_configuration.selector.placeholder")),O=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.create_new_configuration"):n("redis.shared_configuration.create_new_configuration",{type:ta(a.redisType)})),U=t.computed(()=>_.value||n("redis.shared_configuration.error")),w=V=>{let B=`${d.apiBaseUrl}${r[d.app].getOne}`;return d.app==="konnect"&&(B=B.replace(/{controlPlaneId}/gi,(d==null?void 0:d.controlPlaneId)||"")),B=B.replace(/\/{workspace}/gi,d!=null&&d.workspace?`/${d.workspace}`:"").replace(/{id}/gi,String(V)),B},C=t.computed(()=>{const V=(p.value||[]).map(B=>{const h=B,b=a.isKonnectManagedRedisEnabled?bf(h):void 0,T=b===pt.KONNECT_MANAGED;return{...a.isKonnectManagedRedisEnabled&&b?{source:b}:{},label:B.id,name:B.name,value:B.id,type:B.type,tag:a.isKonnectManagedRedisEnabled&&T?void 0:pf(h)}}).filter(B=>B.type==="redis-ce"||B.type==="redis-ee");return a.redisType!=="all"?V.filter(B=>B.type===a.redisType):V}),N=t.computed(()=>{const V=C.value;if(!a.isKonnectManagedRedisEnabled)return V;const B=V.filter(T=>T.source===pt.KONNECT_MANAGED),h=V.filter(T=>T.source===pt.SELF_MANAGED),b=[];return B.length>0&&b.push({label:n("redis.managed_ui.groups.konnect_managed"),items:B}),h.length>0&&b.push({label:n("redis.managed_ui.groups.self_managed"),items:h}),b}),{axiosInstance:S}=lt.useAxios(d==null?void 0:d.axiosRequestConfig),E=async V=>{if(V){a.updateRedisModel(V);try{const B=await S.get(w(V));if(B.data.config){const h=Object.assign(B.data,B.data.config);delete h.config,i.value=h}}catch(B){console.error(B)}}};return t.watch(()=>o==null?void 0:o.value,async V=>{V&&await u()}),t.onBeforeMount(()=>{u(),a.defaultRedisConfigItem&&E(a.defaultRedisConfigItem)}),(V,B)=>{const h=t.resolveComponent("KLabel"),b=t.resolveComponent("KBadge"),T=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Af,[t.createVNode(h,{info:M.value,"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.value),1)]),_:1},8,["info"]),B[2]||(B[2]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(T,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:N.value,loading:t.unref(m),"model-value":e.defaultRedisConfigItem,placeholder:k.value,onChange:B[1]||(B[1]=F=>E(F==null?void 0:F.value)),onQueryChange:t.unref(c)},{"selected-item-template":t.withCtx(({item:F})=>[t.createElementVNode("div",If,t.toDisplayString(F.name),1)]),"item-template":t.withCtx(({item:F})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${F.name}`},[t.createElementVNode("span",Of,t.toDisplayString(F.name),1),F.tag?(t.openBlock(),t.createBlock(b,{key:0,appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(F.tag),1)]),_:2},1024)):t.createCommentVNode("",!0)],8,Vf)]),empty:t.withCtx(()=>[t.createElementVNode("div",Bf,t.toDisplayString(t.unref(n)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:B[0]||(B[0]=F=>V.$emit("showNewPartialModal"))},[t.createVNode(t.unref(ue.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref($i)})`},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(O.value),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),i.value?(t.openBlock(),t.createBlock(Nf,{key:0,"config-fields":i.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),_.value?(t.openBlock(),t.createElementBlock("p",Ff,t.toDisplayString(U.value),1)):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-1a2a3d47"]]),Df={key:0},Uf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Lf={key:0,class:"shared-redis-config"},Pf={key:1,class:"dedicated-redis-config"},vf={class:"dedicated-redis-config-title"},xf={name:"VueFormGenerator",components:{formGroup:ea,formRedis:$(t.defineComponent({__name:"FormRedis",props:{tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}},model:{type:Object,default:()=>{}},options:{type:Object,required:!0},field:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default(){return[]}},redisPath:{type:String,default:void 0,required:!1},isEditing:{type:Boolean,default:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1}},emits:["modelUpdated","partialToggled","showNewPartialModal","refreshModel","validated"],setup(e,{emit:n}){const o=e,r=n,{t:a}=be.createI18n("en-us",Ce),i=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.title"):a("redis.title")),s=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.description"):a("redis.shared_configuration.description")),d=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.label"):a("redis.shared_configuration.label")),c=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.dedicated_configuration.description"):a("redis.dedicated_configuration.description")),m=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.dedicated_configuration.label"):a("redis.dedicated_configuration.label")),y=t.computed(()=>o.field.pluginType==="custom"),u=t.ref(!o.isEditing),p=t.ref(),_=t.ref({}),M=t.ref(),g=C=>z(C.visible)?C.visible.call(this,o.model,C,this):ee(C.visible)?!0:C.visible,k=async C=>{r("modelUpdated",[{id:C,path:o.redisPath}],"partials"),M.value=[{id:C,path:o.redisPath}],p.value=C},O=(C,N)=>{_.value={..._.value,[N]:C},r("modelUpdated",C,N)},U=()=>{r("refreshModel")},w=(C,N,S)=>{r("validated",C,N,S)};return t.watch(()=>u.value,C=>{C?M.value&&r("partialToggled","redis",{partials:M.value}):r("partialToggled","partials",_.value)}),t.onBeforeMount(()=>{var C,N,S;if(o.model&&(_.value=o.field.fields.reduce((E,V)=>(Object.keys(o.model).includes(V.model)&&(E[V.model]=o.model[V.model]),E),{})),(S=(N=(C=o==null?void 0:o.model)==null?void 0:C.partials)==null?void 0:N[0])!=null&&S.id){const E=o.model.partials[0].id;u.value=!0,p.value=E}}),(C,N)=>{const S=t.resolveComponent("KAlert"),E=t.resolveComponent("KBadge"),V=t.resolveComponent("KRadio"),B=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[y.value?(t.openBlock(),t.createElementBlock("div",Df,[t.createVNode(S,{"data-testid":"custom-plugin-redis-config-note",message:t.unref(a)("redis.custom_plugin.alert")},null,8,["message"]),t.createVNode(na,{"default-redis-config-item":p.value,"is-custom-plugin":"","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"update-redis-model":k,onShowNewPartialModal:N[0]||(N[0]=h=>C.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(B,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:i.value},{default:t.withCtx(()=>[t.createElementVNode("div",Uf,[t.createVNode(V,{modelValue:u.value,"onUpdate:modelValue":N[1]||(N[1]=h=>u.value=h),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:s.value,label:d.value,"selected-value":!0},{default:t.withCtx(()=>[e.isKonnectManagedRedisEnabled?(t.openBlock(),t.createBlock(E,{key:0,appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("redis.managed_ui.shared_configuration.badge")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1},8,["modelValue","description","label"]),t.createVNode(V,{modelValue:u.value,"onUpdate:modelValue":N[2]||(N[2]=h=>u.value=h),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:c.value,label:m.value,"selected-value":!1},null,8,["modelValue","description","label"])]),u.value?(t.openBlock(),t.createElementBlock("div",Lf,[t.createVNode(na,{"default-redis-config-item":p.value,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"redis-type":e.field.redisType,"update-redis-model":k,onShowNewPartialModal:N[3]||(N[3]=h=>C.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",Pf,[t.createElementVNode("div",vf,t.toDisplayString(t.unref(a)("redis.dedicated_configuration.title")),1),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.field.fields,h=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:h.model},[g(h)?(t.openBlock(),t.createBlock(ea,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:h,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:O,onRefreshModel:U,onValidated:w},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),[["__scopeId","data-v-58023d89"]])},mixins:[hi],inject:{autofillSlot:{from:ge,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[ge]:(e=this.$slots)==null?void 0:e[et]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}},enableRedisPartial:{type:Boolean,default:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1},isEditing:{type:Boolean,default:!1}},emits:["validated","modelUpdated","refreshModel","partialToggled","showNewPartialModal"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&fe(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&fe(this.schema.groups.slice(0),n=>{e.push(n)}),e}},watch:{model:{deep:!0,handler(e,n){n!==e&&e!=null&&this.$nextTick(()=>{this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors()})}}},mounted(){this.$nextTick(()=>{this.model&&(this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors())})},methods:{fieldVisible(e){return z(e.visible)?e.visible.call(this,this.model,e,this):ee(e.visible)?!0:e.visible},onFieldValidated(e,n,o){this.errors=this.errors.filter(a=>a.field.fieldName!==o.schema.fieldName),!e&&n&&n.length>0&&fe(n,a=>{this.errors.push({field:o.schema,error:a})});const r=this.errors.length===0;this.$emit("validated",r,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},onPartialToggled(e,n){this.$emit("partialToggled",e,n)},validate(e=null){e===null&&(e=K(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],o=[];fe(this.$refs.children,a=>{z(a.validate)&&(n.push(a.$refs.child),o.push(a.$refs.child.validate(!0)))});const r=a=>{const i=[];fe(a,(d,c)=>{Array.isArray(d)&&d.length>0&&fe(d,m=>{i.push({field:n[c].schema,error:m})})}),this.errors=i;const s=i.length===0;return this.$emit("validated",s,i,this),e?i:s};return e?Promise.all(o).then(r):r(o)},clearValidationErrors(){this.errors.splice(0),fe(this.$refs.children,e=>{e.clearValidationErrors()})}}},$f={key:0,class:"vue-form-generator"},jf={key:0};function Kf(e,n,o,r,a,i){const s=t.resolveComponent("form-redis"),d=t.resolveComponent("form-group"),c=t.resolveComponent("KCollapse");return o.schema!=null?(t.openBlock(),t.createElementBlock("div",$f,[o.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fields,m=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:m.model},[m.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:a.errors,field:m,"is-editing":o.isEditing,"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled,model:o.model,options:o.options,tag:o.tag,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onPartialToggled:i.onPartialToggled,onShowNewPartialModal:y=>e.$emit("showNewPartialModal",m.redisType),onValidated:i.onFieldValidated},null,8,["errors","field","is-editing","is-konnect-managed-redis-enabled","model","options","tag","vfg","onModelUpdated","onPartialToggled","onShowNewPartialModal","onValidated"])):i.fieldVisible(m)?(t.openBlock(),t.createBlock(d,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:m,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.groups,(m,y)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${y}`},[m.collapsible!==void 0&&m.collapsible!==!1?(t.openBlock(),t.createBlock(c,{key:0,class:"root-level-collapse","model-value":!1,title:m.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,p,_,M;return[(u=m.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(p=m.slots)==null?void 0:p.beforeContent,{key:0}):t.createCommentVNode("",!0),m.fields.length===0&&((_=m.slots)!=null&&_.emptyState)?t.renderSlot(e.$slots,(M=m.slots)==null?void 0:M.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(m))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.fields,g=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:g.model},[i.fieldVisible(g)?(t.openBlock(),t.createBlock(d,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:g,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),m.collapsible!==!0&&m.collapsible.nestedCollapsible&&m.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(c,{key:3,class:"nested-collapse","model-value":a.collapseStates[`group-${y}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${y}-nested`]??!0?m.collapsible.nestedCollapsible.triggerLabel.expand:m.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":g=>a.collapseStates[`group-${y}-nested`]=g},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{class:t.normalizeClass(e.getFieldRowClasses(m))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.collapsible.nestedCollapsible.fields,g=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:g.model},[g.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:a.errors,field:g,"is-editing":o.isEditing,"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled,model:o.model,options:o.options,tag:o.tag,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onPartialToggled:i.onPartialToggled,onShowNewPartialModal:k=>e.$emit("showNewPartialModal",g.redisType),onValidated:i.onFieldValidated},null,8,["errors","field","is-editing","is-konnect-managed-redis-enabled","model","options","tag","vfg","onModelUpdated","onPartialToggled","onShowNewPartialModal","onValidated"])):i.fieldVisible(g)?(t.openBlock(),t.createBlock(d,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:g,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[m.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(m.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(m))},{default:t.withCtx(()=>[m.legend?(t.openBlock(),t.createElementBlock("legend",jf,t.toDisplayString(m.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[i.fieldVisible(u)?(t.openBlock(),t.createBlock(d,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:u,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const G=$(xf,[["render",Kf]]),Bt="kong-identity",Bn="external",zf="/v1/auth-servers/_computed",qf=new Set(["config-client_id","config-client_secret","config-issuer"]),Hf=[{label:"Kong Identity client",value:"kong-identity",description:"Match principals using the client ID from the token subject (sub) claim."},{label:"Custom claim",value:"custom-identity",description:"Match principals using a custom JWT claim."}],oa=e=>e==null||e===""?!1:Array.isArray(e)?e.length>0:!0,Yf=e=>oa(e["config-principals-principal_claim"])||oa(e["config-principals-principal_by"])?"custom-identity":"kong-identity",Gf=(e,n)=>{if(e["config-principals-enabled"]===!0)return Bt;if(n&&e["config-principals-enabled"]!==!0)return Bn;for(const o of qf){const r=e[o];if(r!=null&&r!=="")return Bn}return Bt},Wf={name:"OIDCPrincipals",components:{VueFormGenerator:G,AddIcon:ue.AddIcon,CloseIcon:ue.CloseIcon,KeyIcon:ue.KeyIcon,WorldIcon:ue.WorldIcon},inject:{formsConfig:{from:qt,default:()=>({})},autofillSlot:{from:ge,default:void 0}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>({})},commonFieldsSchema:{type:Object,required:!0},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,default:!1}},emits:["mode-change"],data(){return{MODE_KONG_IDENTITY:Bt,MODE_EXTERNAL:Bn,lookupMethodItems:Hf,KUI_ICON_SIZE_20:$i,KUI_ICON_SIZE_30:Em,KUI_ICON_SIZE_40:ji,selectedMode:Gf(this.formModel,this.isEditing),selectedLookupMethod:Yf(this.formModel),kongIdentityServers:[],kongIdentityServersLoading:!1,clients:[],clientsLoading:!1,selectedServer:null,restoringServer:!1,leavePromptType:null}},computed:{issuerFieldsSchema(){var n;const e=(((n=this.commonFieldsSchema)==null?void 0:n.fields)??[]).filter(o=>o.model==="config-issuer");return{...this.commonFieldsSchema,fields:e}},externalClientIdField(){var e;return(((e=this.commonFieldsSchema)==null?void 0:e.fields)??[]).find(n=>n.model==="config-client_id")},externalClientSecretField(){var e;return(((e=this.commonFieldsSchema)==null?void 0:e.fields)??[]).find(n=>n.model==="config-client_secret")},kongIdentityServerItems(){return this.kongIdentityServers.map(e=>({label:e.name,value:e.id}))},clientItems(){return this.clients.map(e=>({label:e.name,value:e.client_id||e.id}))},clientIdArray(){const e=this.formModel["config-client_id"];return Array.isArray(e)&&e.length>0?e:[null]},clientSecretArray(){const e=this.formModel["config-client_secret"];return Array.isArray(e)&&e.length>0?e:[null]},isRemoveClientDisabled(){return!this.selectedServer||this.clientIdArray.length<=1}},mounted(){!this.isEditing&&this.selectedMode===Bt&&(this.formModel["config-principals-enabled"]=!0),this.isEditing||this.$nextTick(()=>this.$emit("mode-change",this.selectedMode)),this.fetchKongIdentityServers()},methods:{async fetchKongIdentityServers(){var e,n;try{this.kongIdentityServersLoading=!0;const{axiosInstance:o}=lt.useAxios((e=this.formsConfig)==null?void 0:e.axiosRequestConfig),r=`${this.formsConfig.apiBaseUrl}${zf}`,a=await o.get(r);this.kongIdentityServers=((n=a.data)==null?void 0:n.data)??[];const i=this.formModel["config-issuer"];if(i&&!this.selectedServer){const s=this.kongIdentityServers.find(d=>d.issuer===i)||null;s&&(this.restoringServer=!0,this.selectedServer=s,this.fetchClients(s.id))}}catch{this.kongIdentityServers=[]}finally{this.kongIdentityServersLoading=!1}},async fetchClients(e){var n,o;try{this.clientsLoading=!0;const{axiosInstance:r}=lt.useAxios((n=this.formsConfig)==null?void 0:n.axiosRequestConfig),a=`${this.formsConfig.apiBaseUrl}/v1/auth-servers/${e}/clients`,i=await r.get(a);this.clients=((o=i.data)==null?void 0:o.data)??[]}catch{this.clients=[]}finally{this.clientsLoading=!1}},handleServerChange(e){var n;if(this.restoringServer){this.restoringServer=!1;return}this.selectedServer=this.kongIdentityServers.find(o=>o.id===e)||null,(n=this.selectedServer)!=null&&n.issuer&&this.updateField("config-issuer",this.selectedServer.issuer),this.updateField("config-client_id",[null]),this.updateField("config-client_secret",[null]),this.clients=[],this.clientsLoading=!!e,e&&this.fetchClients(e)},handleClientChange(e,n){const o=Array.isArray(this.formModel["config-client_id"])?[...this.formModel["config-client_id"]]:[];o[e]=n,this.updateField("config-client_id",o)},addClientRow(){const e=[...this.clientIdArray];e.push(null),this.updateField("config-client_id",e);const n=[...this.clientSecretArray];n.push(null),this.updateField("config-client_secret",n)},removeClientRow(e){if(this.clientIdArray.length<=1)return;const n=[...this.clientIdArray];n.splice(e,1),this.updateField("config-client_id",n);const o=[...this.clientSecretArray];o.splice(e,1),this.updateField("config-client_secret",o)},handleClientSecretChange(e,n){const o=Array.isArray(this.formModel["config-client_secret"])?[...this.formModel["config-client_secret"]]:[];o[e]=n,this.updateField("config-client_secret",o)},getClientItemsForRow(e){const n=this.clientIdArray;return this.clientItems.map(o=>({...o,disabled:n.some((r,a)=>a!==e&&r===o.value)}))},getIdentifierClaimInputValue(){const e=this.formModel["config-principals-principal_claim"];return Array.isArray(e)?e.map(n=>n.replace(/\./g,"\\.")).join("."):e||""},handleIdentifierClaimChange(e){const n=typeof e=="string"?e.trim():"";if(!n){this.updateField("config-principals-principal_claim",[]);return}const o=n.split(new RegExp("(?<!\\\\)\\.")).map(r=>r.replace(/\\\./g,".").trim()).filter(Boolean);this.updateField("config-principals-principal_claim",o)},handleMatchConsumerChange(e){this.updateField("config-principals-match_consumer",e),e||this.updateField("config-principals-match_consumer_groups",!1)},handleLookupMethodChange(e){this.selectedLookupMethod=e,e!=="custom-identity"&&(this.formModel["config-principals-principal_by"]=null,this.formModel["config-principals-principal_claim"]=null,this.onModelUpdated())},updateField(e,n){this.formModel[e]=n,this.onModelUpdated()},handleLeaveConfirmed(){var r,a,i,s,d,c,m,y;const e=this.leavePromptType;this.leavePromptType=null;const n=(r=this.formsConfig)==null?void 0:r.geoApiServerUrl,o=n?new URL(n).hostname.split(".")[0]:((s=(i=(a=this.formsConfig)==null?void 0:a.apiBaseUrl)==null?void 0:i.match(/^\/([^/]+)/))==null?void 0:s[1])||"us";if(e==="authServer"){const u=((d=this.formsConfig)==null?void 0:d.createAuthServerUrl)||`${window.location.origin}/${o}/identity/create-auth-server`;document.location.href=u}else if(e==="client"){const u=(c=this.formsConfig)!=null&&c.createClientUrl?this.formsConfig.createClientUrl((m=this.selectedServer)==null?void 0:m.id):`${window.location.origin}/${o}/identity/auth-servers/${(y=this.selectedServer)==null?void 0:y.id}/create-auth-server-client`;document.location.href=u}},handleModeChange(e){e===Bt?(this.formModel["config-client_id"]=null,this.formModel["config-client_secret"]=null,this.formModel["config-issuer"]=null,this.formModel["config-principals-enabled"]=!0,this.formModel["config-principals-directory"]="default",this.formModel["config-principals-error_on_miss"]=!0,this.formModel["config-principals-match_consumer"]=!0,this.formModel["config-principals-match_consumer_groups"]=!0):(this.formModel["config-principals-enabled"]=!1,this.formModel["config-principals-directory"]="default",this.formModel["config-principals-error_on_miss"]=!0,this.formModel["config-principals-match_consumer"]=!0,this.formModel["config-principals-match_consumer_groups"]=!0,this.formModel["config-client_id"]=null,this.formModel["config-client_secret"]=null,this.formModel["config-issuer"]=null,this.selectedServer=null,this.clients=[]),this.onModelUpdated(),this.$emit("mode-change",e)}}},Zf={class:"oidc-principals-section","data-testid":"oidc-principals-section"},Xf={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},Jf={class:"auth-mode-card-content"},Qf={class:"auth-mode-card-content"},eh={class:"principals-client-secret-wrapper"},th=["disabled","onClick"],nh={class:"principals-field-group"},oh={class:"lookup-method-item"},ih={class:"lookup-method-item-label"},ah={class:"lookup-method-item-description"},rh={class:"principals-field-group"},lh={class:"principals-field-group"},sh={class:"principals-field-group"},dh={class:"external-client-field"},ch={class:"external-client-field"},mh=["disabled","onClick"];function uh(e,n,o,r,a,i){var U;const s=t.resolveComponent("KeyIcon"),d=t.resolveComponent("KRadio"),c=t.resolveComponent("WorldIcon"),m=t.resolveComponent("AddIcon"),y=t.resolveComponent("KSelect"),u=t.resolveComponent("KInput"),p=t.resolveComponent("CloseIcon"),_=t.resolveComponent("KLabel"),M=t.resolveComponent("KCheckbox"),g=t.resolveComponent("KCollapse"),k=t.resolveComponent("VueFormGenerator"),O=t.resolveComponent("KPrompt");return t.openBlock(),t.createElementBlock("div",Zf,[n[24]||(n[24]=t.createElementVNode("div",{class:"principals-header"}," Who should manage authentication and credentials? ",-1)),n[25]||(n[25]=t.createElementVNode("div",{class:"principals-description"},[t.createTextVNode(" Use Consumers for Consumer-based authentication. Use Kong Identity for principal-based authentication and advanced integrations. "),t.createElementVNode("a",{href:"https://developer.konghq.com/plugins/openid-connect/",rel:"noopener noreferrer",target:"_blank"},"Learn more.")],-1)),t.createElementVNode("div",Xf,[t.createVNode(d,{modelValue:a.selectedMode,"onUpdate:modelValue":n[0]||(n[0]=w=>a.selectedMode=w),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-kong-identity","selected-value":a.MODE_KONG_IDENTITY,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",Jf,[t.createVNode(s,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[13]||(n[13]=t.createElementVNode("div",{class:"auth-mode-card-label"}," Kong Identity ",-1)),n[14]||(n[14]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Use Kong Identity for principal-based authentication and advanced integrations. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"]),t.createVNode(d,{modelValue:a.selectedMode,"onUpdate:modelValue":n[1]||(n[1]=w=>a.selectedMode=w),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":a.MODE_EXTERNAL,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",Qf,[t.createVNode(c,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[15]||(n[15]=t.createElementVNode("div",{class:"auth-mode-card-label"}," External auth server ",-1)),n[16]||(n[16]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Authenticate against an external OpenID Connect issuer. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"])]),a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(y,{class:"principals-directory-select","data-testid":"principals-directory-select","enable-filtering":"",items:i.kongIdentityServerItems,label:"Authorization Server",loading:a.kongIdentityServersLoading,"model-value":(U=a.selectedServer)==null?void 0:U.id,placeholder:"Select an Authorization Server",required:"","onUpdate:modelValue":i.handleServerChange},{"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-auth-server-action",onClick:n[2]||(n[2]=t.withModifiers(w=>a.leavePromptType="authServer",["stop"]))},[t.createVNode(m,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[17]||(n[17]=t.createElementVNode("div",{class:"create-action-content"},[t.createElementVNode("span",null,"Create authorization server"),t.createElementVNode("div",{class:"create-action-hint"}," You’ll need to return here after creating an authorization server. Your progress won’t be saved. ")],-1))])]),_:1},8,["items","loading","model-value","onUpdate:modelValue"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(w,C)=>(t.openBlock(),t.createElementBlock("div",{key:C,class:t.normalizeClass(["client-row",{"client-row-with-label":C===0}])},[t.createVNode(y,{class:"principals-client-select","data-testid":"principals-client-select",disabled:!a.selectedServer,"enable-filtering":"",items:i.getClientItemsForRow(C),label:C===0?"Client":void 0,loading:a.clientsLoading,"model-value":w,placeholder:"Select a client","onUpdate:modelValue":N=>i.handleClientChange(C,N)},{"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-client-action",onClick:n[3]||(n[3]=t.withModifiers(N=>a.leavePromptType="client",["stop"]))},[t.createVNode(m,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[18]||(n[18]=t.createElementVNode("div",{class:"create-action-content"},[t.createElementVNode("span",null,"Create client"),t.createElementVNode("div",{class:"create-action-hint"}," You'll need to return here after creating a client. Your progress won't be saved. ")],-1))])]),_:1},8,["disabled","items","label","loading","model-value","onUpdate:modelValue"]),t.createElementVNode("div",eh,[t.createVNode(u,{class:"principals-client-secret","data-testid":"principals-client-secret",disabled:!a.selectedServer,label:C===0?"Client secret":void 0,"model-value":i.clientSecretArray[C],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":N=>i.handleClientSecretChange(C,N)},null,8,["disabled","label","model-value","onUpdate:modelValue"]),i.autofillSlot?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:N=>i.handleClientSecretChange(C,N),value:i.clientSecretArray[C]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":"Remove client",class:"remove-client-btn","data-testid":"remove-client-action",disabled:i.isRemoveClientDisabled,type:"button",onClick:N=>i.removeClientRow(C)},[t.createVNode(p,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,th)],2))),128)),t.createElementVNode("div",{class:t.normalizeClass(["add-client-inline",{"add-client-inline-disabled":!a.selectedServer}]),"data-testid":"add-client-action",onClick:n[4]||(n[4]=w=>a.selectedServer?i.addClientRow():null)}," + Add client ",2),t.createVNode(g,{class:"principals-advanced-settings","data-testid":"principals-advanced-settings","trigger-label":"Show additional settings"},{default:t.withCtx(()=>[t.createElementVNode("div",nh,[t.createVNode(y,{class:"principals-lookup-method-select","data-testid":"principals-lookup-method",items:a.lookupMethodItems,label:"Principal lookup method","model-value":a.selectedLookupMethod,placeholder:"Select a lookup method","onUpdate:modelValue":i.handleLookupMethodChange},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",oh,[t.createElementVNode("div",ih,t.toDisplayString(w.label),1),t.createElementVNode("div",ah,t.toDisplayString(w.description),1)])]),_:1},8,["items","model-value","onUpdate:modelValue"]),a.selectedLookupMethod==="custom-identity"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(u,{"data-testid":"principals-custom-identity-name",help:"Enter the custom identity name used to look up the principal. Kong matches the value from the token claim to a principal with the same custom identity name and value.",label:"Custom Identity name","model-value":o.formModel["config-principals-principal_by"],placeholder:"e.g., Customer_ID","onUpdate:modelValue":n[5]||(n[5]=w=>i.updateField("config-principals-principal_by",w))},null,8,["model-value"]),t.createVNode(u,{"data-testid":"principals-identifier-claim",help:"Enter the token claim used to identify the principal. Use dot notation for nested claims (for example, workload.id). Escape periods in claim names with \\ (for example, workload\\.id).",label:"Identifier claim","model-value":i.getIdentifierClaimInputValue(),placeholder:"e.g., user.employee_id","onUpdate:modelValue":n[6]||(n[6]=w=>i.handleIdentifierClaimChange(w))},null,8,["model-value"])],64)):t.createCommentVNode("",!0)]),t.createElementVNode("div",rh,[t.createVNode(_,null,{default:t.withCtx(()=>[...n[19]||(n[19]=[t.createTextVNode("If principal lookup fails",-1)])]),_:1}),t.createVNode(d,{"data-testid":"principals-error-on-miss-true",description:"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.",label:"Reject the request","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!0,onChange:n[7]||(n[7]=w=>i.updateField("config-principals-error_on_miss",!0))},null,8,["model-value"]),t.createVNode(d,{"data-testid":"principals-error-on-miss-false",description:"Allow the request to continue without resolving a principal.",label:"Continue without a principal","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!1,onChange:n[8]||(n[8]=w=>i.updateField("config-principals-error_on_miss",!1))},null,8,["model-value"])]),t.createElementVNode("div",lh,[t.createVNode(M,{"data-testid":"principals-match-consumer","model-value":o.formModel["config-principals-match_consumer"],"onUpdate:modelValue":n[9]||(n[9]=w=>i.handleMatchConsumerChange(w))},{description:t.withCtx(()=>[...n[20]||(n[20]=[t.createTextVNode(" Use the consumer linked to the authenticated principal so existing consumer-based plugins and policies continue to work. ",-1),t.createElementVNode("a",{href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer.",-1)])]),default:t.withCtx(()=>[n[21]||(n[21]=t.createTextVNode(" Use linked consumers ",-1))]),_:1},8,["model-value"])]),t.createElementVNode("div",sh,[t.createVNode(M,{"data-testid":"principals-match-consumer-groups",disabled:!o.formModel["config-principals-match_consumer"],"model-value":o.formModel["config-principals-match_consumer_groups"],"onUpdate:modelValue":n[10]||(n[10]=w=>i.updateField("config-principals-match_consumer_groups",w))},{description:t.withCtx(()=>[...n[22]||(n[22]=[t.createTextVNode(" Use consumer groups linked to the authenticated principal so existing consumer group policies and plugins continue to work. Consumer groups can be linked through principal metadata. ",-1),t.createElementVNode("a",{href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer group.",-1)])]),default:t.withCtx(()=>[n[23]||(n[23]=t.createTextVNode(" Use linked consumer groups ",-1))]),_:1},8,["disabled","model-value"])])]),_:1})],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(w,C)=>{var N,S;return t.openBlock(),t.createElementBlock("div",{key:C,class:t.normalizeClass(["client-row",{"client-row-with-label":C===0}])},[t.createElementVNode("div",dh,[t.createVNode(u,{class:"external-client-input","data-testid":"external-client-id",label:C===0?"Client id":void 0,"label-attributes":{info:(N=i.externalClientIdField)==null?void 0:N.help},"model-value":i.clientIdArray[C],placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":E=>i.handleClientChange(C,E)},null,8,["label","label-attributes","model-value","onUpdate:modelValue"]),i.autofillSlot?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{key:0,schema:{model:"config-client_id",referenceable:!0},update:E=>i.handleClientChange(C,E),value:i.clientIdArray[C]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",ch,[t.createVNode(u,{class:"external-client-input","data-testid":"external-client-secret",label:C===0?"Client secret":void 0,"label-attributes":{info:(S=i.externalClientSecretField)==null?void 0:S.help},"model-value":i.clientSecretArray[C],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":E=>i.handleClientSecretChange(C,E)},null,8,["label","label-attributes","model-value","onUpdate:modelValue"]),i.autofillSlot?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:E=>i.handleClientSecretChange(C,E),value:i.clientSecretArray[C]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":"Remove client",class:"remove-client-btn","data-testid":"remove-external-client-action",disabled:i.clientIdArray.length<=1,type:"button",onClick:E=>i.removeClientRow(C)},[t.createVNode(p,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,mh)],2)}),128)),t.createElementVNode("div",{class:"add-client-inline","data-testid":"add-external-client-action",onClick:n[11]||(n[11]=w=>i.addClientRow())}," + Add client "),t.createVNode(k,{model:o.formModel,options:o.formOptions,schema:i.issuerFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])],64)),t.createVNode(O,{"action-button-text":"Leave page",message:"Your unsaved changes will be lost if you continue.",title:"Leave this page?",visible:!!a.leavePromptType,onCancel:n[12]||(n[12]=w=>a.leavePromptType=null),onProceed:i.handleLeaveConfirmed},null,8,["visible","onProceed"])])}const fh=$(Wf,[["render",uh],["__scopeId","data-v-bf1b5213"]]),Ft={openIdConnectDocs:"https://developer.konghq.com/plugins/openid-connect/",openIdConnectJWKDocs:"https://developer.konghq.com/plugins/openid-connect/reference/#schema--config-client-jwk",openIdConnectClusterNodesDocs:"https://developer.konghq.com/plugins/openid-connect/reference/#schema--config-redis-cluster-nodes",openIdConfigurationDocs:"https://developer.konghq.com/plugins/openid-connect/reference/",openIdAuthorizationDocs:"https://developer.konghq.com/plugins/openid-connect/#authorization"},ia=new Set(["config-client_id","config-client_secret","config-issuer"]),aa=new Set(["config-principals-enabled","config-principals-directory","config-principals-principal_by","config-principals-principal_claim","config-principals-match_consumer","config-principals-match_consumer_groups","config-principals-error_on_miss"]),ra=new Set(["config-scopes_claim","config-scopes_required","config-audience_claim","config-audience_required","config-roles_claim","config-roles_required","config-groups_claim","config-groups_required","config-authenticated_groups_claim"]),Fn=["bearer","client_credentials","introspection","userinfo"],hh={name:"OIDCForm",components:{VueFormGenerator:G,OIDCPrincipals:fh},provide(){var e;return{[ge]:(e=this.$slots)==null?void 0:e[et]}},inject:{formsConfig:{from:qt,default:()=>({})}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},onPartialToggled:{type:Function,required:!0},isEditing:{type:Boolean,required:!0},enableRedisPartial:{type:Boolean,required:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1},showNewPartialModal:{type:Function,default:()=>{}}},data(){return{init:!1,authMethods:[],sessionManagement:!1,principalsMode:null,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,openIdConnectLink:Ft.openIdConnectDocs,openIdConnectJWKLink:Ft.openIdConnectJWKDocs,openIdConnectClusterNodesLink:Ft.openIdConnectClusterNodesDocs,openIdConfigurationDocs:Ft.openIdConfigurationDocs,openIdAuthorizationDocs:Ft.openIdAuthorizationDocs,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing},hasPrincipalsFields(){var e;return(e=this.formSchema.fields)==null?void 0:e.some(n=>aa.has(n.model))},isKonnect(){var e;return((e=this.formsConfig)==null?void 0:e.app)==="konnect"},useNewAuthMethodsField(){return this.isKonnect},authMethodItems(){return((this.principalsMode!==null?this.principalsMode==="kong-identity":this.formModel["config-principals-enabled"]===!0)?this.authMethods.filter(o=>Fn.includes(o.value)):this.authMethods).map(o=>({label:o.label,value:o.value}))},selectedAuthMethods(){return this.authMethods.filter(e=>e.prop).map(e=>e.value)}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")};const n=this.formSchema.fields.reduce((i,s)=>(i[s.model]=s,i),{});this.commonFieldsSchema={fields:Array.from(ia).reduce((i,s)=>(n[s]&&i.push(n[s]),i),[])},this.authFieldsSchema={fields:Array.from(ra).reduce((i,s)=>(n[s]&&i.push(n[s]),i),[])};const{redis:o,redisModels:r}=ke.useRedisPartial(this.formSchema);this.advancedFieldsSchema={fields:this.formSchema.fields.filter(i=>i.model.startsWith("config")&&i.model!=="config-auth_methods"&&!ia.has(i.model)&&!ra.has(i.model)&&!aa.has(i.model)&&(!this.enableRedisPartial||!r.includes(i.model))||i.model==="tags").reduce((i,s)=>{var d,c,m,y,u,p;switch(s.model){case"config-client_jwk":{if(Array.isArray((c=(d=s.items)==null?void 0:d.schema)==null?void 0:c.fields))for(const _ of s.items.schema.fields)_.label=_.model;i.push({...s,link:this.openIdConnectJWKLink,newElementButtonLabel:"+ Add Client JWK",...Array.isArray((y=(m=s.items)==null?void 0:m.schema)==null?void 0:y.fields)&&s.items.schema.fields.map(_=>({..._,label:_.model}))});break}case"config-token_exchange-subject_token_issuers":{if(Array.isArray((p=(u=s.items)==null?void 0:u.schema)==null?void 0:p.fields)){const _=s.items.schema.fields,M=_.find(k=>k.model==="verify_signature"),g=_.find(k=>k.model==="jwks_uri");if(M&&(M.checkboxLabel=M.label,M.label=void 0,M.checkboxDescription=k=>k.verify_signature===!0?"JSON Web Keys are automatically fetched from the issuer's well-known endpoint. Enter a JWKS URI below to override this.":void 0),g&&(g.visible=k=>k.verify_signature===!0),M&&g){const k=_.indexOf(M),O=_.indexOf(g);O!==k+1&&(_.splice(O,1),_.splice(k+1,0,g))}}i.push(s);break}case"config-session_redis_cluster_nodes":{i.push({...s,link:this.openIdConnectClusterNodesLink,newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(s)}return i},[])},this.enableRedisPartial&&this.advancedFieldsSchema.fields.unshift(o),this.sessionManagement=this.formModel["config-auth_methods"].includes("session"),this.authMethods=[{label:"Authorization code flow",value:"authorization_code",hint:"authorization code flow",prop:this.formModel["config-auth_methods"].includes("authorization_code")},{label:"Bearer access token",value:"bearer",hint:"JWT access token verification",prop:this.formModel["config-auth_methods"].includes("bearer")},{label:"Client credentials grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.formModel["config-auth_methods"].includes("client_credentials")},{label:"Passwords grant",value:"password",hint:"OAuth legacy password grant",prop:this.formModel["config-auth_methods"].includes("password")},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.formModel["config-auth_methods"].includes("introspection")},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.formModel["config-auth_methods"].includes("userinfo")},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.formModel["config-auth_methods"].includes("kong_oauth2")},{label:"Refresh token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.formModel["config-auth_methods"].includes("refresh_token")}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const s of i.fields){const d=(e=n[s.model])==null?void 0:e.help;s.help===void 0&&typeof d=="string"&&(s.help=d)}const a=this.formModel["config-consumer_claim"];if(a!=null&&a!==""&&(!this.formModel["config-consumer_claims"]||this.formModel["config-consumer_claims"].length===0)){const i=Array.isArray(a)?a:[a];this.formModel["config-consumer_claims"]=[i],this.onModelUpdated()}}},getAuthMethodsValue(e,n){const o=[];for(let r=0;r<this.authMethods.length;r++)this.authMethods[r].prop&&this.authMethods[r].value!==e&&o.push(this.authMethods[r].value);return this.sessionManagement&&e&&o.push("session"),n&&(e?o.push(e):o.push("session")),o},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()},handleAuthMethodsSelect(e){for(const o of this.authMethods)o.prop=e.includes(o.value);const n=[...e];this.sessionManagement&&n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()},handleSessionChange(e){this.sessionManagement=e;const n=this.authMethods.filter(o=>o.prop).map(o=>o.value);e&&n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()},handlePrincipalsModeChange(e){if(this.principalsMode=e,e==="kong-identity"){this.isEditing||(this.sessionManagement=!0);for(const o of this.authMethods)o.prop=Fn.includes(o.value);const n=[...Fn];this.sessionManagement&&n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()}else{this.sessionManagement=!0;for(const o of this.authMethods)o.prop=!0;const n=this.authMethods.map(o=>o.value);n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()}}}},ph={class:"general-settings"},gh={class:"link-wrapper"},yh={class:"session-management-section"},bh={class:"session-radio-group"},_h={class:"auth-method-container"},Eh={class:"general-settings"},Ch={class:"link-wrapper"},Sh={class:"general-settings"},Th={class:"link-wrapper"};function kh(e,n,o,r,a,i){const s=t.resolveComponent("VueFormGenerator"),d=t.resolveComponent("KExternalLink"),c=t.resolveComponent("OIDCPrincipals"),m=t.resolveComponent("KLabel"),y=t.resolveComponent("KMultiselect"),u=t.resolveComponent("KRadio"),p=t.resolveComponent("KCheckbox"),_=t.resolveComponent("KInputSwitch"),M=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[o.formModel.id&&o.isEditing||!o.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:o.formModel,options:o.formOptions,schema:a.globalFields,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(M,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",ph,[t.createElementVNode("div",gh,[t.createVNode(d,{href:a.openIdConfigurationDocs},{default:t.withCtx(()=>[...n[6]||(n[6]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])]),_:1},8,["href"])]),n[11]||(n[11]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),i.isKonnect&&i.hasPrincipalsFields?(t.openBlock(),t.createBlock(c,{key:0,"common-fields-schema":a.commonFieldsSchema,"form-model":o.formModel,"form-options":o.formOptions,"form-schema":o.formSchema,"is-editing":o.isEditing,"on-model-updated":o.onModelUpdated,onModeChange:i.handlePrincipalsModeChange},null,8,["common-fields-schema","form-model","form-options","form-schema","is-editing","on-model-updated","onModeChange"])):i.displayForm?(t.openBlock(),t.createBlock(s,{key:1,model:o.formModel,options:o.formOptions,schema:a.commonFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),i.useNewAuthMethodsField?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createVNode(m,null,{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createTextVNode("Authentication methods",-1)])]),_:1}),(t.openBlock(),t.createBlock(y,{key:a.principalsMode,class:"auth-methods-multiselect","data-testid":"auth-methods-multiselect",items:i.authMethodItems,"model-value":i.selectedAuthMethods,placeholder:"Select authentication methods","onUpdate:modelValue":i.handleAuthMethodsSelect},null,8,["items","model-value","onUpdate:modelValue"])),n[9]||(n[9]=t.createElementVNode("p",{class:"auth-methods-hint"}," Configure which OAuth and OpenID Connect features are supported. ",-1)),t.createElementVNode("div",yh,[t.createVNode(m,null,{default:t.withCtx(()=>[...n[8]||(n[8]=[t.createTextVNode("Session management",-1)])]),_:1}),t.createElementVNode("div",bh,[t.createVNode(u,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>a.sessionManagement=g),"data-testid":"session-radio-use",description:"Issue a session cookie after successful authentication. Subsequent requests use the session instead of re-authenticating with the identity provider.",label:"Use sessions","selected-value":!0,onChange:n[1]||(n[1]=g=>i.handleSessionChange(!0))},null,8,["modelValue"]),t.createVNode(u,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[2]||(n[2]=g=>a.sessionManagement=g),"data-testid":"session-radio-no-use",description:"Authenticate each request using the configured authentication flow.",label:"Do not use sessions","selected-value":!1,onChange:n[3]||(n[3]=g=>i.handleSessionChange(!1))},null,8,["modelValue"])])])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createVNode(m,null,{default:t.withCtx(()=>[...n[10]||(n[10]=[t.createTextVNode("Auth methods",-1)])]),_:1}),t.createElementVNode("div",_h,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":k=>g.prop=k,"data-testid":`auth-method-checkbox-${g.value}`,onChange:k=>i.handleUpdate(k,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","onChange"])]))),128))]),t.createVNode(_,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[4]||(n[4]=g=>a.sessionManagement=g),"data-testid":"session-management-switch",label:"Enable Session Management",onChange:i.handleUpdate},null,8,["modelValue","onChange"])],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Eh,[t.createElementVNode("div",Ch,[t.createVNode(d,{href:a.openIdAuthorizationDocs},{default:t.withCtx(()=>[...n[12]||(n[12]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])]),_:1},8,["href"])]),n[13]||(n[13]=t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),i.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:o.formModel,options:o.formOptions,schema:a.authFieldsSchema,onModelUpdated:o.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",Sh,[t.createElementVNode("div",Th,[t.createVNode(d,{href:a.openIdConnectLink},{default:t.withCtx(()=>[...n[14]||(n[14]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])]),_:1},8,["href"])]),n[15]||(n[15]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),i.displayForm?(t.openBlock(),t.createBlock(s,{key:0,"enable-redis-partial":o.enableRedisPartial,"is-editing":o.isEditing,"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled,model:o.formModel,options:o.formOptions,schema:a.advancedFieldsSchema,onModelUpdated:o.onModelUpdated,onPartialToggled:o.onPartialToggled,onShowNewPartialModal:n[5]||(n[5]=()=>o.showNewPartialModal(o.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","is-konnect-managed-redis-enabled","model","options","schema","onModelUpdated","onPartialToggled"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const wh=$(hh,[["render",kh],["__scopeId","data-v-a1ef4c39"]]),Mh=$(t.defineComponent({__name:"PostFunction",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var s;t.provide(ge,(s=t.useSlots())==null?void 0:s[et]);const{t:n,te:o}=be.createI18n("en-us",Ce),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(c=>{const m=`post-function.${c.model}`;return c.hint=o(`${m}.hint`)&&n(`${m}.hint`)||c.hint,c.help=o(`${m}.help`)&&n(`${m}.help`)||c.help,c.newElementButtonLabel=o(`${m}.newElementButtonLabel`)&&n(`${m}.newElementButtonLabel`)||c.newElementButtonLabel,c.model!=="tags"&&(c.valueType==="array"||c.type==="array")&&(c.type="array",c.valueArrayType="array",c.itemContainerComponent="FieldArrayItem",c.fieldClasses="post-function-array-item-container",c.fieldItemsClasses="post-function-array-item",c.inputAttributes={...c.inputAttributes,type:"textarea"}),c}),d});return(d,c)=>a.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:i.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-f54f37ae"]]),Nh=$(t.defineComponent({__name:"ExitTransformer",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var s;t.provide(ge,(s=t.useSlots())==null?void 0:s[et]);const{t:n,te:o}=be.createI18n("en-us",Ce),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(c=>{const m=`exit-transformer.${c.model}`;return c.hint=o(`${m}.hint`)&&n(`${m}.hint`)||c.hint,c.help=o(`${m}.help`)&&n(`${m}.help`)||c.help,c.newElementButtonLabel=o(`${m}.newElementButtonLabel`)&&n(`${m}.newElementButtonLabel`)||c.newElementButtonLabel,c.model!=="tags"&&(c.valueType==="array"||c.type==="array")&&(c.type="array",c.valueArrayType="array",c.itemContainerComponent="FieldArrayItem",c.fieldClasses="exit-transformer-array-item-container",c.fieldItemsClasses="exit-transformer-array-item",c.inputAttributes={...c.inputAttributes,type:"textarea"}),c}),d});return(d,c)=>a.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:i.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-0d5c541f"]]),Ah={fields:[{inputType:"text",label:"Config.Account Email",model:"config-account_email",required:!0,type:"input"},{inputType:"text",label:"Config.Account Key.Key Id",model:"config-account_key-key_id",required:!0,type:"input"},{type:"input",inputType:"text",valueType:"string",label:"Config.Account Key.Key Set",model:"config-account_key-key_set",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",label:"Config.Allow Any Domain",model:"config-allow_any_domain",order:0,disabled:!1}]},Ih={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",model:"config-tos_accepted",label:"Config.Tos Accepted",order:0,disabled:!1}]},Vh={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_hmac_key",label:"Config.Eab Hmac Key",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_kid",label:"Config.Eab Kid",order:0,disabled:!1}]},Oh={class:"general-settings"},Bh={class:"sub-form"},Fh={class:"general-settings"},Rh={class:"sub-form"},Dh={class:"general-settings"},Uh=$(t.defineComponent({__name:"ACMEForm",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var N;t.provide(ge,(N=t.useSlots())==null?void 0:N[et]);const n=e,o=t.ref("zeroSsl"),r=t.ref("shm"),a=t.computed(()=>{var E;const S={};if((E=n.formSchema)!=null&&E.fields)for(const V of n.formSchema.fields)S[V.model]=V;return S}),i=t.computed(()=>{var E;const S=Le(Ah);for(const V of S.fields){const B=(E=a.value[V.model])==null?void 0:E.help;V.help===void 0&&typeof B=="string"&&(V.help=B)}return S}),s=t.computed(()=>{var E;const S=Le(Ih);for(const V of S.fields){const B=(E=a.value[V.model])==null?void 0:E.help;V.help===void 0&&typeof B=="string"&&(V.help=B)}return S}),d=t.computed(()=>{var E;const S=Le(Vh);for(const V of S.fields){const B=(E=a.value[V.model])==null?void 0:E.help;V.help===void 0&&typeof B=="string"&&(V.help=B)}return S}),c=t.computed(()=>({fields:n.formSchema.fields.filter(S=>!S.model.startsWith("config")&&S.model!=="tags")})),m=t.computed(()=>({fields:i.value.fields.filter(E=>!s.value.fields.some(V=>V.model===E.model)&&!d.value.fields.some(V=>V.model===E.model))})),y=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage")&&!E.model.startsWith("config-storage_config-consul")&&!E.model.startsWith("config-storage_config-redis")&&!E.model.startsWith("config-storage_config-shm")&&!E.model.startsWith("config-storage_config-vault"))})),u=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-consul"))})),p=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-redis"))})),_=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-shm"))})),M=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:n.formSchema.fields.filter(S=>S.model.startsWith("config")&&!m.value.fields.filter(E=>E.model===S.model).length&&!y.value.fields.filter(E=>E.model===S.model).length||S.model==="tags")})),k=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),O=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],U=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{o.value==="zeroSsl"&&(n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const w=S=>{o.value=S.value,(S.value==="zeroSsl"||S.value==="other")&&(S.value==="zeroSsl"?n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":n.formModel["config-api_uri"]="https://acme.example.com/",n.formModel["config-tos_accepted"]=!1),S.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},C=(S,E)=>{E==="config-storage"&&(r.value=S),n.onModelUpdated()};return(S,E)=>{const V=t.resolveComponent("KSelect"),B=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(G,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:c.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(B,{tabs:O},{general:t.withCtx(()=>[t.createElementVNode("div",Oh,[E[0]||(E[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),E[1]||(E[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),k.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),E[2]||(E[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(V,{class:"issuer-select",items:U,label:"Issuer",onChange:w}),t.createElementVNode("div",Bh,[o.value==="letsEncrypt"?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="zeroSsl"||o.value==="other"?(t.openBlock(),t.createBlock(G,{key:1,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",Fh,[E[3]||(E[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),E[4]||(E[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),k.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:C},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",Rh,[r.value==="consul"?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="redis"?(t.openBlock(),t.createBlock(G,{key:1,model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="shm"?(t.openBlock(),t.createBlock(G,{key:2,model:e.formModel,options:e.formOptions,schema:_.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(G,{key:3,model:e.formModel,options:e.formOptions,schema:M.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",Dh,[E[5]||(E[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),E[6]||(E[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),k.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),[["__scopeId","data-v-07cecf5b"]]),Lh={class:"rla-form-basic-fields"},Ph={class:"rla-form-request-limits-subtitle"},vh={class:"rla-form-request-limits-content"},xh={class:"rla-form-window-type"},$h=["innerHTML"],jh={class:"rla-form-window-type-radios"},Kh={class:"rla-form-request-limits-items"},zh={class:"rla-form-request-limits-row"},qh=["id"],Hh={class:"rla-form-request-limits-actions"},Yh={key:0,class:"rla-form-request-limits-examples"},Gh={class:"rla-form-request-limits-examples-badges"},Wh=["innerHTML"],Zh={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Xh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:Uh,ExitTransformer:Nh,OIDCForm:wh,PostFunction:Mh,RLAForm:$(t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},onPartialToggled:{type:Function},showNewPartialModal:{type:Function},isEditing:{type:Boolean},enableRedisPartial:{type:Boolean},isKonnectManagedRedisEnabled:{type:Boolean}},setup(e){var B;t.provide(ge,(B=t.useSlots())==null?void 0:B[et]);const n={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
3
+ `+ae),We&&(ae=on(ae)),S&&en?T(ae):ae},n.setConfig=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Wn(I),Ln=!0,Pn=Z,vn=X},n.clearConfig=function(){_t=null,Ln=!1,Pn=null,vn=null,S=V,E=""},n.isValidAttribute=function(I,l,f){_t||Wn({});const A=Q(I),R=Q(l);return Va(A,R,f)},n.addHook=function(I,l){typeof l=="function"&&re(D,I)&&ct(D[I],l)},n.removeHook=function(I,l){if(re(D,I)){if(l!==void 0){const f=Wl(D[I],l);return f===-1?void 0:Zl(D[I],f,1)[0]}return No(D[I])}},n.removeHooks=function(I){re(D,I)&&(D[I]=[])},n.removeAllHooks=function(){D=Po()},n}var xo=vo();function Es(){this.__data__=new Re,this.size=0}function Cs(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function Ss(e){return this.__data__.get(e)}function Ts(e){return this.__data__.has(e)}var ks=200;function ws(e,n){var o=this.__data__;if(o instanceof Re){var r=o.__data__;if(!kt||r.length<ks-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new De(r)}return o.set(e,n),this.size=o.size,this}function mt(e){var n=this.__data__=new Re(e);this.size=n.size}mt.prototype.clear=Es,mt.prototype.delete=Cs,mt.prototype.get=Ss,mt.prototype.has=Ts,mt.prototype.set=ws;var Yt=function(){try{var e=Je(Object,"defineProperty");return e({},"",{}),e}catch{}}();function $o(e,n,o){n=="__proto__"&&Yt?Yt(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}var Ms=Object.prototype,Ns=Ms.hasOwnProperty;function jo(e,n,o){var r=e[n];(!(Ns.call(e,n)&&jt(r,o))||o===void 0&&!(n in e))&&$o(e,n,o)}function Gt(e,n,o,r){var a=!o;o||(o={});for(var i=-1,s=n.length;++i<s;){var d=n[i],c=void 0;c===void 0&&(c=e[d]),a?$o(o,d,c):jo(o,d,c)}return o}function As(e,n){return e&&Gt(n,xt(n),e)}function Is(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Vs=Object.prototype,Os=Vs.hasOwnProperty;function Bs(e){if(!_e(e))return Is(e);var n=dn(e),o=[];for(var r in e)r=="constructor"&&(n||!Os.call(e,r))||o.push(r);return o}function Wt(e){return vt(e)?ho(e,!0):Bs(e)}function Fs(e,n){return e&&Gt(n,Wt(n),e)}var Ko=typeof P=="object"&&P&&!P.nodeType&&P,zo=Ko&&typeof module=="object"&&module&&!module.nodeType&&module,Rs=zo&&zo.exports===Ko,qo=Rs?Se.Buffer:void 0,Ho=qo?qo.allocUnsafe:void 0;function Ds(e,n){if(n)return e.slice();var o=e.length,r=Ho?Ho(o):new e.constructor(o);return e.copy(r),r}function Us(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}function Ls(e,n){for(var o=-1,r=e==null?0:e.length,a=0,i=[];++o<r;){var s=e[o];n(s,o,e)&&(i[a++]=s)}return i}function Yo(){return[]}var Ps=Object.prototype,vs=Ps.propertyIsEnumerable,Go=Object.getOwnPropertySymbols,En=Go?function(e){return e==null?[]:(e=Object(e),Ls(Go(e),function(n){return vs.call(e,n)}))}:Yo;function xs(e,n){return Gt(e,En(e),n)}function Wo(e,n){for(var o=-1,r=n.length,a=e.length;++o<r;)e[a+o]=n[o];return e}var Zo=po(Object.getPrototypeOf,Object),$s=Object.getOwnPropertySymbols,Xo=$s?function(e){for(var n=[];e;)Wo(n,En(e)),e=Zo(e);return n}:Yo;function js(e,n){return Gt(e,Xo(e),n)}function Jo(e,n,o){var r=n(e);return je(e)?r:Wo(r,o(e))}function Ks(e){return Jo(e,xt,En)}function zs(e){return Jo(e,Wt,Xo)}var Cn=Je(Se,"DataView"),Sn=Je(Se,"Promise"),ut=Je(Se,"Set"),Tn=Je(Se,"WeakMap"),Qo="[object Map]",qs="[object Object]",ei="[object Promise]",ti="[object Set]",ni="[object WeakMap]",oi="[object DataView]",Hs=Xe(Cn),Ys=Xe(kt),Gs=Xe(Sn),Ws=Xe(ut),Zs=Xe(Tn),Ue=xe;(Cn&&Ue(new Cn(new ArrayBuffer(1)))!=oi||kt&&Ue(new kt)!=Qo||Sn&&Ue(Sn.resolve())!=ei||ut&&Ue(new ut)!=ti||Tn&&Ue(new Tn)!=ni)&&(Ue=function(e){var n=xe(e),o=n==qs?e.constructor:void 0,r=o?Xe(o):"";if(r)switch(r){case Hs:return oi;case Ys:return Qo;case Gs:return ei;case Ws:return ti;case Zs:return ni}return n});var Xs=Object.prototype,Js=Xs.hasOwnProperty;function Qs(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&Js.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var ii=Se.Uint8Array;function kn(e){var n=new e.constructor(e.byteLength);return new ii(n).set(new ii(e)),n}function ed(e,n){var o=n?kn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var td=/\w*$/;function nd(e){var n=new e.constructor(e.source,td.exec(e));return n.lastIndex=e.lastIndex,n}var ai=ve?ve.prototype:void 0,ri=ai?ai.valueOf:void 0;function od(e){return ri?Object(ri.call(e)):{}}function id(e,n){var o=n?kn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var ad="[object Boolean]",rd="[object Date]",ld="[object Map]",sd="[object Number]",dd="[object RegExp]",cd="[object Set]",md="[object String]",ud="[object Symbol]",fd="[object ArrayBuffer]",hd="[object DataView]",pd="[object Float32Array]",gd="[object Float64Array]",yd="[object Int8Array]",bd="[object Int16Array]",_d="[object Int32Array]",Ed="[object Uint8Array]",Cd="[object Uint8ClampedArray]",Sd="[object Uint16Array]",Td="[object Uint32Array]";function kd(e,n,o){var r=e.constructor;switch(n){case fd:return kn(e);case ad:case rd:return new r(+e);case hd:return ed(e,o);case pd:case gd:case yd:case bd:case _d:case Ed:case Cd:case Sd:case Td:return id(e,o);case ld:return new r;case sd:case md:return new r(e);case dd:return nd(e);case cd:return new r;case ud:return od(e)}}var li=Object.create,wd=function(){function e(){}return function(n){if(!_e(n))return{};if(li)return li(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}}();function Md(e){return typeof e.constructor=="function"&&!dn(e)?wd(Zo(e)):{}}var Nd="[object Map]";function Ad(e){return $e(e)&&Ue(e)==Nd}var si=st&&st.isMap,Id=si?ln(si):Ad,Vd="[object Set]";function Od(e){return $e(e)&&Ue(e)==Vd}var di=st&&st.isSet,Bd=di?ln(di):Od,Fd=1,Rd=2,Dd=4,ci="[object Arguments]",Ud="[object Array]",Ld="[object Boolean]",Pd="[object Date]",vd="[object Error]",mi="[object Function]",xd="[object GeneratorFunction]",$d="[object Map]",jd="[object Number]",ui="[object Object]",Kd="[object RegExp]",zd="[object Set]",qd="[object String]",Hd="[object Symbol]",Yd="[object WeakMap]",Gd="[object ArrayBuffer]",Wd="[object DataView]",Zd="[object Float32Array]",Xd="[object Float64Array]",Jd="[object Int8Array]",Qd="[object Int16Array]",ec="[object Int32Array]",tc="[object Uint8Array]",nc="[object Uint8ClampedArray]",oc="[object Uint16Array]",ic="[object Uint32Array]",q={};q[ci]=q[Ud]=q[Gd]=q[Wd]=q[Ld]=q[Pd]=q[Zd]=q[Xd]=q[Jd]=q[Qd]=q[ec]=q[$d]=q[jd]=q[ui]=q[Kd]=q[zd]=q[qd]=q[Hd]=q[tc]=q[nc]=q[oc]=q[ic]=!0,q[vd]=q[mi]=q[Yd]=!1;function It(e,n,o,r,a,i){var s,d=n&Fd,c=n&Rd,m=n&Dd;if(s!==void 0)return s;if(!_e(e))return e;var y=je(e);if(y){if(s=Qs(e),!d)return Us(e,s)}else{var u=Ue(e),p=u==mi||u==xd;if(so(e))return Ds(e,d);if(u==ui||u==ci||p&&!a){if(s=c||p?{}:Md(e),!d)return c?js(e,Fs(s,e)):xs(e,As(s,e))}else{if(!q[u])return a?e:{};s=kd(e,u,d)}}i||(i=new mt);var _=i.get(e);if(_)return _;i.set(e,s),Bd(e)?e.forEach(function(k){s.add(It(k,n,o,k,e,i))}):Id(e)&&e.forEach(function(k,O){s.set(O,It(k,n,o,O,e,i))});var M=m?c?zs:Ks:c?Wt:xt,g=y?void 0:M(e);return Qn(g||e,function(k,O){g&&(O=k,k=e[O]),jo(s,O,It(k,n,o,O,e,i))}),s}var ac=1,rc=4;function Le(e){return It(e,ac|rc)}const wn=(e,n="")=>typeof e.id<"u"?n+e.id+"":n+(e.inputName||e.label||e.model||"").toString().trim().toLowerCase().replace(/ |_/g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-]+)/g,""),fi=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var lc="[object String]";function nt(e){return typeof e=="string"||!je(e)&&$e(e)&&xe(e)==lc}const hi={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,o={[K(this.options,"validationErrorClass","error")]:n,[K(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?fe(e.styleClasses,r=>o[r]=!0):nt(e.styleClasses)&&(o[e.styleClasses]=!0),ee(e.type)||(o["field-"+e.type]=!0),o},fieldErrors(e){return this.errors.filter(o=>o.field.fieldName===e.fieldName).map(o=>o.error)},fieldDisabled(e){return z(e.disabled)?e.disabled.call(this,this.model,e,this):ee(e.disabled)?!1:e.disabled},fieldReadonly(e){return z(e.readonly)?e.readonly.call(this,this.model,e,this):ee(e.readonly)?!1:e.readonly},fieldFeatured(e){return z(e.featured)?e.featured.call(this,this.model,e,this):ee(e.featured)?!1:e.featured},fieldRequired(e){return z(e.required)?e.required.call(this,this.model,e,this):ee(e.required)?!1:e.required}}};var Mn=function(){return Se.Date.now()},sc=/\s/;function dc(e){for(var n=e.length;n--&&sc.test(e.charAt(n)););return n}var cc=/^\s+/;function mc(e){return e&&e.slice(0,dc(e)+1).replace(cc,"")}var pi=NaN,uc=/^[-+]0x[0-9a-f]+$/i,fc=/^0b[01]+$/i,hc=/^0o[0-7]+$/i,pc=parseInt;function Nn(e){if(typeof e=="number")return e;if($t(e))return pi;if(_e(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=_e(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=mc(e);var o=fc.test(e);return o||hc.test(e)?pc(e.slice(2),o?2:8):uc.test(e)?pi:+e}var gc="Expected a function",yc=Math.max,bc=Math.min;function ft(e,n,o){var r,a,i,s,d,c,m=0,y=!1,u=!1,p=!0;if(typeof e!="function")throw new TypeError(gc);n=Nn(n)||0,_e(o)&&(y=!!o.leading,u="maxWait"in o,i=u?yc(Nn(o.maxWait)||0,n):i,p="trailing"in o?!!o.trailing:p);function _(S){var E=r,V=a;return r=a=void 0,m=S,s=e.apply(V,E),s}function M(S){return m=S,d=setTimeout(O,n),y?_(S):s}function g(S){var E=S-c,V=S-m,B=n-E;return u?bc(B,i-V):B}function k(S){var E=S-c,V=S-m;return c===void 0||E>=n||E<0||u&&V>=i}function O(){var S=Mn();if(k(S))return U(S);d=setTimeout(O,g(S))}function U(S){return d=void 0,p&&r?_(S):(r=a=void 0,s)}function w(){d!==void 0&&clearTimeout(d),m=0,r=c=a=d=void 0}function C(){return d===void 0?s:U(Mn())}function N(){var S=Mn(),E=k(S);if(r=arguments,a=this,c=S,E){if(d===void 0)return M(c);if(u)return clearTimeout(d),d=setTimeout(O,n),_(c)}return d===void 0&&(d=setTimeout(O,n)),s}return N.cancel=w,N.flush=C,N}var _c="__lodash_hash_undefined__";function Ec(e){return this.__data__.set(e,_c),this}function Cc(e){return this.__data__.has(e)}function Zt(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new De;++n<o;)this.add(e[n])}Zt.prototype.add=Zt.prototype.push=Ec,Zt.prototype.has=Cc;function Sc(e,n,o,r){for(var a=e.length,i=o+-1;++i<a;)if(n(e[i],i,e))return i;return-1}function Tc(e){return e!==e}function kc(e,n,o){for(var r=o-1,a=e.length;++r<a;)if(e[r]===n)return r;return-1}function wc(e,n,o){return n===n?kc(e,n,o):Sc(e,Tc,o)}function Mc(e,n){var o=e==null?0:e.length;return!!o&&wc(e,n,0)>-1}function Nc(e,n){return e.has(n)}function Ac(){}function gi(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var Ic=1/0,Vc=ut&&1/gi(new ut([,-0]))[1]==Ic?function(e){return new ut(e)}:Ac,Oc=200;function Bc(e,n,o){var r=-1,a=Mc,i=e.length,s=!0,d=[],c=d;if(i>=Oc){var m=Vc(e);if(m)return gi(m);s=!1,a=Nc,c=new Zt}else c=d;e:for(;++r<i;){var y=e[r],u=y;if(y=y!==0?y:0,s&&u===u){for(var p=c.length;p--;)if(c[p]===u)continue e;d.push(y)}else a(c,u,o)||(c!==d&&c.push(u),d.push(y))}return d}function yi(e){return e&&e.length?Bc(e):[]}var Fc=0;function bi(e){var n=++Fc;return Eo(e)+n}var _i=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,qe="\\d\\d?",He="\\d\\d",Rc="\\d{3}",Dc="\\d{4}",Vt="[^\\s]+",Ei=/\[([^]*?)\]/gm;function Ci(e,n){for(var o=[],r=0,a=e.length;r<a;r++)o.push(e[r].substr(0,n));return o}var Si=function(e){return function(n,o){var r=o[e].map(function(i){return i.toLowerCase()}),a=r.indexOf(n.toLowerCase());return a>-1?a:null}};function ot(e){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];for(var r=0,a=n;r<a.length;r++){var i=a[r];for(var s in i)e[s]=i[s]}return e}var Ti=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ki=["January","February","March","April","May","June","July","August","September","October","November","December"],Uc=Ci(ki,3),Lc=Ci(Ti,3),wi={dayNamesShort:Lc,dayNames:Ti,monthNamesShort:Uc,monthNames:ki,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},Xt=ot({},wi),Pc=function(e){return Xt=ot(Xt,e)},Mi=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},ye=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},vc={D:function(e){return String(e.getDate())},DD:function(e){return ye(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return ye(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return ye(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return ye(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return ye(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return ye(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return ye(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return ye(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return ye(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return ye(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return ye(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+ye(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+ye(Math.floor(Math.abs(n)/60),2)+":"+ye(Math.abs(n)%60,2)}},Ni=function(e){return+e-1},Ai=[null,qe],Ii=[null,Vt],Vi=["isPm",Vt,function(e,n){var o=e.toLowerCase();return o===n.amPm[0]?0:o===n.amPm[1]?1:null}],Oi=["timezoneOffset","[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z?",function(e){var n=(e+"").match(/([+-]|\d\d)/gi);if(n){var o=+n[1]*60+parseInt(n[2],10);return n[0]==="+"?o:-o}return 0}],xc={D:["day",qe],DD:["day",He],Do:["day",qe+Vt,function(e){return parseInt(e,10)}],M:["month",qe,Ni],MM:["month",He,Ni],YY:["year",He,function(e){var n=new Date,o=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?o-1:o)+e)}],h:["hour",qe,void 0,"isPm"],hh:["hour",He,void 0,"isPm"],H:["hour",qe],HH:["hour",He],m:["minute",qe],mm:["minute",He],s:["second",qe],ss:["second",He],YYYY:["year",Dc],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",He,function(e){return+e*10}],SSS:["millisecond",Rc],d:Ai,dd:Ai,ddd:Ii,dddd:Ii,MMM:["month",Vt,Si("monthNamesShort")],MMMM:["month",Vt,Si("monthNames")],a:Vi,A:Vi,ZZ:Oi,Z:Oi},Jt={default:"ddd MMM DD YYYY HH:mm:ss",shortDate:"M/D/YY",mediumDate:"MMM D, YYYY",longDate:"MMMM D, YYYY",fullDate:"dddd, MMMM D, YYYY",isoDate:"YYYY-MM-DD",isoDateTime:"YYYY-MM-DDTHH:mm:ssZ",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},$c=function(e){return ot(Jt,e)},jc=function(e,n,o){if(n===void 0&&(n=Jt.default),o===void 0&&(o={}),typeof e=="number"&&(e=new Date(e)),Object.prototype.toString.call(e)!=="[object Date]"||isNaN(e.getTime()))throw new Error("Invalid Date pass to format");n=Jt[n]||n;var r=[];n=n.replace(Ei,function(i,s){return r.push(s),"@@@"});var a=ot(ot({},Xt),o);return n=n.replace(_i,function(i){return vc[i](e,a)}),n.replace(/@@@/g,function(){return r.shift()})};function Kc(e,n,o){if(o===void 0&&(o={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Jt[n]||n,e.length>1e3)return null;var r=new Date,a={year:r.getFullYear(),month:0,day:1,hour:0,minute:0,second:0,millisecond:0,isPm:null,timezoneOffset:null},i=[],s=[],d=n.replace(Ei,function(C,N){return s.push(Mi(N)),"@@@"}),c={},m={};d=Mi(d).replace(_i,function(C){var N=xc[C],S=N[0],E=N[1],V=N[3];if(c[S])throw new Error("Invalid format. "+S+" specified twice in format");return c[S]=!0,V&&(m[V]=!0),i.push(N),"("+E+")"}),Object.keys(m).forEach(function(C){if(!c[C])throw new Error("Invalid format. "+C+" is required in specified format")}),d=d.replace(/@@@/g,function(){return s.shift()});var y=e.match(new RegExp(d,"i"));if(!y)return null;for(var u=ot(ot({},Xt),o),p=1;p<y.length;p++){var _=i[p-1],M=_[0],g=_[2],k=g?g(y[p],u):+y[p];if(k==null)return null;a[M]=k}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var O;if(a.timezoneOffset==null){O=new Date(a.year,a.month,a.day,a.hour,a.minute,a.second,a.millisecond);for(var U=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],p=0,w=U.length;p<w;p++)if(c[U[p][0]]&&a[U[p][0]]!==O[U[p][1]]())return null}else if(O=new Date(Date.UTC(a.year,a.month,a.day,a.hour,a.minute-a.timezoneOffset,a.second,a.millisecond)),a.month>11||a.month<0||a.day>31||a.day<1||a.hour>23||a.hour<0||a.minute>59||a.minute<0||a.second>59||a.second<0)return null;return O}var ht={format:jc,parse:Kc,defaultI18n:wi,setGlobalDateI18n:Pc,setGlobalDateMasks:$c};function zc(e,n,o){switch(o.length){case 0:return e.call(n);case 1:return e.call(n,o[0]);case 2:return e.call(n,o[0],o[1]);case 3:return e.call(n,o[0],o[1],o[2])}return e.apply(n,o)}var Bi=Math.max;function qc(e,n,o){return n=Bi(n===void 0?e.length-1:n,0),function(){for(var r=arguments,a=-1,i=Bi(r.length-n,0),s=Array(i);++a<i;)s[a]=r[n+a];a=-1;for(var d=Array(n+1);++a<n;)d[a]=r[a];return d[n]=o(s),zc(e,this,d)}}function Hc(e){return function(){return e}}var Yc=Yt?function(e,n){return Yt(e,"toString",{configurable:!0,enumerable:!1,value:Hc(n),writable:!0})}:cn,Gc=800,Wc=16,Zc=Date.now;function Xc(e){var n=0,o=0;return function(){var r=Zc(),a=Wc-(r-o);if(o=r,a>0){if(++n>=Gc)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Jc=Xc(Yc);function Qc(e,n){return Jc(qc(e,n,cn),e+"")}function em(e,n,o){if(!_e(o))return!1;var r=typeof n;return(r=="number"?vt(o)&&co(n,o.length):r=="string"&&n in o)?jt(o[n],e):!1}var Fi=Object.prototype,tm=Fi.hasOwnProperty,nm=Qc(function(e,n){e=Object(e);var o=-1,r=n.length,a=r>2?n[2]:void 0;for(a&&em(n[0],n[1],a)&&(r=1);++o<r;)for(var i=n[o],s=Wt(i),d=-1,c=s.length;++d<c;){var m=s[d],y=e[m];(y===void 0||jt(y,Fi[m])&&!tm.call(e,m))&&(e[m]=i[m])}return e}),om=Se.isFinite;function Ri(e){return typeof e=="number"&&om(e)}var Di=1/0,im=17976931348623157e292;function am(e){if(!e)return e===0?e:0;if(e=Nn(e),e===Di||e===-Di){var n=e<0?-1:1;return n*im}return e===e?e:0}function rm(e){var n=am(e),o=n%1;return n===n?o?n-o:n:0}function lm(e){return typeof e=="number"&&e==rm(e)}var sm="[object Number]";function An(e){return typeof e=="number"||$e(e)&&xe(e)==sm}const Ce={general:{packageName:"forms",disable_global_radio:"The plugin is set to 'Scoped' by default when configured under a {scope}. To configure a global plugin, navigate to the global plugin list page.",disable_source_scope_change:"Changing the {scope} is not allowed when configuring a plugin under it."},"post-function":{tags:{hint:"e.g. tag1, tag2, tag3",newElementButtonLabel:"+ Add"},enabled:{newElementButtonLabel:"+ Add"},selectionGroup:{newElementButtonLabel:"+ Add"},instance_name:{newElementButtonLabel:"+ Add"},name:{newElementButtonLabel:"+ Add"},"config-certificate":{help:"Array of stringified Lua code to be cached and run in sequence during the certificate phase.",newElementButtonLabel:"+ Add"},"config-access":{help:"Array of stringified Lua code to be cached and run in sequence during the access phase.",newElementButtonLabel:"+ Add"},"config-body_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the body_filter phase.",newElementButtonLabel:"+ Add"},"config-header_filter":{help:"Array of stringified Lua code to be cached and run in sequence during the header_filter phase.",newElementButtonLabel:"+ Add"},"config-functions":{newElementButtonLabel:"+ Add"},"config-log":{newElementButtonLabel:"+ Add"},"config-rewrite":{newElementButtonLabel:"+ Add"},"config-ws_client_frame":{newElementButtonLabel:"+ Add"},"config-ws_close":{newElementButtonLabel:"+ Add"},"config-ws_handshake":{newElementButtonLabel:"+ Add"},"config-ws_upstream_frame":{newElementButtonLabel:"+ Add"}},"exit-transformer":{"config-functions":{newElementButtonLabel:"+ Add"}},rla:{view_advanced:"View advanced parameters",window_type:{label:"Rate Limit Window Type",help:"Sets the time window type to either <code>sliding</code> (default) or <code>fixed</code>.<br><ul><li>Sliding windows apply the rate limiting logic while taking into account previous hit rates (from the window that immediately precedes the current) using a dynamic weight.</li><li>Fixed windows consist of buckets that are statically assigned to a definitive time range, each request is mapped to only one fixed window based on its timestamp and will affect only that window&#39;s counters.</li></ul>",options:{fixed:"Fixed",sliding:"Sliding"}},request_limits:{title:"Request Limits",subtitle:"Set one or more limits on the number of API requests allowed within a defined timeframe.",label:"Limit",label_index:"Limit {index}",request_number:"Request number",time_interval:"Time interval",interval_determiner:"Every",seconds:"Seconds"},start_with_a_use_case:"Start with a use case:",use_case_index:"Use case {index}",error_message:{label:"Error Message",code_placeholder:"Code Message",message_placeholder:"Error Message",help:"Set a custom error code and message to be returned when the rate limit is exceeded."},identifiers:{label:"Identifiers",options:{ip:"IP",credential:"Credential",consumer:"Consumer",service:"Service",header:"Header",path:"Path","consumer-group":"Consumer Group",route:"Route"}},redis:{title:"Configure your Redis",address_example:"e.g. localhost:6379"}},validators:{field_is_required:"This field is required",invalid_format:"Invalid format",number_too_small:"The number is too small. Minimum: {0}",number_too_large:"The number is too large. Maximum: {0}",invalid_number:"Invalid number",invalid_integer:"The value is not an integer",text_too_short:"The length of text is too short. Current: {0}, Minimum: {1}",text_too_long:"The length of text is too long. Current: {0}, Maximum: {1}",this_not_text:"This is not a text",this_not_array:"This is not an array",select_min_items:"Select minimum {0} items",select_max_items:"Select maximum {0} items",invalid_date:"Invalid date",date_is_early:"The date is too early. Current: {0}, Minimum: {1}",date_is_late:"The date is too late. Current: {0}, Maximum: {1}",invalid_email:"Invalid e-mail address",invalid_url:"Invalid URL",invalid_card:"Invalid card format",invalid_card_number:"Invalid card number",invalid_text_contain_number:"Invalid text - cannot contains numbers or special characters",invalid_tex_contain_spec:"Invalid text - cannot contains special characters"},redis:{title:"Redis Configuration",managed_ui:{title:"Redis",groups:{self_managed:"Self-managed Redis",konnect_managed:"Konnect-managed Redis"},shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",badge:"Recommended",title:"Shared Redis Configuration",create_new_configuration:"New Redis",selector:{placeholder:"Filter Redis configurations..."}},dedicated_configuration:{label:"Use locally-scoped configuration",description:"Create and use a Redis configuration specifically for this plugin."}},shared_configuration:{label:"Use shared configuration",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins.",title:"Shared Redis Configuration",error:"Fetching shared Redis configurations failed.",tooltip:"Only compatible {type} redis configurations will be listed here.",configuration_selector_label:"Select stored Redis configuration",configuration_selector_placeholder:"Pick Redis configuration",create_new_configuration:"New {type} shared configuration",empty_state:"No shared configurations",selector:{title:"Select a Redis configuration",placeholder:"Filter Configurations",description:"Select an existing shared Redis configuration or create a new one. Any updates to this configuration will automatically apply to all associated plugins."}},dedicated_configuration:{label:"Use dedicated configuration",description:"Create a Redis configuration exclusively for this plugin, with settings that won’t impact other plugins.",title:"Connection Settings"},config_card:{common_fields:{created_at_label:"Created at",updated_at_label:"Last Updated at",type_label:"Redis Type"}},custom_plugin:{alert:"Note: For custom plugins, we cannot determine the correct Redis configuration type. Please ensure you select the appropriate option manually.",tooltip:"To apply a shared redis configuration, the redis fields must defined as Kong plugins in plugin schema."}},fields:{auto_suggest:{error:{load_entity:"There was an error loading {entity}"},recently_created:"Recently created {entity}",items_count:"Currently showing {count} {count, plural, =1 {item} other {items}}, type to search",no_results:"No results",loading:"Loading..."}},vfg:{labels:{on:"On",off:"Off"}}},{t:te}=be.createI18n("en-us",Ce),me={fieldIsRequired:te("validators.field_is_required"),invalidFormat:te("validators.invalid_format"),numberTooSmall:te("validators.number_too_small"),numberTooBig:te("validators.number_too_large"),invalidNumber:te("validators.invalid_number"),invalidInteger:te("validators.invalid_integer"),textTooSmall:te("validators.text_too_short"),textTooBig:te("validators.text_too_long"),thisNotText:te("validators.this_not_text"),thisNotArray:te("validators.this_not_array"),selectMinItems:te("validators.select_min_items"),selectMaxItems:te("validators.select_max_items"),invalidDate:te("validators.invalid_date"),dateIsEarly:te("validators.date_is_early"),dateIsLate:te("validators.date_is_late"),invalidEmail:te("validators.invalid_email"),invalidURL:te("validators.invalid_url"),invalidCard:te("validators.invalid_card"),invalidCardNumber:te("validators.invalid_card_number"),invalidTextContainNumber:te("validators.invalid_text_contain_number"),invalidTextContainSpec:te("validators.invalid_tex_contain_spec")},Y=(e,...n)=>{if(e&&n.length>0)for(let o=0;o<n.length;o++)e=e.replace("{"+(o-1)+"}",String(n[o]||""));return e},Te=(e,n,o=me)=>ee(e)||e===""?n?[Y(o.fieldIsRequired)]:[]:null,it={required:(e,n,o,r=me)=>Te(e,n.required,r)||[],number:(e,n,o,r=me)=>{let a=Te(e,n.required,r);return a!=null||(a=[],Ri(e)?(!ee(n.min)&&e<n.min,(r=me)&&a.push(Y(r.numberTooSmall,n.min)),!ee(n.max)&&e>n.max,(r=me)&&a.push(Y(r.numberTooBig,n.max))):a.push(Y(r.invalidNumber))),a},integer:(e,n,o,r=me)=>{let a=Te(e,n.required,r);return a!=null||(a=[],a.concat(it.number(e,n,o,r)),lm(e)||a.push(Y(r.invalidInteger))),a},double:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(!An(e)||isNaN(e)?[Y(r.invalidNumber)]:[])},string:(e,n,o,r=me)=>{let a=Te(e,n.required,r);return a!=null||(a=[],nt(e)?(!ee(n.min)&&e.length<n.min&&a.push(Y(r.textTooSmall,e.length,n.min)),!ee(n.max)&&e.length>n.max&&a.push(Y(r.textTooBig,e.length,n.max))):a.push(Y(r.thisNotText))),a},array:(e,n,o,r=me)=>{if(n.required){if(!Array.isArray(e))return[Y(r.thisNotArray)];if(e.length===0)return[Y(r.fieldIsRequired)]}if(!ee(e)){if(!ee(n.min)&&e.length<n.min)return[Y(r.selectMinItems,n.min)];if(!ee(n.max)&&e.length>n.max)return[Y(r.selectMaxItems,n.max)]}return[]},date:(e,n,o,r=me)=>{let a=Te(e,n.required,r);if(a!=null)return a;a=[];const i=new Date(e);if(isNaN(i.getDate()))return[Y(r.invalidDate)];if(!ee(n.min)){const s=new Date(n.min);i.valueOf()<s.valueOf()&&a.push(Y(r.dateIsEarly,ht.format(i),ht.format(s)))}if(!ee(n.max)){const s=new Date(n.max);i.valueOf()>s.valueOf()&&a.push(Y(r.dateIsLate,ht.format(i),ht.format(s)))}return a},regexp:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(!ee(n.pattern)&&!new RegExp(n.pattern).test(e)?[Y(r.invalidFormat)]:[])},email:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(e)?[]:[Y(r.invalidEmail)])},url:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,4}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g.test(e)?[]:[Y(r.invalidURL)])},creditCard:(e,n,o,r=me)=>{const a=Te(e,n.required,r);if(a!=null)return a;const i=/^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,s=e.replace(/[^0-9]+/g,"");if(!i.test(s))return[Y(r.invalidCard)];let d=0,c,m,y;for(let u=s.length-1;u>=0;u--)c=s.substring(u,u+1),m=parseInt(c,10),y?(m*=2,m>=10?d+=m%10+1:d+=m):d+=m,y=!y;return d%10===0&&s?[]:[Y(r.invalidCardNumber)]},alpha:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/^[a-zA-Z]*$/.test(e)?[]:[Y(r.invalidTextContainNumber)])},alphaNumeric:(e,n,o,r=me)=>{const a=Te(e,n.required,r);return a??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Y(r.invalidTextContainSpec)])}};Object.keys(it).forEach(e=>{const n=it[e];z(n)&&(n.locale=o=>(r,a,i)=>n(r,a,i,nm(o,me)))});function Ui(e){return nt(e)?it[e]!=null?it[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function In(e,n,o){let r=K(o.context,"schema.attributes",{});const a=n.value||"input";nt(a)&&(r=K(r,a)||r),fe(r,(i,s)=>{e.setAttribute(s,i)})}const Ne={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:In,updated:In,componentUpdated:In}},computed:{value:{cache:!1,get(){let e;return z(K(this.schema,"get"))?e=this.schema.get(this.model):e=K(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),z(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=K(this.formOptions,"validateAsync",!1);let o=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const a=[];Array.isArray(this.schema.validator)?fe(this.schema.validator,i=>{a.push(Ui(i).bind(this))}):a.push(Ui(this.schema.validator).bind(this)),fe(a,i=>{if(n)o.push(i(this.value,this.schema,this.model));else{const s=i(this.value,this.schema,this.model);s&&z(s.then)?s.then(d=>{d&&(this.errors=this.errors.concat(d));const c=this.errors.length===0;this.$emit("validated",c,this.errors,this)}):s&&(o=o.concat(s))}})}const r=a=>{let i=[];fe(yi(a),d=>{Array.isArray(d)&&d.length>0?i=i.concat(d):nt(d)&&i.push(d)}),z(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,i,this.schema);const s=i.length===0;return e||this.$emit("validated",s,i,this),this.errors=i,i};return n?Promise.all(o).then(r):r(o)},debouncedValidate(){z(this.debouncedValidateFunc)||(this.debouncedValidateFunc=ft(this.validate.bind(this),K(this.schema,"validateDebounceTime",K(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let o=!1;z(this.schema.set)?(this.schema.set(this.model,e),o=!0):this.schema.model&&(this.setModelValueByPath(this.schema.model,e),o=!0),o&&(this.$emit("modelUpdated",e,this.schema.model),z(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),K(this.formOptions,"validateAfterChanged",!1)===!0&&(K(this.schema,"validateDebounceTime",K(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let o=e.replace(/\[(\w+)\]/g,".$1");o=o.replace(/^\./,"");let r=this.model;const a=o.split(".");let i=0;const s=a.length;for(;i<s;){const d=a[i];if(i<s-1)r[d]!==void 0||(r[d]={}),r=r[d];else{r[d]=n;return}++i}},getFieldID(e,n=!1){const o=K(this.formOptions,"fieldIdPrefix","");return wn(e,o)+(n?"-"+bi():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return K(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},dm=Object.freeze(Object.defineProperty({__proto__:null,default:Ne},Symbol.toStringTag,{value:"Module"})),$=(e,n)=>{const o=e.__vccOpts||e;for(const[r,a]of n)o[r]=a;return o},cm={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},mm={class:"material-icons"},um=$(Object.assign({mixins:[Ne],emits:["model-updated"],expose:["validate","clearValidationErrors","schema"],data(){return{isOpen:!1}},computed:{openClass(){return this.isOpen?"open":"closed"},fieldCount(){return this.schema.fields.length},titleText(){return`${this.isOpen?"Hide":"View"} ${this.fieldCount} Advanced Fields`}},methods:{handleOpen(){this.isOpen=!this.isOpen},updateModel(e,n){this.$emit("model-updated",e,n)}}},{__name:"FieldAdvanced",setup(e){return(n,o)=>(t.openBlock(),t.createElementBlock("div",cm,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:o[0]||(o[0]=(...r)=>n.handleOpen&&n.handleOpen(...r))},[t.createElementVNode("i",mm,t.toDisplayString(n.isOpen?"keyboard_arrow_up":"keyboard_arrow_right"),1),t.createElementVNode("span",null,t.toDisplayString(n.titleText),1)]),t.createElementVNode("div",{class:t.normalizeClass(["advanced-field-dropdown",n.openClass])},[t.createVNode(G,{model:n.model,options:{helpAsHtml:!0},schema:n.schema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])],2)]))}}),[["__scopeId","data-v-e8f66c8a"]]),fm={class:"array-card-container"},Li=$(t.defineComponent({__name:"FieldArrayCardContainer",props:{model:{type:Object,default:()=>null},schema:{type:Object,default:()=>null},index:{type:Number,default:void 0}},emits:["remove-item"],setup(e){const n=e;return t.provide("vfg-array-item-index",n.index),(o,r)=>{const a=t.resolveComponent("KCard"),i=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",fm,[t.createVNode(a,{class:"card"},{default:t.withCtx(()=>[t.renderSlot(o.$slots,"default",{},void 0,!0)]),_:3}),t.createVNode(i,{appearance:"tertiary",class:"array-card-remove-button",onClick:r[0]||(r[0]=s=>o.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1})])}}}),[["__scopeId","data-v-a8366ec5"]]),hm={class:"array-item-wrapper"},pm={class:"array-item"},gm={class:"array-item-after"},Pi=$(t.defineComponent({__name:"FieldArrayItem",props:{model:{type:String,default:""}},emits:["remove-item"],setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",hm,[t.createElementVNode("div",pm,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(r,{appearance:"tertiary",class:"delete",onClick:o[0]||(o[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1})]),t.createElementVNode("div",gm,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),[["__scopeId","data-v-e6b6837c"]]),ym={class:"multi-item-wrapper"},vi=$(t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",ym,[t.renderSlot(n.$slots,"default",{},void 0,!0),t.createVNode(r,{appearance:"danger",class:"delete",onClick:o[0]||(o[0]=a=>n.$emit("remove-item"))},{default:t.withCtx(()=>[...o[1]||(o[1]=[t.createTextVNode(" - Remove Field ",-1)])]),_:1}),o[2]||(o[2]=t.createElementVNode("hr",null,null,-1))])}}}),[["__scopeId","data-v-b4fcf731"]]);var bm=4;function xi(e){return It(e,bm)}const _m="#6c7489",$i="12px",Em="16px",ji="20px",Cm=["data-testid","data-testlabel"],Sm={class:"item-label"},Tm={class:"autosuggest__results_message"},km=$(t.defineComponent({__name:"AutoSuggest",props:t.mergeModels({placeholder:{default:""},suggestions:{},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},emptyMessage:{default:""},domId:{},error:{default:null}},{id:{required:!0},idModifiers:{}}),emits:t.mergeModels(["change","query-change"],["update:id"]),setup(e){const{t:n}=be.createI18n("en-us",Ce),o=t.useModel(e,"id");return(r,a)=>{const i=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(i,{id:e.domId,ref:"suggestion",modelValue:o.value,"onUpdate:modelValue":a[0]||(a[0]=s=>o.value=s),clearable:"",disabled:e.disabled,"enable-filtering":"",error:e.error!==null,"filter-function":()=>!0,help:e.error!==null?e.error:void 0,items:e.suggestions,loading:e.loading,placeholder:e.placeholder,width:"100%",onChange:a[1]||(a[1]=s=>r.$emit("change",s)),onQueryChange:a[2]||(a[2]=s=>r.$emit("query-change",s))},t.createSlots({"item-template":t.withCtx(({item:s})=>[t.renderSlot(r.$slots,"item",{item:s},()=>[t.createElementVNode("span",{class:"item-label","data-testid":s.id&&`${s.id}-0`,"data-testlabel":s.label},t.toDisplayString(s.label),9,Cm)],!0)]),"selected-item-template":t.withCtx(({item:s})=>[t.renderSlot(r.$slots,"selected-item",{item:s},()=>[t.createElementVNode("span",Sm,t.toDisplayString(s.label),1)],!0)]),empty:t.withCtx(()=>[t.createElementVNode("div",Tm,[t.createElementVNode("span",null,t.toDisplayString(e.emptyMessage||t.unref(n)("fields.auto_suggest.no_results")),1)])]),_:2},[r.$slots.before?{name:"before",fn:t.withCtx(()=>[t.renderSlot(r.$slots,"before",{},void 0,!0)]),key:"0"}:void 0]),1032,["id","modelValue","disabled","error","help","items","loading","placeholder"])}}}),[["__scopeId","data-v-1e9151dd"]]),wm="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",Vn=e=>e?e.length===36&&new RegExp(`^${wm}$`).test(e):!1,Mm={class:"selected-entity-item"},Nm={class:"selected-entity-label"},Am={class:"entity-suggestion-item"},Im={class:"entity-label"},Vm={class:"entity-id"},Om=500,Bm=50,Fm=1e3,Ki=$(t.defineComponent({__name:"FieldScopedEntitySelect",props:{transformItem:{type:Function},allowUuidSearch:{type:Boolean,default:!1},placeholder:{},fields:{default:()=>[]},selectedItem:{},selectedItemLoading:{type:Boolean},domId:{},id:{},entity:{},disabled:{type:Boolean},fieldDisabled:{type:Boolean},error:{},labelField:{default:"name"}},emits:["change"],setup(e){const n=t.inject(Ee,void 0),o=async(h,b)=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),[];const{data:T}=await n.getAllV2(e.entity,{name:h,size:Fm},b);return T.data},r=async h=>n?n.peek(e.entity,h):(console.warn("[@kong-ui-public/forms] No API service provided"),Promise.resolve({data:{data:[]}})),a=async h=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),{id:h};const b=await n.getOne(e.entity,h,{validateStatus:T=>T>=200&&T<300||T===404});if(b.status===404)throw new Error(`Entity of type ${e.entity} with id ${h} not found`);return b.data},i=e.transformItem??(h=>({...h,label:h[e.labelField],value:h.id})),s=t.ref(""),d=t.ref(!1),c=t.ref(!1),m=t.ref(""),y=t.ref([]),u=t.ref([]),p=t.ref([]),{t:_}=be.createI18n("en-us",Ce),M=t.ref(null);let g=null;const k=async(h,b)=>{if(!e.fieldDisabled){clearTimeout(g),g=setTimeout(()=>{d.value=!0},1500);try{const T=await h();u.value=T,y.value=u.value.map(i)}catch(T){if(b!=null&&b.aborted)return;if(y.value=[],Fa.isAxiosError(T)&&T.status===404){console.warn("unable to search with UUID",m.value,"for entity type",e.entity);return}s.value=T.message}finally{clearTimeout(g),d.value=!1}}},O=ft(h=>{if(h=h||"",m.value=h,!h.trim()&&!c.value){y.value=E(p.value);return}M.value&&M.value.abort();const b=new AbortController;if(M.value=b,c.value){B(h);return}N(h,b)},Om,{leading:!0}),U=async(h,b)=>await o(h,b),w=async()=>{const{data:{data:h,next:b,offset:T}}=await r(Bm);return(!b||!T)&&(c.value=!0),u.value=h,p.value=h.map(F=>({...i(F),group:_("fields.auto_suggest.recently_created",{entity:e.entity})})),h},C=async h=>[await a(h)],N=(h,b)=>{Vn(h)&&e.allowUuidSearch?k(async()=>await C(h)):k(async()=>await U(h,b.signal),b.signal)},S=h=>{let b=[];b=E(p.value),h!=null&&h.trim()?y.value=b.filter(T=>e.fields.some(F=>(T[F]||"").includes(h))):y.value=b},E=h=>e.selectedItem?h.some(b=>b.value===e.selectedItem.value)?h:[e.selectedItem,...h]:h,V=h=>{y.value=p.value.filter(b=>b.id===h)},B=h=>{Vn(h)&&e.allowUuidSearch?V(h):S(h)};return t.onMounted(async()=>{await k(w);const h=t.watch(()=>e.selectedItem,b=>{b&&(y.value=E(p.value)),h()});y.value=E(p.value)}),(h,b)=>(t.openBlock(),t.createBlock(km,{id:e.id,disabled:e.fieldDisabled,"dom-id":e.domId,"empty-message":s.value,error:e.error,loading:e.selectedItemLoading||d.value,placeholder:e.placeholder,readonly:e.disabled,suggestions:y.value,onChange:b[0]||(b[0]=T=>h.$emit("change",T)),onQueryChange:t.unref(O)},{before:t.withCtx(()=>[t.renderSlot(h.$slots,"before",{},()=>[t.createVNode(t.unref(ue.SearchIcon),{color:`var(--kui-color-text-neutral, ${t.unref(_m)})`,size:`var(--kui-icon-size-40, ${t.unref(ji)})`},null,8,["color","size"])],!0)]),"selected-item":t.withCtx(({item:T})=>[t.renderSlot(h.$slots,"selected-item",{item:T},()=>[t.createElementVNode("span",Mm,[t.createElementVNode("span",Nm,t.toDisplayString(T.label??T.id),1)])],!0)]),item:t.withCtx(({item:T})=>[t.renderSlot(h.$slots,"item",{item:T},()=>[t.createElementVNode("div",Am,[t.createElementVNode("span",Im,t.toDisplayString(T.label??t.unref(So)),1),t.createElementVNode("span",Vm,t.toDisplayString(T.id),1)])],!0)]),_:3},8,["id","disabled","dom-id","empty-message","error","loading","placeholder","readonly","suggestions","onQueryChange"]))}}),[["__scopeId","data-v-d8027156"]]);function zi(e,n,o){return o?Me.SET_REFERRAL_VALUE:e&&!n||!e&&n?Me.UPDATE_ENTITY:e&&n?Me.CREATE_FROM_ENTITY:Me.CREATE_NOT_FROM_ENTITY}const Rm={components:{FieldScopedEntitySelect:Ki},mixins:[Ne],inject:[Ee],emits:["model-updated"],setup(){const{t:e}=be.createI18n("en-us",Ce);return{t:e}},data(){return{idValue:"",error:null,initialItem:null,selectedItem:null,loading:!1}},computed:{fieldState(){return zi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search},inputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},allowUuidSearch(){return this.inputFields.includes("id")},inputFieldsWithoutId(){return this.inputFields.filter(e=>e!=="id")},initialValueSelected(){var e;return this.idValue===((e=this.initialItem)==null?void 0:e.id)}},async created(){await this.$nextTick();let e,n;this.error=null;try{switch(this.fieldState){case Me.UPDATE_ENTITY:if(!this[Ee]){console.warn("[@kong-ui-public/forms] No API service provided");break}this.loading=!0,n=await this.getOne(this.model[this.schema.model]),e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Me.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Me.SET_REFERRAL_VALUE:this.idValue=this.value}e&&(this.initialItem=this.transformItem(e),this.selectedItem=this.initialItem)}catch(o){this.error=o.message||this.t("fields.auto_suggest.error.load_entity",{entity:this.schema.entity}),console.error("err!",o)}finally{this.loading=!1}},methods:{async getOne(e){if(!this[Ee])return console.warn("[@kong-ui-public/forms] No API service provided"),{};const n=await this[Ee].getOne(this.entity,e,{validateStatus:o=>o>=200&&o<300||o===404});if(n.status===404)throw new Error(`Entity of type ${this.entity} with id ${e} not found`);return n.data},transformItem(e){var o;const n=((o=this.schema)==null?void 0:o.labelField)||"id";return{...e,label:n&&e?e[n]:"",value:e.id}},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.error=null,this.idValue=e&&e.id,this.selectedItem=e,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var o;const n=(o=this.schema)==null?void 0:o.returnKey;return n?e[n]:e.id}}};function Dm(e,n,o,r,a,i){const s=t.resolveComponent("FieldScopedEntitySelect");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.disabled?"k-tooltip":"div"),{class:"field-wrap autosuggest","max-width":"300",text:e.schema.disabledTooltip},{default:t.withCtx(()=>[t.createVNode(s,{id:a.idValue,"allow-uuid-search":i.allowUuidSearch,disabled:a.loading,"dom-id":e.schema.model,entity:i.entity,error:a.error,"field-disabled":e.schema.disabled,fields:i.inputFieldsWithoutId,"initial-item-selected":i.initialValueSelected,"label-field":e.schema.labelField||"id",placeholder:a.loading?r.t("fields.auto_suggest.loading"):e.schema.placeholder,"selected-item":a.selectedItem,"selected-item-loading":a.loading,onChange:i.onSelected},null,8,["id","allow-uuid-search","disabled","dom-id","entity","error","field-disabled","fields","initial-item-selected","label-field","placeholder","selected-item","selected-item-loading","onChange"])]),_:1},8,["text"])}const qi=$(Rm,[["render",Dm],["__scopeId","data-v-9ab50e80"]]),On=50,Um={mixins:[Ne],inject:[Ee],emits:["model-updated"],setup(){const{t:e}=be.createI18n("en-us",Ce);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return zi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){return this.$route&&this.$route.params[this.entity]},entity(){return this.schema.entity},scope(){return this.schema.label.toLowerCase()},bypassSearch(){return this.$route&&this.$route.query&&this.$route.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Me.UPDATE_ENTITY:if(!this[Ee]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[Ee].getOne(this.entity,this.model[this.schema.model])).data,e=this.getItem(this.schema.entityDataKey?n[this.schema.entityDataKey]:n),this.idValue=e.id;break;case Me.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Me.SET_REFERRAL_VALUE:this.idValue=this.value}try{e&&(this.initialItems=[{...e,label:this.getSuggestionLabel(e),value:e.id}]),this.items=this.initialItems}catch(o){this.message=`There was an error loading ${this.schema.entity}`,console.error("err!",o)}},methods:{onQueryChange(e){e.trim().length===0&&(this.items=[],this.message="Type something to search"),typeof this.performSearch!="function"&&(this.performSearch=ft(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],o=[],r=this.getInputFields(),a=new Set;Vn(e)&&r.includes("id")?o.push((async()=>{const i=await this.fetchExact(e);n.push({...i,label:this.getSuggestionLabel(i),value:i.id})})()):o.push(...r.filter(i=>i!=="id").map(async i=>{(await this.fetchSuggestions(e,i)).forEach(d=>{a.has(d.id)||(a.add(d.id),n.push({...d,label:this.getSuggestionLabel(d),value:d.id}))})})),await Promise.all(o),this.items=n,this.items.length===0&&(this.message="No results"),this.loading=!1},getItem(e){return e.data?e.data.length>0?e.data[0]:[]:e},async fetchUntilLimit(e){const n=[];let o=null;if(!this[Ee])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<On;){const r=await this[Ee].getAll(this.entity,{size:On,offset:o,...e});if(n.push(...r.data.data),o=r.data.offset,!o)break}return n.slice(0,On)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[Ee]?(await this[Ee].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){var e,n;return((n=(e=this.schema)==null?void 0:e.inputValues)==null?void 0:n.fields)||[]},getSuggestionLabel(e){const n=this.getInputFields();return n.length&&e?n.map(o=>e[o]).filter(Boolean).join(" - "):""},updateModel(e){this.$emit("model-updated",e!=null&&e.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){var o;const n=(o=this.schema)==null?void 0:o.returnKey;return n?e[n]:e.id}}},Lm=["data-testid","data-testlabel"],Pm=["data-testid"],vm={class:"autosuggest__results_message"};function xm(e,n,o,r,a,i){const s=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.disabled?"k-tooltip":"div"),{class:"field-wrap autosuggest","max-width":"300",text:r.t("general.disable_source_scope_change",{scope:i.scope})},{default:t.withCtx(()=>[t.createVNode(s,{id:e.schema.model,ref:"suggestion",modelValue:a.idValue,"onUpdate:modelValue":n[0]||(n[0]=d=>a.idValue=d),clearable:"",disabled:e.schema.disabled,"enable-filtering":"","filter-function":()=>!0,items:a.items,loading:a.loading,placeholder:e.schema.placeholder,width:"100%",onChange:i.onSelected,onQueryChange:i.onQueryChange},{"item-template":t.withCtx(({item:d})=>[t.createElementVNode("span",{class:"first-part","data-testid":d.id&&`${d.id}-0`,"data-testlabel":d.label},t.toDisplayString(i.getSuggestionLabel(d).split(" - ")[0]),9,Lm),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.getSuggestionLabel(d).split(" - ").slice(1),(c,m)=>(t.openBlock(),t.createElementBlock("span",{key:m,class:"field-span","data-testid":d.id&&`${d.id}-${m+1}`||m+1},t.toDisplayString(c),9,Pm))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",vm,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Hi=$(Um,[["render",xm],["__scopeId","data-v-433129a3"]]);function $m(e){const n=t.ref([]),o=t.ref(null),r=g=>nt(g)?it[g]!=null?it[g]:(console.warn(`'${g}' is not a validator function!`),null):g,a=t.computed({get(){var k,O;let g;return z(K(e.schema,"get"))?g=e.schema.get((k=e.model)==null?void 0:k.value):g=K((O=e.model)==null?void 0:O.value,e.schema.model),_(g)},set(g){const k=a;g=M(g),z(g)?g(g,k):d(g,k)}}),i=g=>{var w;c();const k=K(e.formOptions,"validateAsync",!1);let O=[];if(e.schema.readonly!==!0&&e.disabled!==!0){const C=[],N=(w=e.schema)==null?void 0:w.validator;N&&(Array.isArray(N)?fe(N,S=>{C.push(r(S))}):C.push(r(N))),z(e.externalValidator)&&C.push(e.externalValidator),fe(C,S=>{var E,V;if(k)O.push(S(a.value,e.schema,(E=e.model)==null?void 0:E.value));else{const B=S(a.value,e.schema,(V=e.model)==null?void 0:V.value);B&&z(B.then)?B.then(h=>{h&&(n.value=n.value.concat(h));const b=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:b,errors:n.value,field:e.schema})}):B&&(O=O.concat(B))}})}const U=C=>{var S,E;let N=[];if(fe(yi(C),V=>{Array.isArray(V)&&V.length>0?N=N.concat(V):nt(V)&&N.push(V)}),z((S=e.schema)==null?void 0:S.onValidated)&&e.schema.onValidated((E=e.model)==null?void 0:E.value,N,e.schema),!g){const V=N.length===0;e.emitValidated&&e.emitValidated({isValid:V,errors:N,field:e.schema})}return C=N,N};return k?Promise.all(O).then(U):U(O)},s=()=>{z(o.value)?o.value():o.value=ft(i,K(e.schema,"validateDebounceTime",K(e.formOptions,"validateDebounceTime",500)))},d=(g,k)=>{var U,w,C;let O=!1;z(e.schema.set)?(e.schema.set((U=e.model)==null?void 0:U.value,g),O=!0):e.schema.model&&(m(e.schema.model,g),O=!0),O&&(e.emitModelUpdated&&((w=e.model)!=null&&w.value)&&e.emitModelUpdated({value:g,model:e.schema.model}),z(e.schema.onChanged)&&e.schema.onChanged((C=e.model)==null?void 0:C.value,g,k,e.schema),K(e.formOptions,"validateAfterChanged",!1)===!0&&(K(e.schema,"validateDebounceTime",K(e.formOptions,"validateDebounceTime",0))>0?s():i()))},c=()=>{n.value.splice(0)},m=(g,k)=>{var S;let O=g.replace(/\[(\w+)\]/g,".$1");O=O.replace(/^\./,"");let U=((S=e.model)==null?void 0:S.value)||{},w=0;const C=O.split("."),N=C.length;for(;w<N;){const E=C[w];if(w<N-1)U[E]!==void 0||(U[E]={}),U=U[E];else{U[E]=k;return}++w}},y=(g,k=!1)=>{const O=K(e.formOptions,"fieldIdPrefix","");return wn(g,O)+(k?"-"+bi():"")},u=g=>`${y(g)}-label`,p=()=>K(e.schema,"fieldClasses",[]),_=g=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(g):g,M=g=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(g):g;return{value:a,clearValidationErrors:c,getFieldID:y,getLabelId:u,getFieldClasses:p,updateModelValue:d}}function jm(e){const n=[],o=r=>{const a=["cluster-cache","cluster_cache"];for(const i of a)if(r.model.includes(i))return!1;return new RegExp("(?<=-redis-).*").test(r.model)};return e.fields.forEach(r=>{o(r)&&n.push(r)}),{redis:{id:"_redis",fields:n,model:"__redis_partial",redisType:e._supported_redis_partial_type,redisPath:e._redis_partial_path},redisModels:n.map(r=>r.model)}}function Km(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(i=>{const s=i.model.match(o);return s&&!Object.keys(e).includes(s[0])}).map(i=>{const s=i.label.match(r);return{label:s?s[0]:i.label,key:i.model,value:"N/A",type:"text"}})}const ke={useAbstractFields:$m,useRedisPartial:jm,useRedisNonStandardFields:Km},zm={class:"form-field-wrapper"},Yi=$(t.defineComponent({__name:"FieldInput",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),s=t.inject(ge,void 0),{updateModelValue:d,getFieldID:c,clearValidationErrors:m,value:y}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:w=>{a("modelUpdated",w.value,w.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{var C,N;const w=(C=r.schema)==null?void 0:C.inputType.toLowerCase();if(w==="number"&&((N=r.schema)==null?void 0:N.referenceable)===!0)return"text";switch(w){case"string":return"text";case"datetime":return"datetime-local";default:return w||"text"}}),p={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},_=(w,C)=>{var V,B;let N=w;const S=p[u.value]||"",E=ht.parse(w,S);E&&((V=r.schema)!=null&&V.format?N=ht.format(E,(B=r.schema)==null?void 0:B.format):N=E.valueOf()),d(N,C)},M=(w,C)=>{An(w)||(w=NaN),d(w,C)},g=w=>{let C=w;switch(r.schema.inputType){case"number":case"range":Ri(parseFloat(w))&&(C=parseFloat(w));break}y.value=C,d(C,w)},k=w=>{y.value=w,d(w,w)},O=t.ref(null),U=()=>{var w;z(O.value)&&((w=O.value)==null||w.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":O.value=ft((w,C)=>{M(w,C)},parseInt(K(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":O.value=ft((w,C)=>{_(w,C)},parseInt(K(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{u.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):u.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):u.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(w,C)=>{const N=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",zm,[t.createVNode(N,t.mergeProps(w.$attrs,{id:t.unref(c)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:u.value==="color"||u.value==="range"?t.unref(y):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(y),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":u.value==="password",type:u.value,width:e.schema.width,onBlur:U,"onUpdate:modelValue":g}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:k,value:t.unref(y)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-c9bb165e"]]),qm={name:"FieldMetric",components:{AddIcon:ue.AddIcon,TrashIcon:ue.TrashIcon},mixins:[Ne],emits:["remove-item"],data(){return{contentVisible:!1}}},Hm={key:0,class:"content"};function Ym(e,n,o,r,a,i){const s=t.resolveComponent("AddIcon"),d=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["field-dropdown",{active:a.contentVisible}])},[t.createElementVNode("div",{class:"title",onClick:n[0]||(n[0]=m=>a.contentVisible=!a.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(s,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[a.contentVisible?(t.openBlock(),t.createElementBlock("div",Hm,[t.renderSlot(e.$slots,"default"),t.createVNode(c,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=m=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(d)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Gi=$(qm,[["render",Ym]]),Gm={class:"field-object-container"},Wm={key:1},Zm=["id"],Xm={key:0},Jm=["onUpdate:modelValue"],Qm={key:1},eu=["onUpdate:modelValue"],tu={key:2},nu=["onUpdate:modelValue"],ou=["onClick"],Wi=$(Object.assign({mixins:[Ne],emits:["modelUpdated"],expose:["validate","clearValidationErrors","schema"],data(){return{attributes:this.schema?this.schema.attributes:void 0,newKeyType:"string",newKeyName:"",keyTypes:{}}},created(){this.value||(this.value={})},mounted(){if(!this.value)return;const e=Object.keys(this.value),n={};for(let o=0;o<e.length;o++){const r=e[o];n[r]=typeof this.value[r]}this.keyTypes=n},methods:{removeElement(e){const n=this.value;delete n[e],this.value=JSON.parse(JSON.stringify(n));const o=this.keyTypes;delete o[e],this.keyTypes=JSON.parse(JSON.stringify(o))},addKey(){this.value[this.newKeyName]=void 0,this.value={...this.value},this.keyTypes[this.newKeyName]=this.newKeyType,this.keyTypes={...this.keyTypes},this.newKeyName=""},updateModel(e,n){this.$emit("modelUpdated",e,n)}}},{__name:"FieldObject",setup(e){return(n,o)=>{const r=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Gm,[n.schema.schema?(t.openBlock(),t.createBlock(G,{key:0,model:n.value,options:n.formOptions,schema:n.schema.schema,onModelUpdated:n.updateModel},null,8,["model","options","schema","onModelUpdated"])):(t.openBlock(),t.createElementBlock("div",Wm,[t.createElementVNode("table",{id:n.getFieldID(n.schema),class:t.normalizeClass(n.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,(a,i)=>(t.openBlock(),t.createElementBlock("tr",{key:i},[t.createElementVNode("td",null,t.toDisplayString(i),1),n.keyTypes[i]==="string"?(t.openBlock(),t.createElementBlock("td",Xm,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,type:"text"},null,8,Jm),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="boolean"?(t.openBlock(),t.createElementBlock("td",Qm,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,type:"checkbox"},null,8,eu),[[t.vModelCheckbox,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="number"?(t.openBlock(),t.createElementBlock("td",tu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,type:"number"},null,8,nu),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:s=>n.removeElement(i)},null,8,ou)])]))),128))],10,Zm),t.withDirectives(t.createElementVNode("select",{"onUpdate:modelValue":o[0]||(o[0]=a=>n.newKeyType=a)},[...o[3]||(o[3]=[t.createElementVNode("option",{value:"string"}," String ",-1),t.createElementVNode("option",{value:"number"}," Number ",-1),t.createElementVNode("option",{value:"boolean"}," Boolean ",-1)])],512),[[t.vModelSelect,n.newKeyType]]),t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":o[1]||(o[1]=a=>n.newKeyName=a),type:"text"},null,512),[[t.vModelText,n.newKeyName]]),t.createElementVNode("input",{type:"button",value:"Add key",onClick:o[2]||(o[2]=(...a)=>n.addKey&&n.addKey(...a))})]))])),[[r,n.attributes]])}}}),[["__scopeId","data-v-6eddb0ed"]]),iu=["id"],au=["data-testid"],ru={class:"item-wrapper"},lu={class:"index-wrapper"},su={key:0},du={key:1},cu=["onUpdate:modelValue","placeholder","type","onInput"],mu={key:0,class:"hint"},uu={class:"input-item"},fu=["placeholder"],hu={key:0,class:"hint"},Zi=$(Object.assign({mixins:[Ne],inject:{autofillSlot:{from:ge,default:void 0}},emits:["model-updated"],expose:["validate","clearValidationErrors","schema"],data(){return{newKeyName:""}},computed:{subSchema(){return this.schema.schema&&this.schema.schema.fields[0].schema},subFields(){return!this.subSchema&&this.schema.fields},hasObjectKeys(){return this.value&&Object.keys(this.value).length>0},transformedModel(){return this.subSchema&&this.subSchema.fields.length>=1&&this.subSchema.fields[0].type==="array"?new Proxy(this.model[this.schema.model],{get:(e,n)=>({[this.schema.model]:e[n]}),set:(e,n,o)=>e[n]=o[this.schema.model]}):this.model[this.schema.model]},valueInputType(){var e;return["number","integer"].includes((e=this.schema.values)==null?void 0:e.type)?"number":"text"}},mounted(){this.value||(this.value={});let e=[];this.subSchema?e=this.subSchema.fields:this.subFields&&(e=this.schema.fields[0].schema),this.value=this.transformMapModelValuesToObject(this.model,e,this.schema.model)},methods:{removeElement(e){const n=this.value;delete n[e],this.value={...n}},transformMapModelValuesToObject(e,n,o){let r={};try{r=JSON.parse(JSON.stringify(e??{}))[o]??{}}catch{}return Object.keys(e).map(a=>{const i=a.indexOf(o+"-");if(i>-1&&Array.isArray(n))if(n.length>0){const d=a.split("-").filter(m=>n.find(y=>y.model===m)),c=a.split(`-${d}`)[0].split(`${o}-`)[1];d.length?r[c]={...r[c],[d]:e[a]}:r[a.substring(i+`${o}-`.length)]=e[a]}else r[a.substring(`${o}-`.length)]=e[a];else{const d=a.split("-").filter(m=>m===this.schema.model),c=a.split(`-${d}`)[0].split(`${o}-`)[1];c&&(r[c]=e[a])}return a}),r},addKey(){var r;const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=((r=this.schema.values)==null?void 0:r.default)??(this.valueInputType==="number"?0:""),o=this.subSchema?e?[""]:{}:n;this.value[this.newKeyName]=o,this.newKeyName=""},updateModel(e,n){this.$emit("model-updated",this.model[this.schema.model],n)}}},{__name:"FieldObjectAdvanced",setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",{id:n.getFieldID(n.schema),class:t.normalizeClass(["object-advanced-wrapper",n.schema.fieldClasses])},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,(a,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,"data-testid":`field-object-key-${i}`},[t.createElementVNode("div",null,[t.createElementVNode("div",ru,[t.createElementVNode("div",lu,[t.createElementVNode("strong",null,t.toDisplayString(i),1),t.createElementVNode("div",null,[t.createVNode(r,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:s=>n.removeElement(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1},8,["onClick"])])]),o[1]||(o[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),n.subSchema?(t.openBlock(),t.createElementBlock("div",su,[t.createVNode(G,{model:n.transformedModel[i],options:{helpAsHtml:!0},schema:n.subSchema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",du,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":s=>n.value[i]=s,class:"form-control",placeholder:n.schema.fields&&n.schema.fields[0].schema.placeholder,type:n.valueInputType,onInput:s=>n.updateModel(n.value[i],n.model[n.schema.model])},null,40,cu),[[t.vModelDynamic,n.value[i]]]),n.schema.fields&&n.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",mu,t.toDisplayString(n.schema.fields[0].schema.hint),1)):t.createCommentVNode("",!0),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(n.autofillSlot),{schema:n.schema.fields&&n.schema.fields[0].schema||n.schema.values,update:s=>n.value[i]=s,value:n.value[i]},null,8,["schema","update","value"]))])),o[2]||(o[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,au))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:n.hasObjectKeys}])},[t.createElementVNode("div",uu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":o[0]||(o[0]=a=>n.newKeyName=a),class:"form-control","data-testid":"keyname-input",placeholder:n.schema.placeholder,type:"text"},null,8,fu),[[t.vModelText,n.newKeyName]]),t.createVNode(r,{appearance:"tertiary","data-testid":"add-key",disabled:!n.newKeyName,onClick:n.addKey},{default:t.withCtx(()=>[t.createTextVNode(" + Add "+t.toDisplayString(n.schema.buttonLabel||n.schema.label),1)]),_:1},8,["disabled","onClick"])]),n.schema.hintText?(t.openBlock(),t.createElementBlock("p",hu,t.toDisplayString(n.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,iu)}}}),[["__scopeId","data-v-0faeec4d"]]),pu={class:"radio-selection-group"},Xi=$(t.defineComponent({__name:"FieldRadio",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),{updateModelValue:s,value:d,clearValidationErrors:c}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:y=>{a("modelUpdated",y.value,y.model)}});n({clearValidationErrors:c});const m=y=>{let u=y;typeof y=="string"&&(u=y.split(","),r.schema.array||(u=u.toString())),s(u,y)};return(y,u)=>{const p=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",pu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(_,M)=>(t.openBlock(),t.createBlock(p,{id:e.schema.name+"-"+M,key:_.value,modelValue:t.unref(d),"onUpdate:modelValue":u[0]||(u[0]=g=>t.isRef(d)?d.value=g:null),label:_.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":_.value,onChange:m},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),[["__scopeId","data-v-a070103e"]]),Ji=t.defineComponent({__name:"FieldSelect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.computed(()=>r.schema.selectOptions||{}),s=g=>ee(g)?null:g,d=t.toRefs(r),{getFieldID:c,clearValidationErrors:m,value:y}=ke.useAbstractFields({model:d.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,emitModelUpdated:g=>{a("modelUpdated",g.value,g.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{const g=r.schema.values;return p(typeof g=="function"?g.apply(this,[r.model,r.schema]):g)}),p=g=>{const k=[];return g.forEach(O=>{k.push({label:M(O),value:_(O),disabled:typeof O=="object"&&O.disabled||void 0,group:typeof O=="object"&&String(O.group||"").toUpperCase()||void 0})}),k},_=g=>{if(_e(g)){if(i.value&&typeof i.value.value<"u")return g[i.value.value];if(typeof g.id<"u")return String(g.id);throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return g},M=g=>{if(_e(g)){if(i.value&&typeof i.value.name<"u")return g[i.value.name];if(typeof g.name<"u")return String(g.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(g)};return(g,k)=>{const O=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(O,{id:t.unref(c)(e.schema),modelValue:t.unref(y),"onUpdate:modelValue":k[0]||(k[0]=U=>t.isRef(y)?y.value=U:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:u.value,"kpop-attributes":{"data-testid":`${t.unref(c)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:i.value.hideNoneSelectedText?void 0:i.value.noneSelectedText||"Nothing Selected",required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","class","clearable","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),gu={class:"field-string-array"},Qi=$(t.defineComponent({__name:"FieldStringArray",props:{formOptions:{},model:{},schema:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=o,{updateModelValue:a,getFieldID:i,getLabelId:s,clearValidationErrors:d,value:c}=ke.useAbstractFields({model:t.toRef(()=>e.model),schema:e.schema,formOptions:e.formOptions,emitModelUpdated:_=>{r("modelUpdated",_.value,_.model)}});n({clearValidationErrors:d});const m=t.ref("");function y(_){return Array.isArray(_)?_.map(M=>String(M).trim()).filter(Boolean).join(", "):""}function u(_){return _?_.trim().split(",").map(M=>M.trim()).filter(Boolean):[]}function p(_){m.value=_;const M=u(_);a(M,c.value)}return t.watch(c,_=>{const M=_?y(_):"";y(u(m.value))!==M&&(m.value=M)},{immediate:!0}),(_,M)=>{const g=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",gu,[t.createVNode(g,t.mergeProps(_.$attrs,{id:t.unref(i)(e.schema),"aria-labelledby":t.unref(s)(e.schema),class:e.schema.fieldClasses,help:"Use comma to separate values. eg: value1, value2","model-value":m.value,placeholder:e.schema.placeholder||"Comma separated values",type:"text","onUpdate:modelValue":p}),null,16,["id","aria-labelledby","class","model-value","placeholder"])])}}}),[["__scopeId","data-v-cf2eff67"]]),yu={name:"FieldArray",components:{FieldArrayItem:Pi,FieldArrayMultiItem:vi,FieldSelect:Ji,FieldMetric:Gi,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldRadio:Xi,FieldArrayCardContainer:Li,FieldInput:Yi,FieldStringArray:Qi,TrashIcon:ue.TrashIcon},mixins:[Ne],inject:{autofillSlot:{from:ge,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,o){var a,i,s,d,c,m,y;let r;return n&&(r=JSON.parse(JSON.stringify(n)),(a=n.schema)!=null&&a.fields&&((d=(s=(i=r.schema)==null?void 0:i.fields)==null?void 0:s.forEach)==null||d.call(s,(u,p)=>{const _=n.schema.fields[p];_&&Object.keys(_).forEach(M=>{typeof _[M]=="function"&&(u[M]=_[M])})})),(y=(m=(c=r.schema)==null?void 0:c.fields)==null?void 0:m.map)==null||y.call(m,u=>(u.id=`${u.id||u.model}-${o}`,u))),{...r,set(u,p){e[o]=p},get(){return e[o]}}},newElement(){let e=this.value,n;(!e||!e.push)&&(e=[]),this.schema.items&&this.schema.items.default&&(typeof this.schema.items.default=="function"?n=this.schema.items.default():n=this.schema.items.default),e.push(n),this.value=[...e]},removeElement(e){this.value=this.value.filter((n,o)=>o!==e)},getFieldComponent(e){return e.component?e.component:"field-"+e.type},modelUpdated(){this.$emit("refreshModel")},handleInput(e,n){var r,a;let o=e;((a=(r=this.schema)==null?void 0:r.inputAttributes)==null?void 0:a.type)==="number"&&An(parseFloat(e))&&(o=parseFloat(e)),this.value=this.value.map((i,s)=>s===n?o:i)},isStringArrayItems(){var n,o;const e=(n=this.schema)==null?void 0:n.elements;return e?e.type==="array"&&((o=e.elements)==null?void 0:o.type)==="string":!1},generateStringArraySchema(e){var n;return{model:String(e),id:`${this.schema.id||this.schema.model}-${e}`,placeholder:this.schema.placeholder,help:this.schema.help,fieldClasses:(n=this.schema.inputAttributes)==null?void 0:n.class,get:()=>this.value[e]}},handleStringArrayUpdate(e,n){this.value=this.value.map((o,r)=>r===n?e:o),this.$emit("refreshModel")}}},bu=["id"],_u={key:0,class:"string-array-item"},Eu={key:2},Cu=["onUpdate:modelValue","aria-labelledby","type"],Su=["onUpdate:modelValue","aria-labelledby"];function Tu(e,n,o,r,a,i){const s=t.resolveComponent("FieldStringArray"),d=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton"),m=t.resolveComponent("KTextArea"),y=t.resolveComponent("KInput");return e.schema?(t.openBlock(),t.createElementBlock("div",{key:0,id:e.getFieldID(e.schema),class:t.normalizeClass(e.schema.fieldClasses)},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.value,(u,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:t.normalizeClass(e.schema.fieldItemsClasses)},[i.isStringArrayItems()?(t.openBlock(),t.createElementBlock("div",_u,[t.createVNode(s,{"form-options":e.formOptions,model:e.value,schema:i.generateStringArraySchema(p),onModelUpdated:_=>i.handleStringArrayUpdate(_,p)},null,8,["form-options","model","schema","onModelUpdated"]),t.createVNode(c,{appearance:"tertiary",class:"string-array-remove-btn",icon:"",onClick:_=>i.removeElement(p)},{default:t.withCtx(()=>[t.createVNode(d,{decorative:""})]),_:1},8,["onClick"])])):e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:1,index:p,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onRemoveItem:_=>i.removeElement(p)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onModelUpdated:i.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",Eu,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onModelUpdated:i.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:3,"data-testid":`${e.getFieldID(e.schema)}-item-${p}`,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onRemoveItem:_=>i.removeElement(p)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:_=>e.value[p]=_,value:e.value[p]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var _;return[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(m,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[p],"onUpdate:modelValue":M=>e.value[p]=M,"aria-labelledby":e.getLabelId(e.schema),autosize:"","character-limit":e.schema.inputAttributes.max,class:e.schema.fieldClasses,maxlength:e.schema.max,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","onUpdate:modelValue","aria-labelledby","character-limit","class","maxlength","minlength","name","placeholder","readonly","required","rows"])):!e.schema.inputAttributes||!e.schema.inputAttributes.type||e.schema.inputAttributes.type==="text"||e.schema.inputAttributes.type==="number"?(t.openBlock(),t.createBlock(y,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[p],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:M=>{i.handleInput(M,p)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":M=>e.value[p]=M,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{type:((_=e.schema.inputAttributes)==null?void 0:_.type)||"text"}),null,16,Cu)),[[t.vModelDynamic,e.value[p]]])]}),_:2},1064,["data-testid","model","schema","onRemoveItem"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":_=>e.value[p]=_,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Su),[[t.vModelText,e.value[p]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:_=>e.value[p]=_,value:e.value[p]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(c,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`add-${e.getFieldID(e.schema)}`,type:"button",onClick:i.newElement},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel||o.newElementButtonLabel),1)]),_:1},8,["class","data-testid","onClick"])],10,bu)):t.createCommentVNode("",!0)}const ku=$(yu,[["render",Tu],["__scopeId","data-v-64e1f575"]]),wu={class:"form-field-wrapper field-checkbox"},Mu=["innerHTML"],Nu=$(t.defineComponent({__name:"FieldCheckbox",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),{getFieldID:s,value:d,clearValidationErrors:c}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}}),m=t.computed(()=>r.schema.help?xo.sanitize(r.schema.help.replace(/<\/?p>/g,"").trim()):""),y=t.computed(()=>{const u=r.schema.checkboxDescription;return typeof u=="function"?u(r.model)||void 0:u||void 0});return n({clearValidationErrors:c}),(u,p)=>{const _=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",wu,[t.createVNode(_,t.mergeProps(u.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(d),"onUpdate:modelValue":p[0]||(p[0]=M=>t.isRef(d)?d.value=M:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,description:y.value||void 0,disabled:e.disabled||void 0,help:e.hint?e.hint:void 0,label:e.schema.checkboxLabel||void 0,"label-attributes":e.schema.checkboxLabel&&e.schema.help?{tooltipAttributes:{maxWidth:"300"}}:void 0,name:e.schema.inputName,readonly:e.schema.readonly,required:e.schema.required,width:e.schema.width}),t.createSlots({_:2},[e.schema.checkboxLabel&&e.schema.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("span",{innerHTML:m.value},null,8,Mu)]),key:"0"}:void 0]),1040,["id","modelValue","autocomplete","class","description","disabled","help","label","label-attributes","name","readonly","required","width"])])}}}),[["__scopeId","data-v-39c92a17"]]),Au={class:"wrapper"},Iu=["disabled"],Vu=["id","checked","disabled","onChange","name"],Ou=["disabled"],Bu={class:"info"},Fu={class:"dropList"},Ru=["id","checked","disabled","onChange","name"];function Du(e,n,o,r,a,i){const s=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Au,[e.schema.listBox?(t.openBlock(),t.createElementBlock("div",{key:0,class:"listbox form-control",disabled:e.disabled||null},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.items,d=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(d)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(d)||null,disabled:e.disabled||null,onChange:c=>i.onChanged(c,d),name:i.getInputName(d)},null,40,Vu),[[s,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(d)),1)])],2))),256))],8,Iu)):t.createCommentVNode("",!0),e.schema.listBox?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",{key:1,class:"combobox form-control",disabled:e.disabled||null},[t.createElementVNode("div",{class:t.normalizeClass(["mainRow",{expanded:a.comboExpanded}]),onClick:n[0]||(n[0]=(...d)=>i.onExpandCombo&&i.onExpandCombo(...d))},[t.createElementVNode("div",Bu,t.toDisplayString(i.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",Fu,[a.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(i.items,d=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(d)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(d)||null,disabled:e.disabled||null,onChange:c=>i.onChanged(c,d),name:i.getInputName(d)},null,40,Ru),[[s,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(d)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Ou))])),[[s,"wrapper"]])}const Uu=$({mixins:[Ne],data(){return{comboExpanded:!1}},computed:{items(){const e=this.schema.values;return typeof e=="function"?e.apply(this,[this.model,this.schema]):e},selectedCount(){return this.value?this.value.length:0}},methods:{getInputName(e){return this.schema&&this.schema.inputName&&this.schema.inputName.length>0?fi(this.schema.inputName+"_"+this.getItemValue(e)):fi(this.getItemValue(e))},getItemValue(e){if(_e(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.value<"u")return e[this.schema.checklistOptions.value];if(typeof e.value<"u")return e.value;throw new Error("`value` is not defined. If you want to use another key name, add a `value` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},getItemName(e){if(_e(e)){if(typeof this.schema.checklistOptions<"u"&&typeof this.schema.checklistOptions.name<"u")return e[this.schema.checklistOptions.name];if(typeof e.name<"u")return e.name;throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `checklistOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/checklist.html#checklist-field-with-object-values")}else return e},isItemChecked(e){return this.value&&this.value.indexOf(this.getItemValue(e))!==-1},onChanged(e,n){if((ee(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const o=xi(this.value);o.push(this.getItemValue(n)),this.value=o}else{const o=xi(this.value);o.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=o}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},[["render",Du]]),Lu={name:"FieldKeyValuePairs",components:{TrashIcon:ue.TrashIcon},mixins:[Ne],inject:{autofillSlot:{from:ge,default:void 0}},data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){var n,o;this.value||(this.value={});const e=((o=this.model)==null?void 0:o[(n=this.schema)==null?void 0:n.model])??{};Object.keys(e).forEach(r=>{this.pairs.push({key:r,value:e[r]})})},methods:{onInput(e,n,o){this.pairs[n][o]=e.target.value},updateValue(){this.value=this.pairs.reduce((e,{key:n,value:o})=>({...e,...n&&o?{[n]:o}:null}),{})},addPair(){this.pairs.push({key:"",value:""})},removePair(e){this.pairs.splice(e,1)}}},Pu={class:"key-value-pairs-editor"},vu={class:"pair-item-cell"},xu=["data-testid","placeholder","value","onInput"],$u={class:"pair-item-cell"},ju=["data-testid","placeholder","value","onInput"];function Ku(e,n,o,r,a,i){const s=t.resolveComponent("TrashIcon"),d=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",Pu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.pairs,(c,m)=>(t.openBlock(),t.createElementBlock("div",{key:m,class:"pair-item"},[t.createElementVNode("div",vu,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${m}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:c.key,onInput:y=>{i.onInput(y,m,"key")}},null,40,xu),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:y=>i.onInput({target:{value:y}},m,"key"),value:c.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",$u,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${m}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:c.value,onInput:y=>{i.onInput(y,m,"value")}},null,40,ju),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:y=>i.onInput({target:{value:y}},m,"value"),value:c.value},null,8,["schema","update","value"]))]),t.createVNode(d,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${m}`,onClick:()=>{i.removePair(m)}},{default:t.withCtx(()=>[t.createVNode(s)]),_:1},8,["data-testid","onClick"])]))),128)),t.createVNode(d,{appearance:"tertiary",class:t.normalizeClass(e.schema.newElementButtonLabelClasses),"data-testid":`${e.getFieldID(e.schema)}-add-pair`,type:"button",onClick:i.addPair},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.schema.newElementButtonLabel??"+ Add Pair"),1)]),_:1},8,["class","data-testid","onClick"])])}const zu=$(Lu,[["render",Ku],["__scopeId","data-v-be99d00c"]]),qu=$(t.defineComponent({__name:"FieldLabel",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0}},setup(e){const n=e,o=t.toRefs(n),{getFieldID:r,value:a}=ke.useAbstractFields({model:o.model,schema:n.schema,formOptions:n.formOptions});return(i,s)=>{const d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(d,{id:t.unref(r)(e.schema)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)),1)]),_:1},8,["id"])],2)}}}),[["__scopeId","data-v-e3423a11"]]),Hu=t.defineComponent({__name:"FieldMultiselect",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRef(r,"model"),{getLabelId:s,getFieldID:d,clearValidationErrors:c,value:m}=ke.useAbstractFields({model:i,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}});n({clearValidationErrors:c});const y=t.computed(()=>{var u,p;return r.schema.values?r.schema.values:(p=(u=r.schema.elements)==null?void 0:u.one_of)!=null&&p.length?r.schema.elements.one_of.map(_=>({label:String(_),value:String(_)})):[]});return(u,p)=>{const _=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(_,{id:t.unref(d)(e.schema),modelValue:t.unref(m),"onUpdate:modelValue":p[0]||(p[0]=M=>t.isRef(m)?m.value=M:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:y.value,"kpop-attributes":{"data-testid":`${t.unref(d)(e.schema)}-items`},"label-attributes":{info:e.schema.help},name:e.schema.inputName,placeholder:e.schema.placeholder,required:e.schema.required||void 0,width:"100%"},null,8,["id","modelValue","aria-labelledby","class","disabled","items","kpop-attributes","label-attributes","name","placeholder","required"])}}}),Yu={class:"selection-group"},Gu={class:"form-group horizontal-radios"},Wu={class:"radio-group"},Zu=["disabled","value"],Xu={class:"control-help"},Ju={key:0,class:"option-field"},Qu={class:"option-field-container"},ef=$(Object.assign({mixins:[Ne],emits:["model-updated"],expose:["validate","clearValidationErrors","schema"],data(){return{checkedGroup:null,fieldModel:{...this.model},renderedTrack:[],fieldSchema:[],scope:"scope"}},watch:{checkedGroup:{handler(e,n){if(this.renderedTrack[e]=!0,n===null){this.fieldModel={...this.model};return}const o=this.schema.fields[e].fields,r=this.schema.fields[n].fields;r&&r.forEach(a=>this.updateModel("",a.model)),o&&o.forEach(a=>this.updateModel(this.fieldModel[a.model],a.model))}}},async created(){await this.$nextTick(),this.schema.fields.forEach((e,n)=>{this.renderedTrack.push(!1),e.fields&&e.fields.forEach(o=>{var r;this.model[o.model]&&(this.checkedGroup=n,this.fieldSchema.push(o.model),this.scope=(r=o.label)==null?void 0:r.toLowerCase())})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},{__name:"FieldSelectionGroup",setup(e){const{t:n}=be.createI18n("en-us",Ce);return(o,r)=>(t.openBlock(),t.createElementBlock("div",Yu,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.$props.disabled?"k-tooltip":"div"),{"max-width":"300",text:t.unref(n)("general.disable_global_radio",{scope:o.scope})},{default:t.withCtx(()=>[t.createElementVNode("div",Gu,[t.createElementVNode("div",Wu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.schema.fields,(a,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,class:t.normalizeClass(["option-group",{"radio-disabled":o.$props.disabled}])},[t.createElementVNode("label",{class:t.normalizeClass(["k-label",`${a.label}-check`])},[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":r[0]||(r[0]=s=>o.checkedGroup=s),class:"k-input",disabled:o.$props.disabled,type:"radio",value:i},null,8,Zu),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(a.label)+" ",1),t.createElementVNode("div",Xu,t.toDisplayString(a.description),1)],2)],2))),128))])])]),_:1},8,["text"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.schema.fields,(a,i)=>(t.openBlock(),t.createElementBlock("div",{key:i,class:"option-group"},[o.renderedTrack[i]?t.withDirectives((t.openBlock(),t.createElementBlock("div",Ju,[t.createElementVNode("div",Qu,[t.createVNode(G,{model:o.model,options:{helpAsHtml:!0},schema:{fields:a.fields},onModelUpdated:o.updateModel},null,8,["model","schema","onModelUpdated"])])],512)),[[t.vShow,a.fields&&o.checkedGroup===i]]):t.createCommentVNode("",!0)]))),128))]))}}),[["__scopeId","data-v-0b44571b"]]),tf={class:"form-field-wrapper"},nf=t.defineComponent({__name:"FieldSwitch",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,{t:i}=be.createI18n("en-us",Ce),s=p=>p!=null&&r.schema.valueOn?p===r.schema.valueOn:p,d=p=>p!=null&&r.schema.valueOn?p?r.schema.valueOn:r.schema.valueOff:p,c=t.toRefs(r),{getFieldID:m,value:y,clearValidationErrors:u}=ke.useAbstractFields({model:c.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,formatValueToModel:d,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:u}),(p,_)=>{const M=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",tf,[t.createVNode(M,{id:t.unref(m)(e.schema),modelValue:t.unref(y),"onUpdate:modelValue":_[0]||(_[0]=g=>t.isRef(y)?y.value=g:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(y)?e.schema.textOn||t.unref(i)("vfg.labels.on"):e.schema.textOff||t.unref(i)("vfg.labels.off"),"label-attributes":{info:e.schema.help},name:e.schema.inputName,required:e.schema.required||void 0},null,8,["id","modelValue","autocomplete","class","disabled","label","label-attributes","name","required"])])}}}),of={class:"field-textarea"},af={name:"FormGroup",components:Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:um,FieldArray:ku,FieldArrayCardContainer:Li,FieldArrayItem:Pi,FieldArrayMultiItem:vi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldCheckbox:Nu,FieldChecklist:Uu,FieldInput:Yi,FieldKeyValuePairs:zu,FieldLabel:qu,FieldMetric:Gi,FieldMultiselect:Hu,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldRadio:Xi,FieldSelect:Ji,FieldSelectionGroup:ef,FieldStringArray:Qi,FieldSwitch:nf,FieldTextArea:$(t.defineComponent({__name:"FieldTextArea",props:{disabled:{type:Boolean,default:!1},formOptions:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},schema:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default:()=>[]},hint:{type:String,default:""}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=e,a=o,i=t.toRefs(r),s=t.inject(ge,void 0),{updateModelValue:d,getFieldID:c,clearValidationErrors:m,value:y}=ke.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});n({clearValidationErrors:m});const u=p=>{y.value=p,d(p,p)};return(p,_)=>{const M=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",of,[t.createVNode(M,t.mergeProps(p.$attrs,{id:t.unref(c)(e.schema),modelValue:t.unref(y),"onUpdate:modelValue":_[0]||(_[0]=g=>t.isRef(y)?y.value=g:null),autosize:"","character-limit":e.schema.max??!1,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint||void 0,minlength:e.schema.min,name:e.schema.inputName,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,resizable:"",rows:e.schema.rows||3}),null,16,["id","modelValue","character-limit","class","disabled","help","minlength","name","placeholder","readonly","required","rows"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:u,value:t.unref(y)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-609c18d6"]])},Symbol.toStringTag,{value:"Module"})),mixins:[hi],inject:{"vfg-array-item-index":{default:void 0}},props:{vfg:{type:Object,required:!0},model:{type:Object,default:()=>{}},options:{type:Object,default:()=>{}},field:{type:Object,required:!0},errors:{type:Array,default(){return[]}}},emits:["validated","modelUpdated","refreshModel"],data(){return{child:t.ref()}},computed:{schema(){var n;if(!((n=this.field)!=null&&n.schema)||!Array.isArray(this.field.schema.fields))return this.field;const e=this["vfg-array-item-index"];return typeof e!="number"||Number.isNaN(e)?this.field:{...this.field,schema:{...this.field.schema,fields:this.field.schema.fields.map(o=>({...o,...o.id?{id:`${o.id}-${e}`}:void 0}))}}}},methods:{sanitize(e){return xo.sanitize(e)},fieldTypeHasLabel(e){if(ee(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=K(this.options,"fieldIdPrefix","");return wn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldComponent(e){return e.component?e.component:"field-"+e.type},getButtonType(e){return K(e,"type","button")},onFieldValidated(e,n,o){this.$emit("validated",e,n,o)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,o){return e.onclick.call(this,this.model,n,o,this)},fieldHint(e){return z(e.hint)?e.hint.call(this,this.model,e,this):e.hint},fieldErrors(e){return this.errors.filter(n=>n.field.fieldName===e.fieldName).map(n=>n.error)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},validate(e){return this.$refs.child.validate(e)},clearValidationErrors(){if(this.$refs.child)return this.$refs.child.clearValidationErrors()},formattedLabel(e){return e?e.replace(/^[cC]onfig\./,""):""}}},rf=["innerHTML"],lf={class:"icon-wrapper"},sf={key:0,class:"link-wrapper"},df={class:"field-wrap"},cf={key:0,class:"buttons"},mf=["type","onClick","textContent"],uf={key:1,class:"hint"},ff={key:2,class:"errors help-block"};function hf(e,n,o,r,a,i){const s=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["form-group",e.getFieldRowClasses(o.field)])},[i.fieldTypeHasLabel(o.field)?(t.openBlock(),t.createBlock(d,{key:0,"aria-describedby":o.field.help?i.getTooltipId(o.field):void 0,class:t.normalizeClass([o.field.labelClasses,"form-group-label"]),for:i.getFieldID(o.field),info:!o.options.helpAsHtml&&o.field.help?o.field.help:void 0,"tooltip-attributes":o.field.help?{maxWidth:"300",placement:"top",tooltipId:i.getTooltipId(o.field)}:void 0},t.createSlots({default:t.withCtx(()=>[t.createElementVNode("div",lf,[t.createElementVNode("span",null,t.toDisplayString(i.formattedLabel(o.field.label)),1)]),o.field.link?(t.openBlock(),t.createElementBlock("div",sf,[t.createVNode(s,{href:o.field.link},{default:t.withCtx(()=>[...n[0]||(n[0]=[t.createElementVNode("span",{class:"section-header"},"More info",-1)])]),_:1},8,["href"])])):t.createCommentVNode("",!0)]),_:2},[o.options.helpAsHtml&&o.field.help?{name:"tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(o.field.help)},null,8,rf)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",df,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(o.field)),t.mergeProps(e.$attrs,{ref:"child",disabled:e.fieldDisabled(o.field)||null,"form-options":o.options,hint:o.field.hint&&o.field.type==="input"?i.fieldHint(o.field):void 0,model:o.model,schema:i.schema,vfg:o.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated}),null,16,["disabled","form-options","hint","model","schema","vfg","onModelUpdated","onRefreshModel","onValidated"])),i.buttonVisibility(o.field)?(t.openBlock(),t.createElementBlock("div",cf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.field.buttons,(c,m)=>(t.openBlock(),t.createElementBlock("button",{key:m,class:t.normalizeClass(c.classes),type:i.getButtonType(c),onClick:y=>i.buttonClickHandler(c,o.field,y),textContent:t.toDisplayString(c.label)},null,10,mf))),128))])):t.createCommentVNode("",!0)]),o.field.hint&&o.field.type!=="input"?(t.openBlock(),t.createElementBlock("div",uf,t.toDisplayString(i.fieldHint(o.field)),1)):t.createCommentVNode("",!0),i.fieldErrors(o.field).length>0?(t.openBlock(),t.createElementBlock("div",ff,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fieldErrors(o.field),(c,m)=>(t.openBlock(),t.createElementBlock("span",{key:m},t.toDisplayString(c),1))),128))])):t.createCommentVNode("",!0)],2)}const ea=$(af,[["render",hf],["__scopeId","data-v-87df5b50"]]);var Ot=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ot||{});const pf=e=>{var n,o;return e.type===Ot.REDIS_CE?"Host/Port":(n=e.config.sentinel_nodes)!=null&&n.length?"Sentinel":(o=e.config.cluster_nodes)!=null&&o.length?"Cluster":"Host/Port"},gf={[Ot.REDIS_CE]:"open source",[Ot.REDIS_EE]:"enterprise"},ta=e=>gf[e]??"",pt={KONNECT_MANAGED:"konnect-managed",SELF_MANAGED:"self-managed"},yf="managed_cache.v0";function bf(e){const o=(Array.isArray(e.tags)?e.tags:[]).filter(r=>typeof r=="string").map(r=>r.toLowerCase());return o.includes(pt.KONNECT_MANAGED)||o.includes(yf)?pt.KONNECT_MANAGED:pt.SELF_MANAGED}const _f={class:"partial-config-card"},Ef={class:"config-card-row-label"},Cf={class:"label-text"},Sf=["data-testid"],Tf=["data-testid"],kf={key:1},wf=["data-testid"],Mf=["data-testid"],Nf=$(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{type:Object,required:!0},pluginRedisFields:{type:Array,required:!0}},setup(e){const{t:n,formatUnixTimeStamp:o}=be.createI18n("en-us",Ce),r={id:{order:1},name:{order:1},type:{label:n("redis.config_card.common_fields.type_label"),hidden:!0,type:"hidden"},created_at:{label:n("redis.config_card.common_fields.created_at_label"),formatter:o,order:2},updated_at:{label:n("redis.config_card.common_fields.updated_at_label"),formatter:o,order:3}},a=e,i=u=>u!=null,s=(u,p)=>i(p)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:d}=lt.useStringHelpers(),c=t.computed(()=>Object.entries(a.configFields).map(([u,p])=>{var _,M,g,k;return{key:u,label:((_=r[u])==null?void 0:_.label)??d(u),value:(M=r[u])!=null&&M.formatter?r[u].formatter(p):p,type:((g=r[u])==null?void 0:g.type)??s(u,p),order:((k=r[u])==null?void 0:k.order)??100}}).sort((u,p)=>u.order-p.order).filter(u=>u.type!=="hidden")),m=ke.useRedisNonStandardFields(a.configFields,a.pluginRedisFields),y=t.computed(()=>c.value.concat(m));return(u,p)=>{const _=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",_f,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,({key:M,label:g,value:k,type:O})=>(t.openBlock(),t.createElementBlock("div",{key:M,class:"partial-config-card-row"},[t.createElementVNode("div",Ef,[t.createElementVNode("div",Cf,t.toDisplayString(g),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${M}-property-value`},[i(k)?(t.openBlock(),t.createElementBlock("div",kf,[O==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${M}-copy-password`},[t.createVNode(_,{format:"redacted",text:String(k)},null,8,["text"])],8,wf)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${M}-plain-text`},t.toDisplayString(k),9,Mf))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${M}-no-value`}," – ",8,Tf))],8,Sf)]))),128))])}}}),[["__scopeId","data-v-57f78095"]]),Af={class:"redis-config-select","data-testid":"redis-config-select"},If={class:"selected-redis-config"},Vf=["data-testid"],Of={class:"select-item-name","data-testid":"selected-redis-config"},Bf={class:"empty-redis-config","data-testid":"empty-redis-config"},Ff={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Rf="1000",na=$(t.defineComponent({__name:"RedisConfigSelect",props:{defaultRedisConfigItem:{type:String,required:!1,default:""},updateRedisModel:{type:Function,required:!0},pluginRedisFields:{type:Array,required:!0},redisType:{type:String,default:"all"},isCustomPlugin:{type:Boolean,default:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1}},emits:["showNewPartialModal"],setup(e){const{t:n}=be.createI18n("en-us",Ce),o=t.inject(Co),r={konnect:{getOne:"/v2/control-planes/{controlPlaneId}/core-entities/{workspace}/partials/{id}",getAll:"/v2/control-planes/{controlPlaneId}/core-entities/{workspace}/partials"},kongManager:{getOne:"/{workspace}/partials/{id}",getAll:"/{workspace}/partials"}},a=e,i=t.ref(null),{getMessageFromError:s}=lt.useErrors(),d=t.inject(qt),{debouncedQueryChange:c,loading:m,error:y,loadItems:u,results:p}=lt.useDebouncedFilter(d,r[d.app].getAll,Rf,{fetchedItemsKey:"data",searchKeys:["id","name"]}),_=t.computed(()=>y.value?s(y.value):""),M=t.computed(()=>a.isCustomPlugin?n("redis.custom_plugin.tooltip"):n("redis.shared_configuration.tooltip",{type:ta(a.redisType)})),g=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.title"):n("redis.shared_configuration.title")),k=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.selector.placeholder"):n("redis.shared_configuration.selector.placeholder")),O=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.create_new_configuration"):n("redis.shared_configuration.create_new_configuration",{type:ta(a.redisType)})),U=t.computed(()=>_.value||n("redis.shared_configuration.error")),w=V=>{let B=`${d.apiBaseUrl}${r[d.app].getOne}`;return d.app==="konnect"&&(B=B.replace(/{controlPlaneId}/gi,(d==null?void 0:d.controlPlaneId)||"")),B=B.replace(/\/{workspace}/gi,d!=null&&d.workspace?`/${d.workspace}`:"").replace(/{id}/gi,String(V)),B},C=t.computed(()=>{const V=(p.value||[]).map(B=>{const h=B,b=a.isKonnectManagedRedisEnabled?bf(h):void 0,T=b===pt.KONNECT_MANAGED;return{...a.isKonnectManagedRedisEnabled&&b?{source:b}:{},label:B.id,name:B.name,value:B.id,type:B.type,tag:a.isKonnectManagedRedisEnabled&&T?void 0:pf(h)}}).filter(B=>B.type==="redis-ce"||B.type==="redis-ee");return a.redisType!=="all"?V.filter(B=>B.type===a.redisType):V}),N=t.computed(()=>{const V=C.value;if(!a.isKonnectManagedRedisEnabled)return V;const B=V.filter(T=>T.source===pt.KONNECT_MANAGED),h=V.filter(T=>T.source===pt.SELF_MANAGED),b=[];return B.length>0&&b.push({label:n("redis.managed_ui.groups.konnect_managed"),items:B}),h.length>0&&b.push({label:n("redis.managed_ui.groups.self_managed"),items:h}),b}),{axiosInstance:S}=lt.useAxios(d==null?void 0:d.axiosRequestConfig),E=async V=>{if(V){a.updateRedisModel(V);try{const B=await S.get(w(V));if(B.data.config){const h=Object.assign(B.data,B.data.config);delete h.config,i.value=h}}catch(B){console.error(B)}}};return t.watch(()=>o==null?void 0:o.value,async V=>{V&&await u()}),t.onBeforeMount(()=>{u(),a.defaultRedisConfigItem&&E(a.defaultRedisConfigItem)}),(V,B)=>{const h=t.resolveComponent("KLabel"),b=t.resolveComponent("KBadge"),T=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Af,[t.createVNode(h,{info:M.value,"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.value),1)]),_:1},8,["info"]),B[2]||(B[2]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(T,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:N.value,loading:t.unref(m),"model-value":e.defaultRedisConfigItem,placeholder:k.value,onChange:B[1]||(B[1]=F=>E(F==null?void 0:F.value)),onQueryChange:t.unref(c)},{"selected-item-template":t.withCtx(({item:F})=>[t.createElementVNode("div",If,t.toDisplayString(F.name),1)]),"item-template":t.withCtx(({item:F})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${F.name}`},[t.createElementVNode("span",Of,t.toDisplayString(F.name),1),F.tag?(t.openBlock(),t.createBlock(b,{key:0,appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(F.tag),1)]),_:2},1024)):t.createCommentVNode("",!0)],8,Vf)]),empty:t.withCtx(()=>[t.createElementVNode("div",Bf,t.toDisplayString(t.unref(n)("redis.shared_configuration.empty_state")),1)]),"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:B[0]||(B[0]=F=>V.$emit("showNewPartialModal"))},[t.createVNode(t.unref(ue.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref($i)})`},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(O.value),1)])]),_:1},8,["items","loading","model-value","placeholder","onQueryChange"])]),i.value?(t.openBlock(),t.createBlock(Nf,{key:0,"config-fields":i.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),_.value?(t.openBlock(),t.createElementBlock("p",Ff,t.toDisplayString(U.value),1)):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-1a2a3d47"]]),Df={key:0},Uf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Lf={key:0,class:"shared-redis-config"},Pf={key:1,class:"dedicated-redis-config"},vf={class:"dedicated-redis-config-title"},xf={name:"VueFormGenerator",components:{formGroup:ea,formRedis:$(t.defineComponent({__name:"FormRedis",props:{tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}},model:{type:Object,default:()=>{}},options:{type:Object,required:!0},field:{type:Object,required:!0},vfg:{type:Object,required:!0},errors:{type:Array,default(){return[]}},redisPath:{type:String,default:void 0,required:!1},isEditing:{type:Boolean,default:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1}},emits:["modelUpdated","partialToggled","showNewPartialModal","refreshModel","validated"],setup(e,{emit:n}){const o=e,r=n,{t:a}=be.createI18n("en-us",Ce),i=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.title"):a("redis.title")),s=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.description"):a("redis.shared_configuration.description")),d=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.label"):a("redis.shared_configuration.label")),c=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.dedicated_configuration.description"):a("redis.dedicated_configuration.description")),m=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.dedicated_configuration.label"):a("redis.dedicated_configuration.label")),y=t.computed(()=>o.field.pluginType==="custom"),u=t.ref(!o.isEditing),p=t.ref(),_=t.ref({}),M=t.ref(),g=C=>z(C.visible)?C.visible.call(this,o.model,C,this):ee(C.visible)?!0:C.visible,k=async C=>{r("modelUpdated",[{id:C,path:o.redisPath}],"partials"),M.value=[{id:C,path:o.redisPath}],p.value=C},O=(C,N)=>{_.value={..._.value,[N]:C},r("modelUpdated",C,N)},U=()=>{r("refreshModel")},w=(C,N,S)=>{r("validated",C,N,S)};return t.watch(()=>u.value,C=>{C?M.value&&r("partialToggled","redis",{partials:M.value}):r("partialToggled","partials",_.value)}),t.onBeforeMount(()=>{var C,N,S;if(o.model&&(_.value=o.field.fields.reduce((E,V)=>(Object.keys(o.model).includes(V.model)&&(E[V.model]=o.model[V.model]),E),{})),(S=(N=(C=o==null?void 0:o.model)==null?void 0:C.partials)==null?void 0:N[0])!=null&&S.id){const E=o.model.partials[0].id;u.value=!0,p.value=E}}),(C,N)=>{const S=t.resolveComponent("KAlert"),E=t.resolveComponent("KBadge"),V=t.resolveComponent("KRadio"),B=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[y.value?(t.openBlock(),t.createElementBlock("div",Df,[t.createVNode(S,{"data-testid":"custom-plugin-redis-config-note",message:t.unref(a)("redis.custom_plugin.alert")},null,8,["message"]),t.createVNode(na,{"default-redis-config-item":p.value,"is-custom-plugin":"","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"update-redis-model":k,onShowNewPartialModal:N[0]||(N[0]=h=>C.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(B,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:i.value},{default:t.withCtx(()=>[t.createElementVNode("div",Uf,[t.createVNode(V,{modelValue:u.value,"onUpdate:modelValue":N[1]||(N[1]=h=>u.value=h),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:s.value,label:d.value,"selected-value":!0},{default:t.withCtx(()=>[e.isKonnectManagedRedisEnabled?(t.openBlock(),t.createBlock(E,{key:0,appearance:"success"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("redis.managed_ui.shared_configuration.badge")),1)]),_:1})):t.createCommentVNode("",!0)]),_:1},8,["modelValue","description","label"]),t.createVNode(V,{modelValue:u.value,"onUpdate:modelValue":N[2]||(N[2]=h=>u.value=h),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:c.value,label:m.value,"selected-value":!1},null,8,["modelValue","description","label"])]),u.value?(t.openBlock(),t.createElementBlock("div",Lf,[t.createVNode(na,{"default-redis-config-item":p.value,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"redis-type":e.field.redisType,"update-redis-model":k,onShowNewPartialModal:N[3]||(N[3]=h=>C.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",Pf,[t.createElementVNode("div",vf,t.toDisplayString(t.unref(a)("redis.dedicated_configuration.title")),1),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.field.fields,h=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:h.model},[g(h)?(t.openBlock(),t.createBlock(ea,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:h,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:O,onRefreshModel:U,onValidated:w},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),[["__scopeId","data-v-58023d89"]])},mixins:[hi],inject:{autofillSlot:{from:ge,default:void 0}},provide(){var e;return{...!this.autofillSlot&&{[ge]:(e=this.$slots)==null?void 0:e[et]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}},enableRedisPartial:{type:Boolean,default:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1},isEditing:{type:Boolean,default:!1}},emits:["validated","modelUpdated","refreshModel","partialToggled","showNewPartialModal"],data(){return{vfg:this,errors:[],children:t.ref([]),collapseStates:{}}},computed:{fields(){const e=[];return this.schema&&this.schema.fields&&fe(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&fe(this.schema.groups.slice(0),n=>{e.push(n)}),e}},watch:{model:{deep:!0,handler(e,n){n!==e&&e!=null&&this.$nextTick(()=>{this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors()})}}},mounted(){this.$nextTick(()=>{this.model&&(this.options.validateAfterLoad===!0&&this.isNewModel!==!0?this.validate():this.clearValidationErrors())})},methods:{fieldVisible(e){return z(e.visible)?e.visible.call(this,this.model,e,this):ee(e.visible)?!0:e.visible},onFieldValidated(e,n,o){this.errors=this.errors.filter(a=>a.field.fieldName!==o.schema.fieldName),!e&&n&&n.length>0&&fe(n,a=>{this.errors.push({field:o.schema,error:a})});const r=this.errors.length===0;this.$emit("validated",r,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},onPartialToggled(e,n){this.$emit("partialToggled",e,n)},validate(e=null){e===null&&(e=K(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],o=[];fe(this.$refs.children,a=>{z(a.validate)&&(n.push(a.$refs.child),o.push(a.$refs.child.validate(!0)))});const r=a=>{const i=[];fe(a,(d,c)=>{Array.isArray(d)&&d.length>0&&fe(d,m=>{i.push({field:n[c].schema,error:m})})}),this.errors=i;const s=i.length===0;return this.$emit("validated",s,i,this),e?i:s};return e?Promise.all(o).then(r):r(o)},clearValidationErrors(){this.errors.splice(0),fe(this.$refs.children,e=>{e.clearValidationErrors()})}}},$f={key:0,class:"vue-form-generator"},jf={key:0};function Kf(e,n,o,r,a,i){const s=t.resolveComponent("form-redis"),d=t.resolveComponent("form-group"),c=t.resolveComponent("KCollapse");return o.schema!=null?(t.openBlock(),t.createElementBlock("div",$f,[o.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fields,m=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:m.model},[m.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:a.errors,field:m,"is-editing":o.isEditing,"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled,model:o.model,options:o.options,tag:o.tag,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onPartialToggled:i.onPartialToggled,onShowNewPartialModal:y=>e.$emit("showNewPartialModal",m.redisType),onValidated:i.onFieldValidated},null,8,["errors","field","is-editing","is-konnect-managed-redis-enabled","model","options","tag","vfg","onModelUpdated","onPartialToggled","onShowNewPartialModal","onValidated"])):i.fieldVisible(m)?(t.openBlock(),t.createBlock(d,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:m,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.groups,(m,y)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${y}`},[m.collapsible!==void 0&&m.collapsible!==!1?(t.openBlock(),t.createBlock(c,{key:0,class:"root-level-collapse","model-value":!1,title:m.collapsible.title},t.createSlots({default:t.withCtx(()=>{var u,p,_,M;return[(u=m.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(p=m.slots)==null?void 0:p.beforeContent,{key:0}):t.createCommentVNode("",!0),m.fields.length===0&&((_=m.slots)!=null&&_.emptyState)?t.renderSlot(e.$slots,(M=m.slots)==null?void 0:M.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(m))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.fields,g=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:g.model},[i.fieldVisible(g)?(t.openBlock(),t.createBlock(d,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:g,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"])),m.collapsible!==!0&&m.collapsible.nestedCollapsible&&m.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(c,{key:3,class:"nested-collapse","model-value":a.collapseStates[`group-${y}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${y}-nested`]??!0?m.collapsible.nestedCollapsible.triggerLabel.expand:m.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":g=>a.collapseStates[`group-${y}-nested`]=g},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{class:t.normalizeClass(e.getFieldRowClasses(m))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.collapsible.nestedCollapsible.fields,g=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:g.model},[g.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:a.errors,field:g,"is-editing":o.isEditing,"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled,model:o.model,options:o.options,tag:o.tag,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onPartialToggled:i.onPartialToggled,onShowNewPartialModal:k=>e.$emit("showNewPartialModal",g.redisType),onValidated:i.onFieldValidated},null,8,["errors","field","is-editing","is-konnect-managed-redis-enabled","model","options","tag","vfg","onModelUpdated","onPartialToggled","onShowNewPartialModal","onValidated"])):i.fieldVisible(g)?(t.openBlock(),t.createBlock(d,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:g,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))]),_:2},1032,["model-value","trigger-label","onUpdate:modelValue"])):t.createCommentVNode("",!0)]}),_:2},[m.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(m.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(m))},{default:t.withCtx(()=>[m.legend?(t.openBlock(),t.createElementBlock("legend",jf,t.toDisplayString(m.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.fields,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[i.fieldVisible(u)?(t.openBlock(),t.createBlock(d,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:u,model:o.model,options:o.options,vfg:a.vfg,onModelUpdated:i.onModelUpdated,onRefreshModel:i.onRefreshModel,onValidated:i.onFieldValidated},null,8,["errors","field","model","options","vfg","onModelUpdated","onRefreshModel","onValidated"])):t.createCommentVNode("",!0)],64))),128))]),_:2},1032,["class"]))],64))),128))])):t.createCommentVNode("",!0)}const G=$(xf,[["render",Kf]]),Bt="kong-identity",Bn="external",zf="/v1/auth-servers/_computed",qf=new Set(["config-client_id","config-client_secret","config-issuer"]),Hf=[{label:"Kong Identity client",value:"kong-identity",description:"Match principals using the client ID from the token subject (sub) claim."},{label:"Custom claim",value:"custom-identity",description:"Match principals using a custom JWT claim."}],oa=e=>e==null||e===""?!1:Array.isArray(e)?e.length>0:!0,Yf=e=>oa(e["config-principals-principal_claim"])||oa(e["config-principals-principal_by"])?"custom-identity":"kong-identity",Gf=(e,n)=>{if(e["config-principals-enabled"]===!0)return Bt;if(n&&e["config-principals-enabled"]!==!0)return Bn;for(const o of qf){const r=e[o];if(r!=null&&r!=="")return Bn}return Bt},Wf={name:"OIDCPrincipals",components:{VueFormGenerator:G,AddIcon:ue.AddIcon,CloseIcon:ue.CloseIcon,KeyIcon:ue.KeyIcon,WorldIcon:ue.WorldIcon},inject:{formsConfig:{from:qt,default:()=>({})},autofillSlot:{from:ge,default:void 0}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>({})},commonFieldsSchema:{type:Object,required:!0},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,default:!1}},emits:["mode-change"],data(){return{MODE_KONG_IDENTITY:Bt,MODE_EXTERNAL:Bn,lookupMethodItems:Hf,KUI_ICON_SIZE_20:$i,KUI_ICON_SIZE_30:Em,KUI_ICON_SIZE_40:ji,selectedMode:Gf(this.formModel,this.isEditing),selectedLookupMethod:Yf(this.formModel),kongIdentityServers:[],kongIdentityServersLoading:!1,clients:[],clientsLoading:!1,selectedServer:null,restoringServer:!1,leavePromptType:null}},computed:{issuerFieldsSchema(){var n;const e=(((n=this.commonFieldsSchema)==null?void 0:n.fields)??[]).filter(o=>o.model==="config-issuer");return{...this.commonFieldsSchema,fields:e}},externalClientIdField(){var e;return(((e=this.commonFieldsSchema)==null?void 0:e.fields)??[]).find(n=>n.model==="config-client_id")},externalClientSecretField(){var e;return(((e=this.commonFieldsSchema)==null?void 0:e.fields)??[]).find(n=>n.model==="config-client_secret")},kongIdentityServerItems(){return this.kongIdentityServers.map(e=>({label:e.name,value:e.id}))},clientItems(){return this.clients.map(e=>({label:e.name,value:e.client_id||e.id}))},clientIdArray(){const e=this.formModel["config-client_id"];return Array.isArray(e)&&e.length>0?e:[null]},clientSecretArray(){const e=this.formModel["config-client_secret"];return Array.isArray(e)&&e.length>0?e:[null]},isRemoveClientDisabled(){return!this.selectedServer||this.clientIdArray.length<=1}},mounted(){!this.isEditing&&this.selectedMode===Bt&&(this.formModel["config-principals-enabled"]=!0),this.isEditing||this.$nextTick(()=>this.$emit("mode-change",this.selectedMode)),this.fetchKongIdentityServers()},methods:{async fetchKongIdentityServers(){var e,n;try{this.kongIdentityServersLoading=!0;const{axiosInstance:o}=lt.useAxios((e=this.formsConfig)==null?void 0:e.axiosRequestConfig),r=`${this.formsConfig.apiBaseUrl}${zf}`,a=await o.get(r);this.kongIdentityServers=((n=a.data)==null?void 0:n.data)??[];const i=this.formModel["config-issuer"];if(i&&!this.selectedServer){const s=this.kongIdentityServers.find(d=>d.issuer===i)||null;s&&(this.restoringServer=!0,this.selectedServer=s,this.fetchClients(s.id))}}catch{this.kongIdentityServers=[]}finally{this.kongIdentityServersLoading=!1}},async fetchClients(e){var n,o;try{this.clientsLoading=!0;const{axiosInstance:r}=lt.useAxios((n=this.formsConfig)==null?void 0:n.axiosRequestConfig),a=`${this.formsConfig.apiBaseUrl}/v1/auth-servers/${e}/clients`,i=await r.get(a);this.clients=((o=i.data)==null?void 0:o.data)??[]}catch{this.clients=[]}finally{this.clientsLoading=!1}},handleServerChange(e){var n;if(this.restoringServer){this.restoringServer=!1;return}this.selectedServer=this.kongIdentityServers.find(o=>o.id===e)||null,(n=this.selectedServer)!=null&&n.issuer&&this.updateField("config-issuer",this.selectedServer.issuer),this.updateField("config-client_id",[null]),this.updateField("config-client_secret",[null]),this.clients=[],this.clientsLoading=!!e,e&&this.fetchClients(e)},handleClientChange(e,n){const o=Array.isArray(this.formModel["config-client_id"])?[...this.formModel["config-client_id"]]:[];o[e]=n,this.updateField("config-client_id",o)},addClientRow(){const e=[...this.clientIdArray];e.push(null),this.updateField("config-client_id",e);const n=[...this.clientSecretArray];n.push(null),this.updateField("config-client_secret",n)},removeClientRow(e){if(this.clientIdArray.length<=1)return;const n=[...this.clientIdArray];n.splice(e,1),this.updateField("config-client_id",n);const o=[...this.clientSecretArray];o.splice(e,1),this.updateField("config-client_secret",o)},handleClientSecretChange(e,n){const o=Array.isArray(this.formModel["config-client_secret"])?[...this.formModel["config-client_secret"]]:[];o[e]=n,this.updateField("config-client_secret",o)},getClientItemsForRow(e){const n=this.clientIdArray;return this.clientItems.map(o=>({...o,disabled:n.some((r,a)=>a!==e&&r===o.value)}))},getIdentifierClaimInputValue(){const e=this.formModel["config-principals-principal_claim"];return Array.isArray(e)?e.map(n=>n.replace(/\./g,"\\.")).join("."):e||""},handleIdentifierClaimChange(e){const n=typeof e=="string"?e.trim():"";if(!n){this.updateField("config-principals-principal_claim",[]);return}const o=n.split(new RegExp("(?<!\\\\)\\.")).map(r=>r.replace(/\\\./g,".").trim()).filter(Boolean);this.updateField("config-principals-principal_claim",o)},handleMatchConsumerChange(e){this.updateField("config-principals-match_consumer",e),e||this.updateField("config-principals-match_consumer_groups",!1)},handleLookupMethodChange(e){this.selectedLookupMethod=e,e!=="custom-identity"&&(this.formModel["config-principals-principal_by"]=null,this.formModel["config-principals-principal_claim"]=null,this.onModelUpdated())},updateField(e,n){this.formModel[e]=n,this.onModelUpdated()},handleLeaveConfirmed(){var r,a,i,s,d,c,m,y;const e=this.leavePromptType;this.leavePromptType=null;const n=(r=this.formsConfig)==null?void 0:r.geoApiServerUrl,o=n?new URL(n).hostname.split(".")[0]:((s=(i=(a=this.formsConfig)==null?void 0:a.apiBaseUrl)==null?void 0:i.match(/^\/([^/]+)/))==null?void 0:s[1])||"us";if(e==="authServer"){const u=((d=this.formsConfig)==null?void 0:d.createAuthServerUrl)||`${window.location.origin}/${o}/identity/create-auth-server`;document.location.href=u}else if(e==="client"){const u=(c=this.formsConfig)!=null&&c.createClientUrl?this.formsConfig.createClientUrl((m=this.selectedServer)==null?void 0:m.id):`${window.location.origin}/${o}/identity/auth-servers/${(y=this.selectedServer)==null?void 0:y.id}/create-auth-server-client`;document.location.href=u}},handleModeChange(e){e===Bt?(this.formModel["config-client_id"]=null,this.formModel["config-client_secret"]=null,this.formModel["config-issuer"]=null,this.formModel["config-principals-enabled"]=!0,this.formModel["config-principals-directory"]="default",this.formModel["config-principals-error_on_miss"]=!0,this.formModel["config-principals-match_consumer"]=!0,this.formModel["config-principals-match_consumer_groups"]=!0):(this.formModel["config-principals-enabled"]=!1,this.formModel["config-principals-directory"]="default",this.formModel["config-principals-error_on_miss"]=!0,this.formModel["config-principals-match_consumer"]=!0,this.formModel["config-principals-match_consumer_groups"]=!0,this.formModel["config-client_id"]=null,this.formModel["config-client_secret"]=null,this.formModel["config-issuer"]=null,this.selectedServer=null,this.clients=[]),this.onModelUpdated(),this.$emit("mode-change",e)}}},Zf={class:"oidc-principals-section","data-testid":"oidc-principals-section"},Xf={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},Jf={class:"auth-mode-card-content"},Qf={class:"auth-mode-card-content"},eh={class:"principals-client-secret-wrapper"},th=["disabled","onClick"],nh={class:"principals-field-group"},oh={class:"lookup-method-item"},ih={class:"lookup-method-item-label"},ah={class:"lookup-method-item-description"},rh={class:"principals-field-group"},lh={class:"principals-field-group"},sh={class:"principals-field-group"},dh={class:"external-client-field"},ch={class:"external-client-field"},mh=["disabled","onClick"];function uh(e,n,o,r,a,i){var U;const s=t.resolveComponent("KeyIcon"),d=t.resolveComponent("KRadio"),c=t.resolveComponent("WorldIcon"),m=t.resolveComponent("AddIcon"),y=t.resolveComponent("KSelect"),u=t.resolveComponent("KInput"),p=t.resolveComponent("CloseIcon"),_=t.resolveComponent("KLabel"),M=t.resolveComponent("KCheckbox"),g=t.resolveComponent("KCollapse"),k=t.resolveComponent("VueFormGenerator"),O=t.resolveComponent("KPrompt");return t.openBlock(),t.createElementBlock("div",Zf,[n[24]||(n[24]=t.createElementVNode("div",{class:"principals-header"}," Who should manage authentication and credentials? ",-1)),n[25]||(n[25]=t.createElementVNode("div",{class:"principals-description"},[t.createTextVNode(" Use Consumers for Consumer-based authentication. Use Kong Identity for principal-based authentication and advanced integrations. "),t.createElementVNode("a",{href:"https://developer.konghq.com/plugins/openid-connect/",rel:"noopener noreferrer",target:"_blank"},"Learn more.")],-1)),t.createElementVNode("div",Xf,[t.createVNode(d,{modelValue:a.selectedMode,"onUpdate:modelValue":n[0]||(n[0]=w=>a.selectedMode=w),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-kong-identity","selected-value":a.MODE_KONG_IDENTITY,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",Jf,[t.createVNode(s,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[13]||(n[13]=t.createElementVNode("div",{class:"auth-mode-card-label"}," Kong Identity ",-1)),n[14]||(n[14]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Use Kong Identity for principal-based authentication and advanced integrations. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"]),t.createVNode(d,{modelValue:a.selectedMode,"onUpdate:modelValue":n[1]||(n[1]=w=>a.selectedMode=w),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":a.MODE_EXTERNAL,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",Qf,[t.createVNode(c,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[15]||(n[15]=t.createElementVNode("div",{class:"auth-mode-card-label"}," External auth server ",-1)),n[16]||(n[16]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Authenticate against an external OpenID Connect issuer. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"])]),a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(y,{class:"principals-directory-select","data-testid":"principals-directory-select","enable-filtering":"",items:i.kongIdentityServerItems,label:"Authorization Server",loading:a.kongIdentityServersLoading,"model-value":(U=a.selectedServer)==null?void 0:U.id,placeholder:"Select an Authorization Server",required:"","onUpdate:modelValue":i.handleServerChange},{"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-auth-server-action",onClick:n[2]||(n[2]=t.withModifiers(w=>a.leavePromptType="authServer",["stop"]))},[t.createVNode(m,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[17]||(n[17]=t.createElementVNode("div",{class:"create-action-content"},[t.createElementVNode("span",null,"Create authorization server"),t.createElementVNode("div",{class:"create-action-hint"}," You’ll need to return here after creating an authorization server. Your progress won’t be saved. ")],-1))])]),_:1},8,["items","loading","model-value","onUpdate:modelValue"]),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(w,C)=>(t.openBlock(),t.createElementBlock("div",{key:C,class:t.normalizeClass(["client-row",{"client-row-with-label":C===0}])},[t.createVNode(y,{class:"principals-client-select","data-testid":"principals-client-select",disabled:!a.selectedServer,"enable-filtering":"",items:i.getClientItemsForRow(C),label:C===0?"Client":void 0,loading:a.clientsLoading,"model-value":w,placeholder:"Select a client","onUpdate:modelValue":N=>i.handleClientChange(C,N)},{"dropdown-footer-text":t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-client-action",onClick:n[3]||(n[3]=t.withModifiers(N=>a.leavePromptType="client",["stop"]))},[t.createVNode(m,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[18]||(n[18]=t.createElementVNode("div",{class:"create-action-content"},[t.createElementVNode("span",null,"Create client"),t.createElementVNode("div",{class:"create-action-hint"}," You'll need to return here after creating a client. Your progress won't be saved. ")],-1))])]),_:1},8,["disabled","items","label","loading","model-value","onUpdate:modelValue"]),t.createElementVNode("div",eh,[t.createVNode(u,{class:"principals-client-secret","data-testid":"principals-client-secret",disabled:!a.selectedServer,label:C===0?"Client secret":void 0,"model-value":i.clientSecretArray[C],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":N=>i.handleClientSecretChange(C,N)},null,8,["disabled","label","model-value","onUpdate:modelValue"]),i.autofillSlot?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:N=>i.handleClientSecretChange(C,N),value:i.clientSecretArray[C]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":"Remove client",class:"remove-client-btn","data-testid":"remove-client-action",disabled:i.isRemoveClientDisabled,type:"button",onClick:N=>i.removeClientRow(C)},[t.createVNode(p,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,th)],2))),128)),t.createElementVNode("div",{class:t.normalizeClass(["add-client-inline",{"add-client-inline-disabled":!a.selectedServer}]),"data-testid":"add-client-action",onClick:n[4]||(n[4]=w=>a.selectedServer?i.addClientRow():null)}," + Add client ",2),t.createVNode(g,{class:"principals-advanced-settings","data-testid":"principals-advanced-settings","trigger-label":"Show additional settings"},{default:t.withCtx(()=>[t.createElementVNode("div",nh,[t.createVNode(y,{class:"principals-lookup-method-select","data-testid":"principals-lookup-method",items:a.lookupMethodItems,label:"Principal lookup method","model-value":a.selectedLookupMethod,placeholder:"Select a lookup method","onUpdate:modelValue":i.handleLookupMethodChange},{"item-template":t.withCtx(({item:w})=>[t.createElementVNode("div",oh,[t.createElementVNode("div",ih,t.toDisplayString(w.label),1),t.createElementVNode("div",ah,t.toDisplayString(w.description),1)])]),_:1},8,["items","model-value","onUpdate:modelValue"]),a.selectedLookupMethod==="custom-identity"?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.createVNode(u,{"data-testid":"principals-custom-identity-name",help:"Enter the custom identity name used to look up the principal. Kong matches the value from the token claim to a principal with the same custom identity name and value.",label:"Custom Identity name","model-value":o.formModel["config-principals-principal_by"],placeholder:"e.g., Customer_ID","onUpdate:modelValue":n[5]||(n[5]=w=>i.updateField("config-principals-principal_by",w))},null,8,["model-value"]),t.createVNode(u,{"data-testid":"principals-identifier-claim",help:"Enter the token claim used to identify the principal. Use dot notation for nested claims (for example, workload.id). Escape periods in claim names with \\ (for example, workload\\.id).",label:"Identifier claim","model-value":i.getIdentifierClaimInputValue(),placeholder:"e.g., user.employee_id","onUpdate:modelValue":n[6]||(n[6]=w=>i.handleIdentifierClaimChange(w))},null,8,["model-value"])],64)):t.createCommentVNode("",!0)]),t.createElementVNode("div",rh,[t.createVNode(_,null,{default:t.withCtx(()=>[...n[19]||(n[19]=[t.createTextVNode("If principal lookup fails",-1)])]),_:1}),t.createVNode(d,{"data-testid":"principals-error-on-miss-true",description:"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.",label:"Reject the request","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!0,onChange:n[7]||(n[7]=w=>i.updateField("config-principals-error_on_miss",!0))},null,8,["model-value"]),t.createVNode(d,{"data-testid":"principals-error-on-miss-false",description:"Allow the request to continue without resolving a principal.",label:"Continue without a principal","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!1,onChange:n[8]||(n[8]=w=>i.updateField("config-principals-error_on_miss",!1))},null,8,["model-value"])]),t.createElementVNode("div",lh,[t.createVNode(M,{"data-testid":"principals-match-consumer","model-value":o.formModel["config-principals-match_consumer"],"onUpdate:modelValue":n[9]||(n[9]=w=>i.handleMatchConsumerChange(w))},{description:t.withCtx(()=>[...n[20]||(n[20]=[t.createTextVNode(" Use the consumer linked to the authenticated principal so existing consumer-based plugins and policies continue to work. ",-1),t.createElementVNode("a",{href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer.",-1)])]),default:t.withCtx(()=>[n[21]||(n[21]=t.createTextVNode(" Use linked consumers ",-1))]),_:1},8,["model-value"])]),t.createElementVNode("div",sh,[t.createVNode(M,{"data-testid":"principals-match-consumer-groups",disabled:!o.formModel["config-principals-match_consumer"],"model-value":o.formModel["config-principals-match_consumer_groups"],"onUpdate:modelValue":n[10]||(n[10]=w=>i.updateField("config-principals-match_consumer_groups",w))},{description:t.withCtx(()=>[...n[22]||(n[22]=[t.createTextVNode(" Use consumer groups linked to the authenticated principal so existing consumer group policies and plugins continue to work. Consumer groups can be linked through principal metadata. ",-1),t.createElementVNode("a",{href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer group.",-1)])]),default:t.withCtx(()=>[n[23]||(n[23]=t.createTextVNode(" Use linked consumer groups ",-1))]),_:1},8,["disabled","model-value"])])]),_:1})],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(w,C)=>{var N,S;return t.openBlock(),t.createElementBlock("div",{key:C,class:t.normalizeClass(["client-row",{"client-row-with-label":C===0}])},[t.createElementVNode("div",dh,[t.createVNode(u,{class:"external-client-input","data-testid":"external-client-id",label:C===0?"Client id":void 0,"label-attributes":{info:(N=i.externalClientIdField)==null?void 0:N.help},"model-value":i.clientIdArray[C],placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":E=>i.handleClientChange(C,E)},null,8,["label","label-attributes","model-value","onUpdate:modelValue"]),i.autofillSlot?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{key:0,schema:{model:"config-client_id",referenceable:!0},update:E=>i.handleClientChange(C,E),value:i.clientIdArray[C]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",ch,[t.createVNode(u,{class:"external-client-input","data-testid":"external-client-secret",label:C===0?"Client secret":void 0,"label-attributes":{info:(S=i.externalClientSecretField)==null?void 0:S.help},"model-value":i.clientSecretArray[C],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":E=>i.handleClientSecretChange(C,E)},null,8,["label","label-attributes","model-value","onUpdate:modelValue"]),i.autofillSlot?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{key:0,schema:{model:"config-client_secret",referenceable:!0},update:E=>i.handleClientSecretChange(C,E),value:i.clientSecretArray[C]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("button",{"aria-label":"Remove client",class:"remove-client-btn","data-testid":"remove-external-client-action",disabled:i.clientIdArray.length<=1,type:"button",onClick:E=>i.removeClientRow(C)},[t.createVNode(p,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,mh)],2)}),128)),t.createElementVNode("div",{class:"add-client-inline","data-testid":"add-external-client-action",onClick:n[11]||(n[11]=w=>i.addClientRow())}," + Add client "),t.createVNode(k,{model:o.formModel,options:o.formOptions,schema:i.issuerFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])],64)),t.createVNode(O,{"action-button-text":"Leave page",message:"Your unsaved changes will be lost if you continue.",title:"Leave this page?",visible:!!a.leavePromptType,onCancel:n[12]||(n[12]=w=>a.leavePromptType=null),onProceed:i.handleLeaveConfirmed},null,8,["visible","onProceed"])])}const fh=$(Wf,[["render",uh],["__scopeId","data-v-bf1b5213"]]),Ft={openIdConnectDocs:"https://developer.konghq.com/plugins/openid-connect/",openIdConnectJWKDocs:"https://developer.konghq.com/plugins/openid-connect/reference/#schema--config-client-jwk",openIdConnectClusterNodesDocs:"https://developer.konghq.com/plugins/openid-connect/reference/#schema--config-redis-cluster-nodes",openIdConfigurationDocs:"https://developer.konghq.com/plugins/openid-connect/reference/",openIdAuthorizationDocs:"https://developer.konghq.com/plugins/openid-connect/#authorization"},ia=new Set(["config-client_id","config-client_secret","config-issuer"]),aa=new Set(["config-principals-enabled","config-principals-directory","config-principals-principal_by","config-principals-principal_claim","config-principals-match_consumer","config-principals-match_consumer_groups","config-principals-error_on_miss"]),ra=new Set(["config-scopes_claim","config-scopes_required","config-audience_claim","config-audience_required","config-roles_claim","config-roles_required","config-groups_claim","config-groups_required","config-authenticated_groups_claim"]),Fn=["bearer","client_credentials","introspection","userinfo"],hh={name:"OIDCForm",components:{VueFormGenerator:G,OIDCPrincipals:fh},provide(){var e;return{[ge]:(e=this.$slots)==null?void 0:e[et]}},inject:{formsConfig:{from:qt,default:()=>({})}},props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},onPartialToggled:{type:Function,required:!0},isEditing:{type:Boolean,required:!0},enableRedisPartial:{type:Boolean,required:!1},isKonnectManagedRedisEnabled:{type:Boolean,default:!1},identityPrincipalsUiEnabled:{type:Boolean,default:!1},showNewPartialModal:{type:Function,default:()=>{}}},data(){return{init:!1,authMethods:[],sessionManagement:!1,principalsMode:null,globalFields:null,commonFieldsSchema:null,authFieldsSchema:null,openIdConnectLink:Ft.openIdConnectDocs,openIdConnectJWKLink:Ft.openIdConnectJWKDocs,openIdConnectClusterNodesLink:Ft.openIdConnectClusterNodesDocs,openIdConfigurationDocs:Ft.openIdConfigurationDocs,openIdAuthorizationDocs:Ft.openIdAuthorizationDocs,advancedFieldsSchema:{fields:[]},advancedFields:null,tabs:[{hash:"#common",title:"Common"},{hash:"#authorization",title:"Authorization"},{hash:"#advanced",title:"Advanced"}]}},computed:{displayForm(){return this.formModel.id&&this.isEditing||!this.isEditing},hasPrincipalsFields(){var e;return this.identityPrincipalsUiEnabled&&((e=this.formSchema.fields)==null?void 0:e.some(n=>aa.has(n.model)))},isKonnect(){var e;return((e=this.formsConfig)==null?void 0:e.app)==="konnect"},useNewAuthMethodsField(){return this.isKonnect},authMethodItems(){return((this.principalsMode!==null?this.principalsMode==="kong-identity":this.formModel["config-principals-enabled"]===!0)?this.authMethods.filter(o=>Fn.includes(o.value)):this.authMethods).map(o=>({label:o.label,value:o.value}))},selectedAuthMethods(){return this.authMethods.filter(e=>e.prop).map(e=>e.value)}},watch:{formModel:{handler:function(){this.oidcSetup()}}},mounted(){this.oidcSetup()},methods:{oidcSetup(){var e;if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(i=>!i.model.startsWith("config")&&i.model!=="tags")};const n=this.formSchema.fields.reduce((i,s)=>(i[s.model]=s,i),{});this.commonFieldsSchema={fields:Array.from(ia).reduce((i,s)=>(n[s]&&i.push(n[s]),i),[])},this.authFieldsSchema={fields:Array.from(ra).reduce((i,s)=>(n[s]&&i.push(n[s]),i),[])};const{redis:o,redisModels:r}=ke.useRedisPartial(this.formSchema);this.advancedFieldsSchema={fields:this.formSchema.fields.filter(i=>i.model.startsWith("config")&&i.model!=="config-auth_methods"&&!ia.has(i.model)&&!ra.has(i.model)&&!aa.has(i.model)&&(!this.enableRedisPartial||!r.includes(i.model))||i.model==="tags").reduce((i,s)=>{var d,c,m,y,u,p;switch(s.model){case"config-client_jwk":{if(Array.isArray((c=(d=s.items)==null?void 0:d.schema)==null?void 0:c.fields))for(const _ of s.items.schema.fields)_.label=_.model;i.push({...s,link:this.openIdConnectJWKLink,newElementButtonLabel:"+ Add Client JWK",...Array.isArray((y=(m=s.items)==null?void 0:m.schema)==null?void 0:y.fields)&&s.items.schema.fields.map(_=>({..._,label:_.model}))});break}case"config-token_exchange-subject_token_issuers":{if(Array.isArray((p=(u=s.items)==null?void 0:u.schema)==null?void 0:p.fields)){const _=s.items.schema.fields,M=_.find(k=>k.model==="verify_signature"),g=_.find(k=>k.model==="jwks_uri");if(M&&(M.checkboxLabel=M.label,M.label=void 0,M.checkboxDescription=k=>k.verify_signature===!0?"JSON Web Keys are automatically fetched from the issuer's well-known endpoint. Enter a JWKS URI below to override this.":void 0),g&&(g.visible=k=>k.verify_signature===!0),M&&g){const k=_.indexOf(M),O=_.indexOf(g);O!==k+1&&(_.splice(O,1),_.splice(k+1,0,g))}}i.push(s);break}case"config-session_redis_cluster_nodes":{i.push({...s,link:this.openIdConnectClusterNodesLink,newElementButtonLabel:"+ Add Cluster Node"});break}default:i.push(s)}return i},[])},this.enableRedisPartial&&this.advancedFieldsSchema.fields.unshift(o),this.sessionManagement=this.formModel["config-auth_methods"].includes("session"),this.authMethods=[{label:"Authorization code flow",value:"authorization_code",hint:"authorization code flow",prop:this.formModel["config-auth_methods"].includes("authorization_code")},{label:"Bearer access token",value:"bearer",hint:"JWT access token verification",prop:this.formModel["config-auth_methods"].includes("bearer")},{label:"Client credentials grant",value:"client_credentials",hint:"OAuth client credentials grant",prop:this.formModel["config-auth_methods"].includes("client_credentials")},{label:"Passwords grant",value:"password",hint:"OAuth legacy password grant",prop:this.formModel["config-auth_methods"].includes("password")},{label:"Introspection",value:"introspection",hint:"OAuth introspection",prop:this.formModel["config-auth_methods"].includes("introspection")},{label:"UserInfo",value:"userinfo",hint:"OpenID Connect user info endpoint authentication",prop:this.formModel["config-auth_methods"].includes("userinfo")},{label:"Kong OAuth",value:"kong_oauth2",hint:"Kong OAuth plugin issued tokens verification",prop:this.formModel["config-auth_methods"].includes("kong_oauth2")},{label:"Refresh token",value:"refresh_token",hint:"OAuth refresh token grant",prop:this.formModel["config-auth_methods"].includes("refresh_token")}];for(const i of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const s of i.fields){const d=(e=n[s.model])==null?void 0:e.help;s.help===void 0&&typeof d=="string"&&(s.help=d)}const a=this.formModel["config-consumer_claim"];if(a!=null&&a!==""&&(!this.formModel["config-consumer_claims"]||this.formModel["config-consumer_claims"].length===0)){const i=Array.isArray(a)?a:[a];this.formModel["config-consumer_claims"]=[i],this.onModelUpdated()}}},getAuthMethodsValue(e,n){const o=[];for(let r=0;r<this.authMethods.length;r++)this.authMethods[r].prop&&this.authMethods[r].value!==e&&o.push(this.authMethods[r].value);return this.sessionManagement&&e&&o.push("session"),n&&(e?o.push(e):o.push("session")),o},handleUpdate(e,n){this.formModel["config-auth_methods"]=this.getAuthMethodsValue(n,e),this.onModelUpdated()},handleAuthMethodsSelect(e){for(const o of this.authMethods)o.prop=e.includes(o.value);const n=[...e];this.sessionManagement&&n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()},handleSessionChange(e){this.sessionManagement=e;const n=this.authMethods.filter(o=>o.prop).map(o=>o.value);e&&n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()},handlePrincipalsModeChange(e){if(this.principalsMode=e,e==="kong-identity"){this.isEditing||(this.sessionManagement=!0);for(const o of this.authMethods)o.prop=Fn.includes(o.value);const n=[...Fn];this.sessionManagement&&n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()}else{this.sessionManagement=!0;for(const o of this.authMethods)o.prop=!0;const n=this.authMethods.map(o=>o.value);n.push("session"),this.formModel["config-auth_methods"]=n,this.onModelUpdated()}}}},ph={class:"general-settings"},gh={class:"link-wrapper"},yh={class:"session-management-section"},bh={class:"session-radio-group"},_h={class:"auth-method-container"},Eh={class:"general-settings"},Ch={class:"link-wrapper"},Sh={class:"general-settings"},Th={class:"link-wrapper"};function kh(e,n,o,r,a,i){const s=t.resolveComponent("VueFormGenerator"),d=t.resolveComponent("KExternalLink"),c=t.resolveComponent("OIDCPrincipals"),m=t.resolveComponent("KLabel"),y=t.resolveComponent("KMultiselect"),u=t.resolveComponent("KRadio"),p=t.resolveComponent("KCheckbox"),_=t.resolveComponent("KInputSwitch"),M=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[o.formModel.id&&o.isEditing||!o.isEditing?(t.openBlock(),t.createBlock(s,{key:0,class:"global-fields",model:o.formModel,options:o.formOptions,schema:a.globalFields,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(M,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",ph,[t.createElementVNode("div",gh,[t.createVNode(d,{href:a.openIdConfigurationDocs},{default:t.withCtx(()=>[...n[6]||(n[6]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])]),_:1},8,["href"])]),n[11]||(n[11]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the OpenID Connect plugin. Set these parameters before adding authorization, authentication, or other advanced configuration details. ",-1)),i.isKonnect&&i.hasPrincipalsFields?(t.openBlock(),t.createBlock(c,{key:0,"common-fields-schema":a.commonFieldsSchema,"form-model":o.formModel,"form-options":o.formOptions,"form-schema":o.formSchema,"is-editing":o.isEditing,"on-model-updated":o.onModelUpdated,onModeChange:i.handlePrincipalsModeChange},null,8,["common-fields-schema","form-model","form-options","form-schema","is-editing","on-model-updated","onModeChange"])):i.displayForm?(t.openBlock(),t.createBlock(s,{key:1,model:o.formModel,options:o.formOptions,schema:a.commonFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),i.useNewAuthMethodsField?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createVNode(m,null,{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createTextVNode("Authentication methods",-1)])]),_:1}),(t.openBlock(),t.createBlock(y,{key:a.principalsMode,class:"auth-methods-multiselect","data-testid":"auth-methods-multiselect",items:i.authMethodItems,"model-value":i.selectedAuthMethods,placeholder:"Select authentication methods","onUpdate:modelValue":i.handleAuthMethodsSelect},null,8,["items","model-value","onUpdate:modelValue"])),n[9]||(n[9]=t.createElementVNode("p",{class:"auth-methods-hint"}," Configure which OAuth and OpenID Connect features are supported. ",-1)),t.createElementVNode("div",yh,[t.createVNode(m,null,{default:t.withCtx(()=>[...n[8]||(n[8]=[t.createTextVNode("Session management",-1)])]),_:1}),t.createElementVNode("div",bh,[t.createVNode(u,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[0]||(n[0]=g=>a.sessionManagement=g),"data-testid":"session-radio-use",description:"Issue a session cookie after successful authentication. Subsequent requests use the session instead of re-authenticating with the identity provider.",label:"Use sessions","selected-value":!0,onChange:n[1]||(n[1]=g=>i.handleSessionChange(!0))},null,8,["modelValue"]),t.createVNode(u,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[2]||(n[2]=g=>a.sessionManagement=g),"data-testid":"session-radio-no-use",description:"Authenticate each request using the configured authentication flow.",label:"Do not use sessions","selected-value":!1,onChange:n[3]||(n[3]=g=>i.handleSessionChange(!1))},null,8,["modelValue"])])])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[t.createVNode(m,null,{default:t.withCtx(()=>[...n[10]||(n[10]=[t.createTextVNode("Auth methods",-1)])]),_:1}),t.createElementVNode("div",_h,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,g=>(t.openBlock(),t.createElementBlock("div",{key:g.value,class:"auth-method"},[t.createVNode(p,{modelValue:g.prop,"onUpdate:modelValue":k=>g.prop=k,"data-testid":`auth-method-checkbox-${g.value}`,onChange:k=>i.handleUpdate(k,g.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(g.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","onChange"])]))),128))]),t.createVNode(_,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[4]||(n[4]=g=>a.sessionManagement=g),"data-testid":"session-management-switch",label:"Enable Session Management",onChange:i.handleUpdate},null,8,["modelValue","onChange"])],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Eh,[t.createElementVNode("div",Ch,[t.createVNode(d,{href:a.openIdAuthorizationDocs},{default:t.withCtx(()=>[...n[12]||(n[12]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])]),_:1},8,["href"])]),n[13]||(n[13]=t.createElementVNode("div",{class:"description"}," Parameters for setting up claims-based authorization. ",-1)),i.displayForm?(t.openBlock(),t.createBlock(s,{key:0,model:o.formModel,options:o.formOptions,schema:a.authFieldsSchema,onModelUpdated:o.onModelUpdated},{"autofill-provider":t.withCtx(g=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(g)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",Sh,[t.createElementVNode("div",Th,[t.createVNode(d,{href:a.openIdConnectLink},{default:t.withCtx(()=>[...n[14]||(n[14]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])]),_:1},8,["href"])]),n[15]||(n[15]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the OpenID Connect plugin. ",-1)),i.displayForm?(t.openBlock(),t.createBlock(s,{key:0,"enable-redis-partial":o.enableRedisPartial,"is-editing":o.isEditing,"is-konnect-managed-redis-enabled":o.isKonnectManagedRedisEnabled,model:o.formModel,options:o.formOptions,schema:a.advancedFieldsSchema,onModelUpdated:o.onModelUpdated,onPartialToggled:o.onPartialToggled,onShowNewPartialModal:n[5]||(n[5]=()=>o.showNewPartialModal(o.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","is-konnect-managed-redis-enabled","model","options","schema","onModelUpdated","onPartialToggled"])):t.createCommentVNode("",!0)])]),_:3},8,["tabs"])])}const wh=$(hh,[["render",kh],["__scopeId","data-v-122a0bb5"]]),Mh=$(t.defineComponent({__name:"PostFunction",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var s;t.provide(ge,(s=t.useSlots())==null?void 0:s[et]);const{t:n,te:o}=be.createI18n("en-us",Ce),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(c=>{const m=`post-function.${c.model}`;return c.hint=o(`${m}.hint`)&&n(`${m}.hint`)||c.hint,c.help=o(`${m}.help`)&&n(`${m}.help`)||c.help,c.newElementButtonLabel=o(`${m}.newElementButtonLabel`)&&n(`${m}.newElementButtonLabel`)||c.newElementButtonLabel,c.model!=="tags"&&(c.valueType==="array"||c.type==="array")&&(c.type="array",c.valueArrayType="array",c.itemContainerComponent="FieldArrayItem",c.fieldClasses="post-function-array-item-container",c.fieldItemsClasses="post-function-array-item",c.inputAttributes={...c.inputAttributes,type:"textarea"}),c}),d});return(d,c)=>a.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:i.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-f54f37ae"]]),Nh=$(t.defineComponent({__name:"ExitTransformer",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var s;t.provide(ge,(s=t.useSlots())==null?void 0:s[et]);const{t:n,te:o}=be.createI18n("en-us",Ce),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(c=>{const m=`exit-transformer.${c.model}`;return c.hint=o(`${m}.hint`)&&n(`${m}.hint`)||c.hint,c.help=o(`${m}.help`)&&n(`${m}.help`)||c.help,c.newElementButtonLabel=o(`${m}.newElementButtonLabel`)&&n(`${m}.newElementButtonLabel`)||c.newElementButtonLabel,c.model!=="tags"&&(c.valueType==="array"||c.type==="array")&&(c.type="array",c.valueArrayType="array",c.itemContainerComponent="FieldArrayItem",c.fieldClasses="exit-transformer-array-item-container",c.fieldItemsClasses="exit-transformer-array-item",c.inputAttributes={...c.inputAttributes,type:"textarea"}),c}),d});return(d,c)=>a.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:i.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)}}),[["__scopeId","data-v-0d5c541f"]]),Ah={fields:[{inputType:"text",label:"Config.Account Email",model:"config-account_email",required:!0,type:"input"},{inputType:"text",label:"Config.Account Key.Key Id",model:"config-account_key-key_id",required:!0,type:"input"},{type:"input",inputType:"text",valueType:"string",label:"Config.Account Key.Key Set",model:"config-account_key-key_set",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",label:"Config.Allow Any Domain",model:"config-allow_any_domain",order:0,disabled:!1}]},Ih={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"checkbox",default:!1,valueType:"boolean",model:"config-tos_accepted",label:"Config.Tos Accepted",order:0,disabled:!1}]},Vh={fields:[{type:"input",default:"",inputType:"text",valueType:"string",model:"config-api_uri",label:"Config.Api Uri",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_hmac_key",label:"Config.Eab Hmac Key",order:0,disabled:!1},{type:"input",inputType:"text",valueType:"string",model:"config-eab_kid",label:"Config.Eab Kid",order:0,disabled:!1}]},Oh={class:"general-settings"},Bh={class:"sub-form"},Fh={class:"general-settings"},Rh={class:"sub-form"},Dh={class:"general-settings"},Uh=$(t.defineComponent({__name:"ACMEForm",props:{formModel:{type:Object,required:!0},formSchema:{type:Object,required:!0},formOptions:{type:Object,default:()=>{}},onModelUpdated:{type:Function,required:!0},isEditing:{type:Boolean,required:!0}},setup(e){var N;t.provide(ge,(N=t.useSlots())==null?void 0:N[et]);const n=e,o=t.ref("zeroSsl"),r=t.ref("shm"),a=t.computed(()=>{var E;const S={};if((E=n.formSchema)!=null&&E.fields)for(const V of n.formSchema.fields)S[V.model]=V;return S}),i=t.computed(()=>{var E;const S=Le(Ah);for(const V of S.fields){const B=(E=a.value[V.model])==null?void 0:E.help;V.help===void 0&&typeof B=="string"&&(V.help=B)}return S}),s=t.computed(()=>{var E;const S=Le(Ih);for(const V of S.fields){const B=(E=a.value[V.model])==null?void 0:E.help;V.help===void 0&&typeof B=="string"&&(V.help=B)}return S}),d=t.computed(()=>{var E;const S=Le(Vh);for(const V of S.fields){const B=(E=a.value[V.model])==null?void 0:E.help;V.help===void 0&&typeof B=="string"&&(V.help=B)}return S}),c=t.computed(()=>({fields:n.formSchema.fields.filter(S=>!S.model.startsWith("config")&&S.model!=="tags")})),m=t.computed(()=>({fields:i.value.fields.filter(E=>!s.value.fields.some(V=>V.model===E.model)&&!d.value.fields.some(V=>V.model===E.model))})),y=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage")&&!E.model.startsWith("config-storage_config-consul")&&!E.model.startsWith("config-storage_config-redis")&&!E.model.startsWith("config-storage_config-shm")&&!E.model.startsWith("config-storage_config-vault"))})),u=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-consul"))})),p=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-redis"))})),_=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-shm"))})),M=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-vault"))})),g=t.computed(()=>({fields:n.formSchema.fields.filter(S=>S.model.startsWith("config")&&!m.value.fields.filter(E=>E.model===S.model).length&&!y.value.fields.filter(E=>E.model===S.model).length||S.model==="tags")})),k=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),O=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],U=[{label:"Lets Encrypt",value:"letsEncrypt"},{label:"Zero SSL",value:"zeroSsl",selected:!0},{label:"Other",value:"other"}];t.onMounted(()=>{o.value==="zeroSsl"&&(n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90")});const w=S=>{o.value=S.value,(S.value==="zeroSsl"||S.value==="other")&&(S.value==="zeroSsl"?n.formModel["config-api_uri"]="https://acme.zerossl.com/v2/DV90":n.formModel["config-api_uri"]="https://acme.example.com/",n.formModel["config-tos_accepted"]=!1),S.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},C=(S,E)=>{E==="config-storage"&&(r.value=S),n.onModelUpdated()};return(S,E)=>{const V=t.resolveComponent("KSelect"),B=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(G,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:c.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(B,{tabs:O},{general:t.withCtx(()=>[t.createElementVNode("div",Oh,[E[0]||(E[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),E[1]||(E[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),k.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),E[2]||(E[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(V,{class:"issuer-select",items:U,label:"Issuer",onChange:w}),t.createElementVNode("div",Bh,[o.value==="letsEncrypt"?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="zeroSsl"||o.value==="other"?(t.openBlock(),t.createBlock(G,{key:1,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",Fh,[E[3]||(E[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),E[4]||(E[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),k.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:C},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",Rh,[r.value==="consul"?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="redis"?(t.openBlock(),t.createBlock(G,{key:1,model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="shm"?(t.openBlock(),t.createBlock(G,{key:2,model:e.formModel,options:e.formOptions,schema:_.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(G,{key:3,model:e.formModel,options:e.formOptions,schema:M.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",Dh,[E[5]||(E[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),E[6]||(E[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),k.value?(t.openBlock(),t.createBlock(G,{key:0,model:e.formModel,options:e.formOptions,schema:g.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),[["__scopeId","data-v-07cecf5b"]]),Lh={class:"rla-form-basic-fields"},Ph={class:"rla-form-request-limits-subtitle"},vh={class:"rla-form-request-limits-content"},xh={class:"rla-form-window-type"},$h=["innerHTML"],jh={class:"rla-form-window-type-radios"},Kh={class:"rla-form-request-limits-items"},zh={class:"rla-form-request-limits-row"},qh=["id"],Hh={class:"rla-form-request-limits-actions"},Yh={key:0,class:"rla-form-request-limits-examples"},Gh={class:"rla-form-request-limits-examples-badges"},Wh=["innerHTML"],Zh={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Xh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:Uh,ExitTransformer:Nh,OIDCForm:wh,PostFunction:Mh,RLAForm:$(t.defineComponent({__name:"RLAForm",props:{formSchema:{},formModel:{},formOptions:{},onModelUpdated:{type:Function},onPartialToggled:{type:Function},showNewPartialModal:{type:Function},isEditing:{type:Boolean},enableRedisPartial:{type:Boolean},isKonnectManagedRedisEnabled:{type:Boolean}},setup(e){var B;t.provide(ge,(B=t.useSlots())==null?void 0:B[et]);const n={fixed:[{label:"500 requests every hour",description:"A fixed limit of 500 requests per hour resetting sharply on the hour, ensuring no user can exceed this limit.",config:{limit:500,window_size:3600}},{label:"200 requests every 30 minutes",description:"Users are allowed 200 requests per 30 minutes, resetting exactly on the 30 minute mark with no carryover of unused limits.",config:{limit:200,window_size:1800}},{label:"500 requests every day",description:"A strict limit of 5000 requests per day resetting promptly at midnight, preventing any burst traffic or inconsistent user experiences.",config:{limit:500,window_size:86400}}],sliding:[{label:"100 requests every hour",description:"Maximum of 100 requests every rolling hour, continuously adjusting the count over the course of the hour. No hard limit or known reset.",config:{limit:100,window_size:3600}},{label:"300 requests every 30 minutes",description:"Each user can make up to 300 requests in any rolling 30 minute period, with older requests dropping off as new requests are made.",config:{limit:300,window_size:1800}},{label:"500 requests every hour",description:`Each user is allowed 500 requests per hour.
4
4
  If the limit is exceeded and the user receives a 429 error, each additional request within the sliding window (hour)
5
5
  will extend the wait time by about 12 minutes, continuously adjusting as new requests are made.`,config:{limit:500,window_size:3600}}]},o=new Set(["selectionGroup","enabled",...["identifier","limit","window_size","error_code","error_message"].map(h=>`config-${h}`)]),r=h=>h===void 0?!1:o.has(h),{t:a}=be.createI18n("en-us",Ce),i=e,s=t.computed(()=>{var T,F,j;const h=(F=(T=i.formSchema)==null?void 0:T.fields)==null?void 0:F.find(ne=>ne.type==="selectionGroup"&&ne.model==="selectionGroup");return{fields:[(j=i.formSchema)==null?void 0:j.fields.find(ne=>ne.model==="enabled"),h].filter(Boolean)}}),d=t.computed(()=>{var ne,Ae;const h=((Ae=(ne=i.formSchema)==null?void 0:ne.fields)==null?void 0:Ae.filter(oe=>!r(oe.model)))??[],b=[],T=[],F=[];let j=!1;for(const oe of h){const Ye=oe.model;if(Ye!==void 0){if(Ye.startsWith("config-redis-")){(oe.model==="config-redis-cluster_addresses"||oe.model==="config-redis-sentinel_addresses")&&(oe.inputAttributes.help=a("rla.redis.address_example")),T.push(oe);continue}j?F.push(oe):b.push(oe),oe.model==="config-strategy"&&(j=!0)}}return{endsWithStrategy:{fields:b},redis:i.enableRedisPartial?{fields:[{fields:T,id:"_redis",model:"__redis_partial",redisType:i.formSchema._supported_redis_partial_type}]}:{fields:T},afterStrategy:{fields:F}}}),c=t.computed(()=>{const h=i.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(n,h)?n[h]:[]}),m=t.computed(()=>{var h,b;return(b=(h=i.formSchema)==null?void 0:h.fields)==null?void 0:b.find(T=>T.model==="config-identifier")}),y=t.computed(()=>{var h,b,T;return(((T=(b=(h=i.formSchema)==null?void 0:h.fields)==null?void 0:b.find(F=>F.model==="config-identifier"))==null?void 0:T.values)??[]).map(F=>({label:a(`rla.identifiers.options.${F}`),value:F}))}),u=t.ref(),p=t.ref(!0),_=t.computed(()=>{var h,b,T;return i.formModel["config-window_type"]??((T=(b=(h=i.formSchema)==null?void 0:h.fields)==null?void 0:b.find(F=>F.model==="config-window_type"))==null?void 0:T.default)}),M=t.computed(()=>{var b,T,F,j,ne,Ae;const h=(F=(T=(b=i.formSchema)==null?void 0:b.fields)==null?void 0:T.find(oe=>oe.model==="config-window_type"))==null?void 0:F.default;return(((Ae=(ne=(j=i.formSchema)==null?void 0:j.fields)==null?void 0:ne.find(oe=>oe.model==="config-window_type"))==null?void 0:Ae.values)??[]).sort((oe,Ye)=>oe===h?-1:Ye===h?1:0)}),g=t.computed(()=>{var b;const h=(b=i.formModel["config-limit"])==null?void 0:b.map((T,F)=>{var j,ne;return{limit:T,windowSize:(ne=(j=i.formModel)==null?void 0:j["config-window_size"])==null?void 0:ne[F]}});return!Array.isArray(h)||h.length===0?[{limit:void 0,windowSize:void 0}]:h}),k=t.computed(()=>{var h,b,T,F;return((h=i.formModel)==null?void 0:h["config-identifier"])??((F=(T=(b=i.formSchema)==null?void 0:b.fields)==null?void 0:T.find(j=>j.model==="config-identifier"))==null?void 0:F.default)}),O=t.computed(()=>{var h,b,T,F;return((h=i.formModel)==null?void 0:h["config-error_code"])??((F=(T=(b=i.formSchema)==null?void 0:b.fields)==null?void 0:T.find(j=>j.model==="config-error_code"))==null?void 0:F.default)}),U=t.computed(()=>{var h,b,T,F;return((h=i.formModel)==null?void 0:h["config-error_message"])??((F=(T=(b=i.formSchema)==null?void 0:b.fields)==null?void 0:T.find(j=>j.model==="config-error_message"))==null?void 0:F.default)}),w=(h,b)=>{if(b===u.value){i.onModelUpdated([],"config-limit"),i.onModelUpdated([],"config-window_size"),t.nextTick(()=>{u.value=void 0});return}i.onModelUpdated([h.config.limit],"config-limit"),i.onModelUpdated([h.config.window_size],"config-window_size"),t.nextTick(()=>{u.value=b})},C=h=>{u.value!==void 0&&(u.value=void 0),h!==null&&i.onModelUpdated(h.toString(),"config-window_type")},N=(h,b)=>{var F;u.value!==void 0&&(u.value=void 0);const T=Le(((F=i.formModel)==null?void 0:F["config-limit"])??[]);T[h]=b,i.onModelUpdated(T,"config-limit")},S=(h,b)=>{var F;u.value!==void 0&&(u.value=void 0);const T=Le(((F=i.formModel)==null?void 0:F["config-window_size"])??[]);T[h]=b,i.onModelUpdated(T,"config-window_size")},E=h=>{var F,j;u.value!==void 0&&(u.value=void 0);const b=Le(((F=i.formModel)==null?void 0:F["config-limit"])??[]),T=Le(((j=i.formModel)==null?void 0:j["config-window_size"])??[]);b.length===0&&b.push(void 0),T.length===0&&T.push(void 0),b.splice(h+1,0,void 0),T.splice(h+1,0,void 0),i.onModelUpdated(b,"config-limit"),i.onModelUpdated(T,"config-window_size")},V=h=>{var b,T;if(g.value.length>1){u.value!==void 0&&(u.value=void 0);const F=Le(((b=i.formModel)==null?void 0:b["config-limit"])??[]),j=Le(((T=i.formModel)==null?void 0:T["config-window_size"])??[]);F.length===0&&F.push(void 0),j.length===0&&j.push(void 0),F.splice(h,1),j.splice(h,1),i.onModelUpdated(F,"config-limit"),i.onModelUpdated(j,"config-window_size")}};return t.watch(()=>i.formModel["config-strategy"],h=>{h!=="redis"&&i.formModel.partials&&i.onModelUpdated(void 0,"partials")}),(h,b)=>{const T=t.resolveComponent("KLabel"),F=t.resolveComponent("KRadio"),j=t.resolveComponent("KInput"),ne=t.resolveComponent("KButton"),Ae=t.resolveComponent("KBadge"),oe=t.resolveComponent("KTooltip"),Ye=t.resolveComponent("KCard"),Rn=t.resolveComponent("KSelect"),Dn=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Lh,[t.createVNode(G,{model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:b[0]||(b[0]=(D,W)=>e.onModelUpdated(D,W))},null,8,["model","options","schema"]),t.createVNode(Ye,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(T,{class:"rla-form-request-limits-title",for:"rla-form-request-limits-legend",required:""},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.title")),1)]),_:1}),t.createElementVNode("div",Ph,t.toDisplayString(t.unref(a)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",vh,[t.createElementVNode("div",xh,[t.createVNode(T,{class:"rla-form-window-type-label","tooltip-attributes":{maxWidth:"300",placement:"top"}},{tooltip:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:t.unref(a)("rla.window_type.help")},null,8,$h)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",jh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(M.value,D=>(t.openBlock(),t.createBlock(F,{key:`window-type-${D}`,"model-value":_.value,name:D,"selected-value":D,"onUpdate:modelValue":C},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)(`rla.window_type.options.${D}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",Kh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(g.value,(D,W)=>(t.openBlock(),t.createElementBlock("div",{key:W.toString()},[t.createVNode(T,{for:`rla-form-request-limits-item-${W}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.label_index",{index:W+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",zh,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${W}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(j,{"model-value":D.limit&&D.limit.toString(),placeholder:t.unref(a)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":Rt=>N(W,Number.parseInt(Rt))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.interval_determiner")),1),t.createVNode(j,{"model-value":D.windowSize&&D.windowSize.toString(),placeholder:t.unref(a)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":Rt=>S(W,Number.parseInt(Rt))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.seconds")),1)],8,qh),t.createElementVNode("div",Hh,[t.createVNode(ne,{appearance:"tertiary",disabled:g.value.length<=1,onClick:()=>V(W)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(ne,{appearance:"tertiary",onClick:()=>E(W)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),c.value.length>0?(t.openBlock(),t.createElementBlock("div",Yh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.start_with_a_use_case")),1),t.createElementVNode("div",Gh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,(D,W)=>(t.openBlock(),t.createBlock(oe,{key:`use-case-${W}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(D.description),1),b[10]||(b[10]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.label"))+": "+t.toDisplayString(D.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.time_interval"))+": "+t.toDisplayString(D.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(Ae,{appearance:u.value===`${_.value}-${W}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>w(D,`${_.value}-${W}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(D.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(Rn,{modelValue:k.value,"onUpdate:modelValue":b[1]||(b[1]=D=>k.value=D),class:"rla-form-identifiers",items:y.value,label:t.unref(a)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:b[2]||(b[2]=D=>i.onModelUpdated(D.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:m.value&&m.value.help},null,8,Wh)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(T,{for:"rla-form-error-legend",info:t.unref(a)("rla.error_message.help"),required:"","tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.error_message.label")),1)]),_:1},8,["info"]),t.createElementVNode("legend",Zh,[t.createVNode(j,{class:"input-error-code","model-value":O.value&&O.value.toString(),placeholder:t.unref(a)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":b[3]||(b[3]=D=>e.onModelUpdated(Number.parseInt(D),"config-error_code"))},null,8,["model-value","placeholder"]),b[11]||(b[11]=t.createElementVNode("div",null,":",-1)),t.createVNode(j,{"model-value":U.value,placeholder:t.unref(a)("rla.error_message.message_placeholder"),"onUpdate:modelValue":b[4]||(b[4]=D=>e.onModelUpdated(D,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(Dn,{modelValue:p.value,"onUpdate:modelValue":b[9]||(b[9]=D=>p.value=D),"data-testid":"view-advanced","trigger-label":t.unref(a)("rla.view_advanced")},{default:t.withCtx(()=>[t.createVNode(G,{model:e.formModel,options:e.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:b[5]||(b[5]=(D,W)=>e.onModelUpdated(D,W))},null,8,["model","options","schema"]),e.formModel["config-strategy"]==="redis"?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.enableRedisPartial?"div":"KCard"),{key:0,class:"rla-form-redis-card",title:t.unref(a)("rla.redis.title")},{default:t.withCtx(()=>[t.createVNode(G,{"enable-redis-partial":e.enableRedisPartial,"is-editing":e.isEditing,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,model:e.formModel,options:e.formOptions,schema:d.value.redis,onModelUpdated:b[6]||(b[6]=(D,W)=>e.onModelUpdated(D,W)),onPartialToggled:e.onPartialToggled,onShowNewPartialModal:b[7]||(b[7]=()=>e.showNewPartialModal(e.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","is-konnect-managed-redis-enabled","model","options","schema","onPartialToggled"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(G,{class:t.normalizeClass({"rla-last-vfg":e.formModel["config-strategy"]!=="redis"}),model:e.formModel,options:e.formOptions,schema:d.value.afterStrategy,onModelUpdated:b[8]||(b[8]=(D,W)=>e.onModelUpdated(D,W))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),[["__scopeId","data-v-c304263d"]])},Symbol.toStringTag,{value:"Module"})),Jh=["array","metric","advanced","selectionGroup","object-advanced"],Qh=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e];P.AUTOFILL_SLOT=ge,P.AUTOFILL_SLOT_NAME=et,P.EMPTY_VALUE_PLACEHOLDER=So,P.FIELD_STATES=Me,P.FORMS_API_KEY=Ee,P.FORMS_CONFIG=qt,P.FieldScopedEntitySelect=Ki,P.PartialType=Ot,P.REDIS_PARTIAL_FETCHER_KEY=Co,P.REDIS_PARTIAL_INFO=xl,P.VueFormGenerator=G,P.abstractField=dm,P.composables=ke,P.customFields=Jh,P.getSharedFormName=Qh,P.sharedForms=Xh,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"})});