@kong-ui-public/forms 4.31.3 → 4.31.4-pr.3550.a052fea5e.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 eo(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 to=typeof global=="object"&&global&&global.Object===Object&&global,La=typeof self=="object"&&self&&self.Object===Object&&self,Se=to||La||Function("return this")(),xe=Se.Symbol,no=Object.prototype,Pa=no.hasOwnProperty,xa=no.toString,Ct=xe?xe.toStringTag:void 0;function va(e){var n=Pa.call(e,Ct),o=e[Ct];try{e[Ct]=void 0;var r=!0}catch{}var a=xa.call(e);return r&&(n?e[Ct]=o:delete e[Ct]),a}var Ka=Object.prototype,ja=Ka.toString;function $a(e){return ja.call(e)}var za="[object Null]",qa="[object Undefined]",oo=xe?xe.toStringTag:void 0;function ve(e){return e==null?e===void 0?qa:za:oo&&oo in Object(e)?va(e):$a(e)}function Ke(e){return e!=null&&typeof e=="object"}var Ha="[object Arguments]";function io(e){return Ke(e)&&ve(e)==Ha}var ao=Object.prototype,Ga=ao.hasOwnProperty,Ya=ao.propertyIsEnumerable,Wa=io(function(){return arguments}())?io:function(e){return Ke(e)&&Ga.call(e,"callee")&&!Ya.call(e,"callee")},je=Array.isArray;function Za(){return!1}var ro=typeof P=="object"&&P&&!P.nodeType&&P,lo=ro&&typeof module=="object"&&module&&!module.nodeType&&module,Xa=lo&&lo.exports===ro,so=Xa?Se.Buffer:void 0,Ja=so?so.isBuffer:void 0,co=Ja||Za,Qa=9007199254740991,er=/^(?:0|[1-9]\d*)$/;function mo(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 uo(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]",pr="[object WeakMap]",hr="[object ArrayBuffer]",gr="[object DataView]",yr="[object Float32Array]",br="[object Float64Array]",_r="[object Int8Array]",Er="[object Int16Array]",Cr="[object Int32Array]",Sr="[object Uint8Array]",kr="[object Uint8ClampedArray]",Tr="[object Uint16Array]",wr="[object Uint32Array]",G={};G[yr]=G[br]=G[_r]=G[Er]=G[Cr]=G[Sr]=G[kr]=G[Tr]=G[wr]=!0,G[nr]=G[or]=G[hr]=G[ir]=G[gr]=G[ar]=G[rr]=G[lr]=G[sr]=G[dr]=G[cr]=G[mr]=G[ur]=G[fr]=G[pr]=!1;function Mr(e){return Ke(e)&&uo(e.length)&&!!G[ve(e)]}function ln(e){return function(n){return e(n)}}var fo=typeof P=="object"&&P&&!P.nodeType&&P,St=fo&&typeof module=="object"&&module&&!module.nodeType&&module,Nr=St&&St.exports===fo,sn=Nr&&to.process,st=function(){try{var e=St&&St.require&&St.require("util").types;return e||sn&&sn.binding&&sn.binding("util")}catch{}}(),po=st&&st.isTypedArray,Ar=po?ln(po):Mr,Ir=Object.prototype,Vr=Ir.hasOwnProperty;function ho(e,n){var o=je(e),r=!o&&Wa(e),a=!o&&!r&&co(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")||mo(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 go(e,n){return function(o){return e(n(o))}}var Br=go(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]",xr="[object Proxy]";function q(e){if(!_e(e))return!1;var n=ve(e);return n==Lr||n==Pr||n==Ur||n==xr}function xt(e){return e!=null&&uo(e.length)&&!q(e)}function vt(e){return xt(e)?ho(e):Dr(e)}function vr(e,n){return e&&Da(e,n,vt)}function Kr(e,n){return function(o,r){if(o==null)return o;if(!xt(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=Kr(vr);function cn(e){return e}function $r(e){return typeof e=="function"?e:cn}function fe(e,n){var o=je(e)?eo:jr;return o(e,$r(n))}var zr="[object Symbol]";function Kt(e){return typeof e=="symbol"||Ke(e)&&ve(e)==zr}var qr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Hr=/^\w*$/;function Gr(e,n){if(je(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Kt(e)?!0:Hr.test(e)||!qr.test(e)||n!=null&&e in Object(n)}var mn=Se["__core-js_shared__"],yo=function(){var e=/[^.]+$/.exec(mn&&mn.keys&&mn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Yr(e){return!!yo&&yo 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)||Yr(e))return!1;var n=q(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 kt=Je(Object,"create");function rl(){this.__data__=kt?kt(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(kt){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 pl(e){var n=this.__data__;return kt?n[e]!==void 0:fl.call(n,e)}var hl="__lodash_hash_undefined__";function gl(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=kt&&n===void 0?hl: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=pl,Qe.prototype.set=gl;function yl(){this.__data__=[],this.size=0}function jt(e,n){return e===n||e!==e&&n!==n}function $t(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=$t(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=$t(n,e);return o<0?void 0:n[o][1]}function Sl(e){return $t(this.__data__,e)>-1}function kl(e,n){var o=this.__data__,r=$t(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=kl;var Tt=Je(Se,"Map");function Tl(){this.size=0,this.__data__={hash:new Qe,map:new(Tt||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=Tl,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 bo=xe?xe.prototype:void 0,_o=bo?bo.toString:void 0;function Eo(e){if(typeof e=="string")return e;if(je(e))return Ul(e,Eo)+"";if(Kt(e))return _o?_o.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Co(e){return e==null?"":Eo(e)}function Ll(e,n){return je(e)?e:Gr(e,n)?[e]:Dl(Co(e))}function Pl(e){if(typeof e=="string"||Kt(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function xl(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 z(e,n,o){var r=e==null?void 0:xl(e,n);return r===void 0?o:r}function te(e){return e==null}const Ee="kong-ui-forms-api",qt="kong-ui-forms-config",So="redis-partial-list-fetcher-key",vl="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"},ko="—";/*! @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 Kl(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(b){m=!0,a=b}finally{try{if(!c&&o.return!=null&&(s=o.return(),Object(s)!==s))return}finally{if(m)throw a}}return d}}function $l(){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 Kl(e)||jl(e,n)||ql(e,n)||$l()}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 wo=Object.entries,Mo=Object.setPrototypeOf,Hl=Object.isFrozen,Gl=Object.getPrototypeOf,Yl=Object.getOwnPropertyDescriptor;let se=Object.freeze,de=Object.seal,dt=Object.create,No=typeof Reflect<"u"&&Reflect,fn=No.apply,pn=No.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)}),pn||(pn=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),Ao=ie(Array.prototype.pop),ct=ie(Array.prototype.push),Zl=ie(Array.prototype.splice),$e=Array.isArray,Mt=ie(String.prototype.toLowerCase),hn=ie(String.prototype.toString),Io=ie(String.prototype.match),Nt=ie(String.prototype.replace),Vo=ie(String.prototype.indexOf),Xl=ie(String.prototype.trim),Jl=ie(Number.prototype.toString),Ql=ie(Boolean.prototype.toString),Oo=typeof BigInt>"u"?null:ie(BigInt.prototype.toString),Bo=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 pn(e,o)}}function v(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Mt;if(Mo&&Mo(e,null),!$e(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 pe(e){const n=dt(null);for(const r of wo(e)){var o=zl(r,2);const a=o[0],i=o[1];re(e,a)&&($e(i)?n[a]=ts(i):i&&typeof i=="object"&&i.constructor===Object?n[a]=pe(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 Oo?Oo(e):"0";case"symbol":return Bo?Bo(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=Yl(e,n);if(r){if(r.get)return ie(r.get);if(typeof r.value=="function")return ie(r.value)}e=Gl(e)}function o(){return null}return o}function os(e){try{return ce(e,""),!0}catch{return!1}}const Fo=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"]),Ro=se(["#text"]),Do=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"]),Uo=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]+$/),Lo=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),ps=de(/^[a-z][.\w]*(-[.\w]+)+$/i),Po=de(/<[/\w!]/g),hs=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}},xo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ze=function(n,o,r,a){return re(n,o)&&$e(n[o])?v(a.base?pe(a.base):{},n[o],a.transform):r};function vo(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:bs();const n=A=>vo(A);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 b=e.DOMParser,u=e.trustedTypes,h=d.prototype,C=Ve(h,"cloneNode"),S=Ve(h,"remove"),y=Ve(h,"nextSibling"),N=Ve(h,"childNodes"),V=Ve(h,"parentNode"),U=Ve(h,"shadowRoot"),F=Ve(h,"attributes"),w=s&&s.prototype?Ve(s.prototype,"nodeType"):null,T=s&&s.prototype?Ve(s.prototype,"nodeName"):null;if(typeof i=="function"){const A=o.createElement("template");A.content&&A.content.ownerDocument&&(o=A.content.ownerDocument)}let g,E="",I,O=!1,p=0;const _=function(){if(p>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.')},k=function(l){_(),p++;try{return g.createHTML(l)}finally{p--}},B=function(l){_(),p++;try{return g.createScriptURL(l)}finally{p--}},x=function(){return O||(I=_s(u,a),O=!0),I},$=o,Ae=$.implementation,oe=$.createNodeIterator,Ge=$.createDocumentFragment,Dn=$.getElementsByTagName,Un=r.importNode;let D=xo();n.isSupported=typeof wo=="function"&&typeof V=="function"&&Ae&&Ae.createHTMLDocument!==void 0;const Z=rs,Rt=ls,Ch=ss,Sh=ds,kh=cs,Th=ms,la=us,wh=ps;let sa=Lo,X=null;const da=v({},[...Fo,...gn,...yn,...bn,...Ro]);let J=null;const ca=v({},[...Do,..._n,...Uo,...Ht]);let Q=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 Ye=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,Ln=!0,fa=!1,pa=!0,We=!1,Ut=!0,at=!1,Pn=!1,xn=null,vn=null,Kn=!1,gt=!1,Qt=!1,en=!1,ha=!0,ga=!1;const ya="user-content-";let jn=!0,$n=!1,yt={},Be=null;const zn=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 qn=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,Hn=!1,Gn=null;const Mh=v({},[tn,nn,Fe],hn),Ca=se(["mi","mo","mn","ms","mtext"]);let Yn=v({},Ca);const Sa=se(["annotation-xml"]);let Wn=v({},Sa);const Nh=v({},["title","style","font","a","script"]);let Lt=null;const Ah=["application/xhtml+xml","text/html"],Ih="text/html";let ee=null,_t=null;const Vh=o.createElement("form"),ka=function(l){return l instanceof RegExp||l instanceof Function},Zn=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(_t&&_t===l)return;(!l||typeof l!="object")&&(l={}),l=pe(l),Lt=Ah.indexOf(l.PARSER_MEDIA_TYPE)===-1?Ih:l.PARSER_MEDIA_TYPE,ee=Lt==="application/xhtml+xml"?hn:Mt,X=ze(l,"ALLOWED_TAGS",da,{transform:ee}),J=ze(l,"ALLOWED_ATTR",ca,{transform:ee}),Gn=ze(l,"ALLOWED_NAMESPACES",Mh,{transform:hn}),qn=ze(l,"ADD_URI_SAFE_ATTR",Ea,{transform:ee,base:Ea}),ba=ze(l,"ADD_DATA_URI_TAGS",_a,{transform:ee,base:_a}),Be=ze(l,"FORBID_CONTENTS",zn,{transform:ee}),Dt=ze(l,"FORBID_TAGS",pe({}),{transform:ee}),ma=ze(l,"FORBID_ATTR",pe({}),{transform:ee}),yt=re(l,"USE_PROFILES")?l.USE_PROFILES&&typeof l.USE_PROFILES=="object"?pe(l.USE_PROFILES):l.USE_PROFILES:!1,ua=l.ALLOW_ARIA_ATTR!==!1,Ln=l.ALLOW_DATA_ATTR!==!1,fa=l.ALLOW_UNKNOWN_PROTOCOLS||!1,pa=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,Kn=l.FORCE_BODY||!1,ha=l.SANITIZE_DOM!==!1,ga=l.SANITIZE_NAMED_PROPS||!1,jn=l.KEEP_CONTENT!==!1,$n=l.IN_PLACE||!1,sa=os(l.ALLOWED_URI_REGEXP)?l.ALLOWED_URI_REGEXP:Lo,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"?pe(l.MATHML_TEXT_INTEGRATION_POINTS):v({},Ca),Wn=re(l,"HTML_INTEGRATION_POINTS")&&l.HTML_INTEGRATION_POINTS&&typeof l.HTML_INTEGRATION_POINTS=="object"?pe(l.HTML_INTEGRATION_POINTS):v({},Sa);const f=re(l,"CUSTOM_ELEMENT_HANDLING")&&l.CUSTOM_ELEMENT_HANDLING&&typeof l.CUSTOM_ELEMENT_HANDLING=="object"?pe(l.CUSTOM_ELEMENT_HANDLING):dt(null);if(Q=dt(null),re(f,"tagNameCheck")&&ka(f.tagNameCheck)&&(Q.tagNameCheck=f.tagNameCheck),re(f,"attributeNameCheck")&&ka(f.attributeNameCheck)&&(Q.attributeNameCheck=f.attributeNameCheck),re(f,"allowCustomizedBuiltInElements")&&typeof f.allowCustomizedBuiltInElements=="boolean"&&(Q.allowCustomizedBuiltInElements=f.allowCustomizedBuiltInElements),de(Q),We&&(Ln=!1),Qt&&(gt=!0),yt&&(X=v({},Ro),J=dt(null),yt.html===!0&&(v(X,Fo),v(J,Do)),yt.svg===!0&&(v(X,gn),v(J,_n),v(J,Ht)),yt.svgFilters===!0&&(v(X,yn),v(J,_n),v(J,Ht)),yt.mathMl===!0&&(v(X,bn),v(J,Uo),v(J,Ht))),Ye.tagCheck=null,Ye.attributeCheck=null,re(l,"ADD_TAGS")&&(typeof l.ADD_TAGS=="function"?Ye.tagCheck=l.ADD_TAGS:$e(l.ADD_TAGS)&&(X===da&&(X=pe(X)),v(X,l.ADD_TAGS,ee))),re(l,"ADD_ATTR")&&(typeof l.ADD_ATTR=="function"?Ye.attributeCheck=l.ADD_ATTR:$e(l.ADD_ATTR)&&(J===ca&&(J=pe(J)),v(J,l.ADD_ATTR,ee))),re(l,"ADD_URI_SAFE_ATTR")&&$e(l.ADD_URI_SAFE_ATTR)&&v(qn,l.ADD_URI_SAFE_ATTR,ee),re(l,"FORBID_CONTENTS")&&$e(l.FORBID_CONTENTS)&&(Be===zn&&(Be=pe(Be)),v(Be,l.FORBID_CONTENTS,ee)),re(l,"ADD_FORBID_CONTENTS")&&$e(l.ADD_FORBID_CONTENTS)&&(Be===zn&&(Be=pe(Be)),v(Be,l.ADD_FORBID_CONTENTS,ee)),jn&&(X["#text"]=!0),at&&v(X,["html","head","body"]),X.table&&(v(X,["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 M=g;g=l.TRUSTED_TYPES_POLICY;try{E=k("")}catch(R){throw g=M,R}}else l.TRUSTED_TYPES_POLICY===null?(g=void 0,E=""):(g===void 0&&(g=x()),g&&typeof E=="string"&&(E=k("")));se&&se(l),_t=l},Ta=v({},[...gn,...yn,...is]),wa=v({},[...bn,...as]),Oh=function(l,f,M){return f.namespaceURI===Fe?l==="svg":f.namespaceURI===tn?l==="svg"&&(M==="annotation-xml"||Yn[M]):!!Ta[l]},Bh=function(l,f,M){return f.namespaceURI===Fe?l==="math":f.namespaceURI===nn?l==="math"&&Wn[M]:!!wa[l]},Fh=function(l,f,M){return f.namespaceURI===nn&&!Wn[M]||f.namespaceURI===tn&&!Yn[M]?!1:!wa[l]&&(Nh[l]||!Ta[l])},Rh=function(l){let f=V(l);(!f||!f.tagName)&&(f={namespaceURI:bt,tagName:"template"});const M=Mt(l.tagName),R=Mt(f.tagName);return Gn[l.namespaceURI]?l.namespaceURI===nn?Oh(M,f,R):l.namespaceURI===tn?Bh(M,f,R):l.namespaceURI===Fe?Fh(M,f,R):!!(Lt==="application/xhtml+xml"&&Gn[l.namespaceURI]):!1},Ze=function(l){ct(n.removed,{element:l});try{V(l).removeChild(l)}catch{if(S(l),!V(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=N(l);if(f){const R=[];wt(f,L=>{ct(R,L)}),wt(R,L=>{try{S(L)}catch{}})}const M=F(l);if(M)for(let R=M.length-1;R>=0;--R){const L=M[R],j=L&&L.name;if(typeof j=="string")try{l.removeAttribute(j)}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{}},Dh=function(l){const f=F(l);if(f)for(let M=f.length-1;M>=0;--M){const R=f[M],L=R&&R.name;if(!(typeof L!="string"||J[ee(L)]))try{l.removeAttribute(L)}catch{}}},Uh=function(l){const f=[l];for(;f.length>0;){const M=f.pop();(w?w(M):M.nodeType)===Oe.element&&Dh(M);const L=N(M);if(L)for(let j=L.length-1;j>=0;--j)f.push(L[j])}},Na=function(l){let f=null,M=null;if(Kn)l="<remove></remove>"+l;else{const j=Io(l,/^[\r\n\t ]+/);M=j&&j[0]}Lt==="application/xhtml+xml"&&bt===Fe&&(l='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+l+"</body></html>");const R=g?k(l):l;if(bt===Fe)try{f=new b().parseFromString(R,Lt)}catch{}if(!f||!f.documentElement){f=Ae.createDocument(bt,"template",null);try{f.documentElement.innerHTML=Hn?E:R}catch{}}const L=f.body||f.documentElement;return l&&M&&L.insertBefore(o.createTextNode(M),L.childNodes[0]||null),bt===Fe?Dn.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,Z," "),l=Nt(l,Rt," "),l=Nt(l,Ch," "),l},Xn=function(l){var f;l.normalize();const M=oe.call(l.ownerDocument||l,l,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let R=M.nextNode();for(;R;)R.data=on(R.data),R=M.nextNode();const L=(f=l.querySelectorAll)===null||f===void 0?void 0:f.call(l,"template");L&&wt(L,j=>{Et(j.content)&&Xn(j.content)})},an=function(l){const f=T?T(l):null;return typeof f!="string"||ee(f)!=="form"?!1:typeof l.nodeName!="string"||typeof l.textContent!="string"||typeof l.removeChild!="function"||l.attributes!==F(l)||typeof l.removeAttribute!="function"||typeof l.setAttribute!="function"||typeof l.namespaceURI!="string"||typeof l.insertBefore!="function"||typeof l.hasChildNodes!="function"||l.nodeType!==w(l)||l.childNodes!==N(l)},Et=function(l){if(!w||typeof l!="object"||l===null)return!1;try{return w(l)===Oe.documentFragment}catch{return!1}},Pt=function(l){if(!w||typeof l!="object"||l===null)return!1;try{return typeof w(l)=="number"}catch{return!1}};function Pe(A,l,f){A.length!==0&&wt(A,M=>{M.call(n,l,f,_t)})}const Lh=function(l,f){return!!(Ut&&l.hasChildNodes()&&!Pt(l.firstElementChild)&&ce(Po,l.textContent)&&ce(Po,l.innerHTML)||Ut&&l.namespaceURI===Fe&&f==="style"&&Pt(l.firstElementChild)||l.nodeType===Oe.processingInstruction||Ut&&l.nodeType===Oe.comment&&ce(hs,l.data))},Ph=function(l,f){if(!Dt[f]&&Oa(f)&&(Q.tagNameCheck instanceof RegExp&&ce(Q.tagNameCheck,f)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(f)))return!1;if(jn&&!Be[f]){const M=V(l),R=N(l);if(R&&M){const L=R.length;for(let j=L-1;j>=0;--j){const le=$n?R[j]:C(R[j],!0);M.insertBefore(le,y(l))}}}return Ze(l),!0},Ia=function(l){if(Pe(D.beforeSanitizeElements,l,null),an(l))return Ze(l),!0;const f=ee(T?T(l):l.nodeName);if(Pe(D.uponSanitizeElement,l,{tagName:f,allowedTags:X}),Lh(l,f))return Ze(l),!0;if(Dt[f]||!(Ye.tagCheck instanceof Function&&Ye.tagCheck(f))&&!X[f])return Ph(l,f);if((w?w(l):l.nodeType)===Oe.element&&!Rh(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,M){if(ma[f]||ha&&(f==="id"||f==="name")&&(M in o||M in Vh))return!1;const R=J[f]||Ye.attributeCheck instanceof Function&&Ye.attributeCheck(f,l);if(!(Ln&&ce(Sh,f))){if(!(ua&&ce(kh,f))){if(R){if(!qn[f]){if(!ce(sa,Nt(M,la,""))){if(!((f==="src"||f==="xlink:href"||f==="href")&&l!=="script"&&Vo(M,"data:")===0&&ba[l])){if(!(fa&&!ce(Th,Nt(M,la,"")))){if(M)return!1}}}}}else if(!(Oa(l)&&(Q.tagNameCheck instanceof RegExp&&ce(Q.tagNameCheck,l)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(l))&&(Q.attributeNameCheck instanceof RegExp&&ce(Q.attributeNameCheck,f)||Q.attributeNameCheck instanceof Function&&Q.attributeNameCheck(f,l))||f==="is"&&Q.allowCustomizedBuiltInElements&&(Q.tagNameCheck instanceof RegExp&&ce(Q.tagNameCheck,M)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(M))))return!1}}return!0},xh=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!xh[Mt(l)]&&ce(wh,l)},vh=function(l,f,M,R){if(g&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!M)switch(u.getAttributeType(l,f)){case"TrustedHTML":return k(R);case"TrustedScriptURL":return B(R)}return R},Kh=function(l,f,M,R){try{M?l.setAttributeNS(M,f,R):l.setAttribute(f,R),an(l)?Ze(l):Ao(n.removed)}catch{rt(f,l)}},Ba=function(l){Pe(D.beforeSanitizeAttributes,l,null);const f=l.attributes;if(!f||an(l))return;const M={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:J,forceKeepAttr:void 0};let R=f.length;const L=ee(l.nodeName);for(;R--;){const j=f[R],le=j.name,ae=j.namespaceURI,we=j.value,Ie=ee(le),Qn=we;let he=le==="value"?Qn:Xl(Qn);if(M.attrName=Ie,M.attrValue=he,M.keepAttr=!0,M.forceKeepAttr=void 0,Pe(D.uponSanitizeAttribute,l,M),he=M.attrValue,ga&&(Ie==="id"||Ie==="name")&&Vo(he,ya)!==0&&(rt(le,l),he=ya+he),Ut&&ce(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,he)){rt(le,l);continue}if(Ie==="attributename"&&Io(he,"href")){rt(le,l);continue}if(!M.forceKeepAttr){if(!M.keepAttr){rt(le,l);continue}if(!pa&&ce(ys,he)){rt(le,l);continue}if(We&&(he=on(he)),!Va(L,Ie,he)){rt(le,l);continue}he=vh(L,Ie,ae,he),he!==Qn&&Kh(l,le,ae,he)}}Pe(D.afterSanitizeAttributes,l,null)},rn=function(l){let f=null;const M=Aa(l);for(Pe(D.beforeSanitizeShadowDOM,l,null);f=M.nextNode();)if(Pe(D.uponSanitizeShadowNode,f,null),Ia(f),Ba(f),Et(f.content)&&rn(f.content),(w?w(f):f.nodeType)===Oe.element){const L=U(f);Et(L)&&(Jn(L),rn(L))}Pe(D.afterSanitizeShadowDOM,l,null)},Jn=function(l){const f=[{node:l,shadow:null}];for(;f.length>0;){const M=f.pop();if(M.shadow){rn(M.shadow);continue}const R=M.node,j=(w?w(R):R.nodeType)===Oe.element,le=N(R);if(le)for(let ae=le.length-1;ae>=0;--ae)f.push({node:le[ae],shadow:null});if(j){const ae=T?T(R):null;if(typeof ae=="string"&&ee(ae)==="template"){const we=R.content;Et(we)&&f.push({node:we,shadow:null})}}if(j){const ae=U(R);Et(ae)&&f.push({node:null,shadow:ae},{node:ae,shadow:null})}}};return n.sanitize=function(A){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=null,M=null,R=null,L=null;if(Hn=!A,Hn&&(A="<!-->"),typeof A!="string"&&!Pt(A)&&(A=ns(A),typeof A!="string"))throw tt("dirty is not a string, aborting");if(!n.isSupported)return A;Pn?(X=xn,J=vn):Zn(l),(D.uponSanitizeElement.length>0||D.uponSanitizeAttribute.length>0)&&(X=pe(X)),D.uponSanitizeAttribute.length>0&&(J=pe(J)),n.removed=[];const j=$n&&typeof A!="string"&&Pt(A);if(j){const we=T?T(A):A.nodeName;if(typeof we=="string"){const Ie=ee(we);if(!X[Ie]||Dt[Ie])throw tt("root node is forbidden and cannot be sanitized in-place")}if(an(A))throw tt("root node is clobbered and cannot be sanitized in-place");try{Jn(A)}catch(Ie){throw Ma(A),Ie}}else if(Pt(A))f=Na("<!---->"),M=f.ownerDocument.importNode(A,!0),M.nodeType===Oe.element&&M.nodeName==="BODY"||M.nodeName==="HTML"?f=M:f.appendChild(M),Jn(M);else{if(!gt&&!We&&!at&&A.indexOf("<")===-1)return g&&en?k(A):A;if(f=Na(A),!f)return gt?null:en?E:""}f&&Kn&&Ze(f.firstChild);const le=Aa(j?A:f);try{for(;R=le.nextNode();)Ia(R),Ba(R),Et(R.content)&&rn(R.content)}catch(we){throw j&&Ma(A),we}if(j)return wt(n.removed,we=>{we.element&&Uh(we.element)}),We&&Xn(A),A;if(gt){if(We&&Xn(f),Qt)for(L=Ge.call(f.ownerDocument);f.firstChild;)L.appendChild(f.firstChild);else L=f;return(J.shadowroot||J.shadowrootmode)&&(L=Un.call(r,L,!0)),L}let ae=at?f.outerHTML:f.innerHTML;return at&&X["!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)),g&&en?k(ae):ae},n.setConfig=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Zn(A),Pn=!0,xn=X,vn=J},n.clearConfig=function(){_t=null,Pn=!1,xn=null,vn=null,g=I,E=""},n.isValidAttribute=function(A,l,f){_t||Zn({});const M=ee(A),R=ee(l);return Va(M,R,f)},n.addHook=function(A,l){typeof l=="function"&&re(D,A)&&ct(D[A],l)},n.removeHook=function(A,l){if(re(D,A)){if(l!==void 0){const f=Wl(D[A],l);return f===-1?void 0:Zl(D[A],f,1)[0]}return Ao(D[A])}},n.removeHooks=function(A){re(D,A)&&(D[A]=[])},n.removeAllHooks=function(){D=xo()},n}var En=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 ks(e){return this.__data__.has(e)}var Ts=200;function ws(e,n){var o=this.__data__;if(o instanceof Re){var r=o.__data__;if(!Tt||r.length<Ts-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=ks,mt.prototype.set=ws;var Gt=function(){try{var e=Je(Object,"defineProperty");return e({},"",{}),e}catch{}}();function Ko(e,n,o){n=="__proto__"&&Gt?Gt(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))&&Ko(e,n,o)}function Yt(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?Ko(o,d,c):jo(o,d,c)}return o}function As(e,n){return e&&Yt(n,vt(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 xt(e)?ho(e,!0):Bs(e)}function Fs(e,n){return e&&Yt(n,Wt(n),e)}var $o=typeof P=="object"&&P&&!P.nodeType&&P,zo=$o&&typeof module=="object"&&module&&!module.nodeType&&module,Rs=zo&&zo.exports===$o,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 Go(){return[]}var Ps=Object.prototype,xs=Ps.propertyIsEnumerable,Yo=Object.getOwnPropertySymbols,Cn=Yo?function(e){return e==null?[]:(e=Object(e),Ls(Yo(e),function(n){return xs.call(e,n)}))}:Go;function vs(e,n){return Yt(e,Cn(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=go(Object.getPrototypeOf,Object),Ks=Object.getOwnPropertySymbols,Xo=Ks?function(e){for(var n=[];e;)Wo(n,Cn(e)),e=Zo(e);return n}:Go;function js(e,n){return Yt(e,Xo(e),n)}function Jo(e,n,o){var r=n(e);return je(e)?r:Wo(r,o(e))}function $s(e){return Jo(e,vt,Cn)}function zs(e){return Jo(e,Wt,Xo)}var Sn=Je(Se,"DataView"),kn=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(Sn),Gs=Xe(Tt),Ys=Xe(kn),Ws=Xe(ut),Zs=Xe(Tn),Ue=ve;(Sn&&Ue(new Sn(new ArrayBuffer(1)))!=oi||Tt&&Ue(new Tt)!=Qo||kn&&Ue(kn.resolve())!=ei||ut&&Ue(new ut)!=ti||Tn&&Ue(new Tn)!=ni)&&(Ue=function(e){var n=ve(e),o=n==qs?e.constructor:void 0,r=o?Xe(o):"";if(r)switch(r){case Hs:return oi;case Gs:return Qo;case Ys: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 wn(e){var n=new e.constructor(e.byteLength);return new ii(n).set(new ii(e)),n}function ed(e,n){var o=n?wn(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=xe?xe.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?wn(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]",pd="[object DataView]",hd="[object Float32Array]",gd="[object Float64Array]",yd="[object Int8Array]",bd="[object Int16Array]",_d="[object Int32Array]",Ed="[object Uint8Array]",Cd="[object Uint8ClampedArray]",Sd="[object Uint16Array]",kd="[object Uint32Array]";function Td(e,n,o){var r=e.constructor;switch(n){case fd:return wn(e);case ad:case rd:return new r(+e);case pd:return ed(e,o);case hd:case gd:case yd:case bd:case _d:case Ed:case Cd:case Sd:case kd: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 Ke(e)&&Ue(e)==Nd}var si=st&&st.isMap,Id=si?ln(si):Ad,Vd="[object Set]";function Od(e){return Ke(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]",xd="[object Error]",mi="[object Function]",vd="[object GeneratorFunction]",Kd="[object Map]",jd="[object Number]",ui="[object Object]",$d="[object RegExp]",zd="[object Set]",qd="[object String]",Hd="[object Symbol]",Gd="[object WeakMap]",Yd="[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]",H={};H[ci]=H[Ud]=H[Yd]=H[Wd]=H[Ld]=H[Pd]=H[Zd]=H[Xd]=H[Jd]=H[Qd]=H[ec]=H[Kd]=H[jd]=H[ui]=H[$d]=H[zd]=H[qd]=H[Hd]=H[tc]=H[nc]=H[oc]=H[ic]=!0,H[xd]=H[mi]=H[Gd]=!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 b=je(e);if(b){if(s=Qs(e),!d)return Us(e,s)}else{var u=Ue(e),h=u==mi||u==vd;if(co(e))return Ds(e,d);if(u==ui||u==ci||h&&!a){if(s=c||h?{}:Md(e),!d)return c?js(e,Fs(s,e)):vs(e,As(s,e))}else{if(!H[u])return a?e:{};s=Td(e,u,d)}}i||(i=new mt);var C=i.get(e);if(C)return C;i.set(e,s),Bd(e)?e.forEach(function(N){s.add(It(N,n,o,N,e,i))}):Id(e)&&e.forEach(function(N,V){s.set(V,It(N,n,o,V,e,i))});var S=m?c?zs:$s:c?Wt:vt,y=b?void 0:S(e);return eo(y||e,function(N,V){y&&(V=N,N=e[V]),jo(s,V,It(N,n,o,V,e,i))}),s}var ac=1,rc=4;function Le(e){return It(e,ac|rc)}const Mn=(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)&&Ke(e)&&ve(e)==lc}const pi={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,o={[z(this.options,"validationErrorClass","error")]:n,[z(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),te(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 q(e.disabled)?e.disabled.call(this,this.model,e,this):te(e.disabled)?!1:e.disabled},fieldReadonly(e){return q(e.readonly)?e.readonly.call(this,this.model,e,this):te(e.readonly)?!1:e.readonly},fieldFeatured(e){return q(e.featured)?e.featured.call(this,this.model,e,this):te(e.featured)?!1:e.featured},fieldRequired(e){return q(e.required)?e.required.call(this,this.model,e,this):te(e.required)?!1:e.required}}};var Nn=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 hi=NaN,uc=/^[-+]0x[0-9a-f]+$/i,fc=/^0b[01]+$/i,pc=/^0o[0-7]+$/i,hc=parseInt;function An(e){if(typeof e=="number")return e;if(Kt(e))return hi;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||pc.test(e)?hc(e.slice(2),o?2:8):uc.test(e)?hi:+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,b=!1,u=!1,h=!0;if(typeof e!="function")throw new TypeError(gc);n=An(n)||0,_e(o)&&(b=!!o.leading,u="maxWait"in o,i=u?yc(An(o.maxWait)||0,n):i,h="trailing"in o?!!o.trailing:h);function C(g){var E=r,I=a;return r=a=void 0,m=g,s=e.apply(I,E),s}function S(g){return m=g,d=setTimeout(V,n),b?C(g):s}function y(g){var E=g-c,I=g-m,O=n-E;return u?bc(O,i-I):O}function N(g){var E=g-c,I=g-m;return c===void 0||E>=n||E<0||u&&I>=i}function V(){var g=Nn();if(N(g))return U(g);d=setTimeout(V,y(g))}function U(g){return d=void 0,h&&r?C(g):(r=a=void 0,s)}function F(){d!==void 0&&clearTimeout(d),m=0,r=c=a=d=void 0}function w(){return d===void 0?s:U(Nn())}function T(){var g=Nn(),E=N(g);if(r=arguments,a=this,c=g,E){if(d===void 0)return S(c);if(u)return clearTimeout(d),d=setTimeout(V,n),C(c)}return d===void 0&&(d=setTimeout(V,n)),s}return T.cancel=F,T.flush=w,T}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 kc(e){return e!==e}function Tc(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?Tc(e,n,o):Sc(e,kc,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 b=e[r],u=b;if(b=b!==0?b:0,s&&u===u){for(var h=c.length;h--;)if(c[h]===u)continue e;d.push(b)}else a(c,u,o)||(c!==d&&c.push(u),d.push(b))}return d}function yi(e){return e&&e.length?Bc(e):[]}var Fc=0;function bi(e){var n=++Fc;return Co(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 ki=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ti=["January","February","March","April","May","June","July","August","September","October","November","December"],Uc=Ci(Ti,3),Lc=Ci(ki,3),wi={dayNamesShort:Lc,dayNames:ki,monthNamesShort:Uc,monthNames:Ti,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},xc={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}],vc={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"},Kc=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 xc[i](e,a)}),n.replace(/@@@/g,function(){return r.shift()})};function $c(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(w,T){return s.push(Mi(T)),"@@@"}),c={},m={};d=Mi(d).replace(_i,function(w){var T=vc[w],g=T[0],E=T[1],I=T[3];if(c[g])throw new Error("Invalid format. "+g+" specified twice in format");return c[g]=!0,I&&(m[I]=!0),i.push(T),"("+E+")"}),Object.keys(m).forEach(function(w){if(!c[w])throw new Error("Invalid format. "+w+" is required in specified format")}),d=d.replace(/@@@/g,function(){return s.shift()});var b=e.match(new RegExp(d,"i"));if(!b)return null;for(var u=ot(ot({},Xt),o),h=1;h<b.length;h++){var C=i[h-1],S=C[0],y=C[2],N=y?y(b[h],u):+b[h];if(N==null)return null;a[S]=N}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var V;if(a.timezoneOffset==null){V=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"]],h=0,F=U.length;h<F;h++)if(c[U[h][0]]&&a[U[h][0]]!==V[U[h][1]]())return null}else if(V=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 V}var pt={format:jc,parse:$c,defaultI18n:wi,setGlobalDateI18n:Pc,setGlobalDateMasks:Kc};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 Gc=Gt?function(e,n){return Gt(e,"toString",{configurable:!0,enumerable:!1,value:Hc(n),writable:!0})}:cn,Yc=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>=Yc)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Jc=Xc(Gc);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"?xt(o)&&mo(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],b=e[m];(b===void 0||jt(b,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=An(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 In(e){return typeof e=="number"||Ke(e)&&ve(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:ne}=be.createI18n("en-us",Ce),me={fieldIsRequired:ne("validators.field_is_required"),invalidFormat:ne("validators.invalid_format"),numberTooSmall:ne("validators.number_too_small"),numberTooBig:ne("validators.number_too_large"),invalidNumber:ne("validators.invalid_number"),invalidInteger:ne("validators.invalid_integer"),textTooSmall:ne("validators.text_too_short"),textTooBig:ne("validators.text_too_long"),thisNotText:ne("validators.this_not_text"),thisNotArray:ne("validators.this_not_array"),selectMinItems:ne("validators.select_min_items"),selectMaxItems:ne("validators.select_max_items"),invalidDate:ne("validators.invalid_date"),dateIsEarly:ne("validators.date_is_early"),dateIsLate:ne("validators.date_is_late"),invalidEmail:ne("validators.invalid_email"),invalidURL:ne("validators.invalid_url"),invalidCard:ne("validators.invalid_card"),invalidCardNumber:ne("validators.invalid_card_number"),invalidTextContainNumber:ne("validators.invalid_text_contain_number"),invalidTextContainSpec:ne("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},ke=(e,n,o=me)=>te(e)||e===""?n?[Y(o.fieldIsRequired)]:[]:null,it={required:(e,n,o,r=me)=>ke(e,n.required,r)||[],number:(e,n,o,r=me)=>{let a=ke(e,n.required,r);return a!=null||(a=[],Ri(e)?(!te(n.min)&&e<n.min,(r=me)&&a.push(Y(r.numberTooSmall,n.min)),!te(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=ke(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=ke(e,n.required,r);return a??(!In(e)||isNaN(e)?[Y(r.invalidNumber)]:[])},string:(e,n,o,r=me)=>{let a=ke(e,n.required,r);return a!=null||(a=[],nt(e)?(!te(n.min)&&e.length<n.min&&a.push(Y(r.textTooSmall,e.length,n.min)),!te(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(!te(e)){if(!te(n.min)&&e.length<n.min)return[Y(r.selectMinItems,n.min)];if(!te(n.max)&&e.length>n.max)return[Y(r.selectMaxItems,n.max)]}return[]},date:(e,n,o,r=me)=>{let a=ke(e,n.required,r);if(a!=null)return a;a=[];const i=new Date(e);if(isNaN(i.getDate()))return[Y(r.invalidDate)];if(!te(n.min)){const s=new Date(n.min);i.valueOf()<s.valueOf()&&a.push(Y(r.dateIsEarly,pt.format(i),pt.format(s)))}if(!te(n.max)){const s=new Date(n.max);i.valueOf()>s.valueOf()&&a.push(Y(r.dateIsLate,pt.format(i),pt.format(s)))}return a},regexp:(e,n,o,r=me)=>{const a=ke(e,n.required,r);return a??(!te(n.pattern)&&!new RegExp(n.pattern).test(e)?[Y(r.invalidFormat)]:[])},email:(e,n,o,r=me)=>{const a=ke(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=ke(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=ke(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,b;for(let u=s.length-1;u>=0;u--)c=s.substring(u,u+1),m=parseInt(c,10),b?(m*=2,m>=10?d+=m%10+1:d+=m):d+=m,b=!b;return d%10===0&&s?[]:[Y(r.invalidCardNumber)]},alpha:(e,n,o,r=me)=>{const a=ke(e,n.required,r);return a??(/^[a-zA-Z]*$/.test(e)?[]:[Y(r.invalidTextContainNumber)])},alphaNumeric:(e,n,o,r=me)=>{const a=ke(e,n.required,r);return a??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Y(r.invalidTextContainSpec)])}};Object.keys(it).forEach(e=>{const n=it[e];q(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 Vn(e,n,o){let r=z(o.context,"schema.attributes",{});const a=n.value||"input";nt(a)&&(r=z(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:Vn,updated:Vn,componentUpdated:Vn}},computed:{value:{cache:!1,get(){let e;return q(z(this.schema,"get"))?e=this.schema.get(this.model):e=z(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),q(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=z(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&&q(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)}),q(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(){q(this.debouncedValidateFunc)||(this.debouncedValidateFunc=ft(this.validate.bind(this),z(this.schema,"validateDebounceTime",z(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let o=!1;q(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),q(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),z(this.formOptions,"validateAfterChanged",!1)===!0&&(z(this.schema,"validateDebounceTime",z(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=z(this.formOptions,"fieldIdPrefix","");return Mn(e,o)+(n?"-"+bi():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return z(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},dm=Object.freeze(Object.defineProperty({__proto__:null,default:Ne},Symbol.toStringTag,{value:"Module"})),K=(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=K(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(W,{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=K(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"]]),pm={class:"array-item-wrapper"},hm={class:"array-item"},gm={class:"array-item-after"},Pi=K(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",pm,[t.createElementVNode("div",hm,[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"},xi=K(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 vi(e){return It(e,bm)}const _m="#6c7489",Ki="12px",Em="16px",ji="20px",Cm=["data-testid","data-testlabel"],Sm={class:"item-label"},km={class:"autosuggest__results_message"},Tm=K(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",km,[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}",On=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,$i=K(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(p,_)=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),[];const{data:k}=await n.getAllV2(e.entity,{name:p,size:Fm},_);return k.data},r=async p=>n?n.peek(e.entity,p):(console.warn("[@kong-ui-public/forms] No API service provided"),Promise.resolve({data:{data:[]}})),a=async p=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),{id:p};const _=await n.getOne(e.entity,p,{validateStatus:k=>k>=200&&k<300||k===404});if(_.status===404)throw new Error(`Entity of type ${e.entity} with id ${p} not found`);return _.data},i=e.transformItem??(p=>({...p,label:p[e.labelField],value:p.id})),s=t.ref(""),d=t.ref(!1),c=t.ref(!1),m=t.ref(""),b=t.ref([]),u=t.ref([]),h=t.ref([]),{t:C}=be.createI18n("en-us",Ce),S=t.ref(null);let y=null;const N=async(p,_)=>{if(!e.fieldDisabled){clearTimeout(y),y=setTimeout(()=>{d.value=!0},1500);try{const k=await p();u.value=k,b.value=u.value.map(i)}catch(k){if(_!=null&&_.aborted)return;if(b.value=[],Fa.isAxiosError(k)&&k.status===404){console.warn("unable to search with UUID",m.value,"for entity type",e.entity);return}s.value=k.message}finally{clearTimeout(y),d.value=!1}}},V=ft(p=>{if(p=p||"",m.value=p,!p.trim()&&!c.value){b.value=E(h.value);return}S.value&&S.value.abort();const _=new AbortController;if(S.value=_,c.value){O(p);return}T(p,_)},Om,{leading:!0}),U=async(p,_)=>await o(p,_),F=async()=>{const{data:{data:p,next:_,offset:k}}=await r(Bm);return(!_||!k)&&(c.value=!0),u.value=p,h.value=p.map(B=>({...i(B),group:C("fields.auto_suggest.recently_created",{entity:e.entity})})),p},w=async p=>[await a(p)],T=(p,_)=>{On(p)&&e.allowUuidSearch?N(async()=>await w(p)):N(async()=>await U(p,_.signal),_.signal)},g=p=>{let _=[];_=E(h.value),p!=null&&p.trim()?b.value=_.filter(k=>e.fields.some(B=>(k[B]||"").includes(p))):b.value=_},E=p=>e.selectedItem?p.some(_=>_.value===e.selectedItem.value)?p:[e.selectedItem,...p]:p,I=p=>{b.value=h.value.filter(_=>_.id===p)},O=p=>{On(p)&&e.allowUuidSearch?I(p):g(p)};return t.onMounted(async()=>{await N(F);const p=t.watch(()=>e.selectedItem,_=>{_&&(b.value=E(h.value)),p()});b.value=E(h.value)}),(p,_)=>(t.openBlock(),t.createBlock(Tm,{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:b.value,onChange:_[0]||(_[0]=k=>p.$emit("change",k)),onQueryChange:t.unref(V)},{before:t.withCtx(()=>[t.renderSlot(p.$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:k})=>[t.renderSlot(p.$slots,"selected-item",{item:k},()=>[t.createElementVNode("span",Mm,[t.createElementVNode("span",Nm,t.toDisplayString(k.label??k.id),1)])],!0)]),item:t.withCtx(({item:k})=>[t.renderSlot(p.$slots,"item",{item:k},()=>[t.createElementVNode("div",Am,[t.createElementVNode("span",Im,t.toDisplayString(k.label??t.unref(ko)),1),t.createElementVNode("span",Vm,t.toDisplayString(k.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:$i},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=K(Rm,[["render",Dm],["__scopeId","data-v-9ab50e80"]]),Bn=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;On(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<Bn;){const r=await this[Ee].getAll(this.entity,{size:Bn,offset:o,...e});if(n.push(...r.data.data),o=r.data.offset,!o)break}return n.slice(0,Bn)},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"],xm={class:"autosuggest__results_message"};function vm(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",xm,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Hi=K(Um,[["render",vm],["__scopeId","data-v-433129a3"]]);function Km(e){const n=t.ref([]),o=t.ref(null),r=y=>nt(y)?it[y]!=null?it[y]:(console.warn(`'${y}' is not a validator function!`),null):y,a=t.computed({get(){var N,V;let y;return q(z(e.schema,"get"))?y=e.schema.get((N=e.model)==null?void 0:N.value):y=z((V=e.model)==null?void 0:V.value,e.schema.model),C(y)},set(y){const N=a;y=S(y),q(y)?y(y,N):d(y,N)}}),i=y=>{var F;c();const N=z(e.formOptions,"validateAsync",!1);let V=[];if(e.schema.readonly!==!0&&e.disabled!==!0){const w=[],T=(F=e.schema)==null?void 0:F.validator;T&&(Array.isArray(T)?fe(T,g=>{w.push(r(g))}):w.push(r(T))),q(e.externalValidator)&&w.push(e.externalValidator),fe(w,g=>{var E,I;if(N)V.push(g(a.value,e.schema,(E=e.model)==null?void 0:E.value));else{const O=g(a.value,e.schema,(I=e.model)==null?void 0:I.value);O&&q(O.then)?O.then(p=>{p&&(n.value=n.value.concat(p));const _=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:_,errors:n.value,field:e.schema})}):O&&(V=V.concat(O))}})}const U=w=>{var g,E;let T=[];if(fe(yi(w),I=>{Array.isArray(I)&&I.length>0?T=T.concat(I):nt(I)&&T.push(I)}),q((g=e.schema)==null?void 0:g.onValidated)&&e.schema.onValidated((E=e.model)==null?void 0:E.value,T,e.schema),!y){const I=T.length===0;e.emitValidated&&e.emitValidated({isValid:I,errors:T,field:e.schema})}return w=T,T};return N?Promise.all(V).then(U):U(V)},s=()=>{q(o.value)?o.value():o.value=ft(i,z(e.schema,"validateDebounceTime",z(e.formOptions,"validateDebounceTime",500)))},d=(y,N)=>{var U,F,w;let V=!1;q(e.schema.set)?(e.schema.set((U=e.model)==null?void 0:U.value,y),V=!0):e.schema.model&&(m(e.schema.model,y),V=!0),V&&(e.emitModelUpdated&&((F=e.model)!=null&&F.value)&&e.emitModelUpdated({value:y,model:e.schema.model}),q(e.schema.onChanged)&&e.schema.onChanged((w=e.model)==null?void 0:w.value,y,N,e.schema),z(e.formOptions,"validateAfterChanged",!1)===!0&&(z(e.schema,"validateDebounceTime",z(e.formOptions,"validateDebounceTime",0))>0?s():i()))},c=()=>{n.value.splice(0)},m=(y,N)=>{var g;let V=y.replace(/\[(\w+)\]/g,".$1");V=V.replace(/^\./,"");let U=((g=e.model)==null?void 0:g.value)||{},F=0;const w=V.split("."),T=w.length;for(;F<T;){const E=w[F];if(F<T-1)U[E]!==void 0||(U[E]={}),U=U[E];else{U[E]=N;return}++F}},b=(y,N=!1)=>{const V=z(e.formOptions,"fieldIdPrefix","");return Mn(y,V)+(N?"-"+bi():"")},u=y=>`${b(y)}-label`,h=()=>z(e.schema,"fieldClasses",[]),C=y=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(y):y,S=y=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(y):y;return{value:a,clearValidationErrors:c,getFieldID:b,getLabelId:u,getFieldClasses:h,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 $m(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 Te={useAbstractFields:Km,useRedisPartial:jm,useRedisNonStandardFields:$m},zm={class:"form-field-wrapper"},Gi=K(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:b}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:F=>{a("modelUpdated",F.value,F.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{var w,T;const F=(w=r.schema)==null?void 0:w.inputType.toLowerCase();if(F==="number"&&((T=r.schema)==null?void 0:T.referenceable)===!0)return"text";switch(F){case"string":return"text";case"datetime":return"datetime-local";default:return F||"text"}}),h={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},C=(F,w)=>{var I,O;let T=F;const g=h[u.value]||"",E=pt.parse(F,g);E&&((I=r.schema)!=null&&I.format?T=pt.format(E,(O=r.schema)==null?void 0:O.format):T=E.valueOf()),d(T,w)},S=(F,w)=>{In(F)||(F=NaN),d(F,w)},y=F=>{let w=F;switch(r.schema.inputType){case"number":case"range":Ri(parseFloat(F))&&(w=parseFloat(F));break}b.value=w,d(w,F)},N=F=>{b.value=F,d(F,F)},V=t.ref(null),U=()=>{var F;q(V.value)&&((F=V.value)==null||F.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":V.value=ft((F,w)=>{S(F,w)},parseInt(z(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":V.value=ft((F,w)=>{C(F,w)},parseInt(z(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.")}),(F,w)=>{const T=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",zm,[t.createVNode(T,t.mergeProps(F.$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(b):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(b),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":y}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:N,value:t.unref(b)},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 Gm(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 Yi=K(qm,[["render",Gm]]),Ym={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=K(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",Ym,[n.schema.schema?(t.openBlock(),t.createBlock(W,{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"],pu={key:0,class:"hint"},Zi=K(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(b=>b.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(W,{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",pu,t.toDisplayString(n.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,iu)}}}),[["__scopeId","data-v-0faeec4d"]]),hu={class:"radio-selection-group"},Xi=K(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}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:b=>{a("modelUpdated",b.value,b.model)}});n({clearValidationErrors:c});const m=b=>{let u=b;typeof b=="string"&&(u=b.split(","),r.schema.array||(u=u.toString())),s(u,b)};return(b,u)=>{const h=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",hu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(C,S)=>(t.openBlock(),t.createBlock(h,{id:e.schema.name+"-"+S,key:C.value,modelValue:t.unref(d),"onUpdate:modelValue":u[0]||(u[0]=y=>t.isRef(d)?d.value=y:null),label:C.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":C.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=y=>te(y)?null:y,d=t.toRefs(r),{getFieldID:c,clearValidationErrors:m,value:b}=Te.useAbstractFields({model:d.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,emitModelUpdated:y=>{a("modelUpdated",y.value,y.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{const y=r.schema.values;return h(typeof y=="function"?y.apply(this,[r.model,r.schema]):y)}),h=y=>{const N=[];return y.forEach(V=>{N.push({label:S(V),value:C(V),disabled:typeof V=="object"&&V.disabled||void 0,group:typeof V=="object"&&String(V.group||"").toUpperCase()||void 0})}),N},C=y=>{if(_e(y)){if(i.value&&typeof i.value.value<"u")return y[i.value.value];if(typeof y.id<"u")return String(y.id);throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return y},S=y=>{if(_e(y)){if(i.value&&typeof i.value.name<"u")return y[i.value.name];if(typeof y.name<"u")return String(y.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(y)};return(y,N)=>{const V=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(V,{id:t.unref(c)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":N[0]||(N[0]=U=>t.isRef(b)?b.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=K(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}=Te.useAbstractFields({model:t.toRef(()=>e.model),schema:e.schema,formOptions:e.formOptions,emitModelUpdated:C=>{r("modelUpdated",C.value,C.model)}});n({clearValidationErrors:d});const m=t.ref("");function b(C){return Array.isArray(C)?C.map(S=>String(S).trim()).filter(Boolean).join(", "):""}function u(C){return C?C.trim().split(",").map(S=>S.trim()).filter(Boolean):[]}function h(C){m.value=C;const S=u(C);a(S,c.value)}return t.watch(c,C=>{const S=C?b(C):"";b(u(m.value))!==S&&(m.value=S)},{immediate:!0}),(C,S)=>{const y=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",gu,[t.createVNode(y,t.mergeProps(C.$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":h}),null,16,["id","aria-labelledby","class","model-value","placeholder"])])}}}),[["__scopeId","data-v-cf2eff67"]]),yu={name:"FieldArray",components:{FieldArrayItem:Pi,FieldArrayMultiItem:xi,FieldSelect:Ji,FieldMetric:Yi,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldRadio:Xi,FieldArrayCardContainer:Li,FieldInput:Gi,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,b;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,h)=>{const C=n.schema.fields[h];C&&Object.keys(C).forEach(S=>{typeof C[S]=="function"&&(u[S]=C[S])})})),(b=(m=(c=r.schema)==null?void 0:c.fields)==null?void 0:m.map)==null||b.call(m,u=>(u.id=`${u.id||u.model}-${o}`,u))),{...r,set(u,h){e[o]=h},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"&&In(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 ku(e,n,o,r,a,i){const s=t.resolveComponent("FieldStringArray"),d=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton"),m=t.resolveComponent("KTextArea"),b=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,h)=>(t.openBlock(),t.createElementBlock("div",{key:h,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(h),onModelUpdated:C=>i.handleStringArrayUpdate(C,h)},null,8,["form-options","model","schema","onModelUpdated"]),t.createVNode(c,{appearance:"tertiary",class:"string-array-remove-btn",icon:"",onClick:C=>i.removeElement(h)},{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:h,model:u,schema:i.generateSchema(e.value,e.schema.items,h),onRemoveItem:C=>i.removeElement(h)},{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,h),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,h),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-${h}`,model:u,schema:i.generateSchema(e.value,e.schema.items,h),onRemoveItem:C=>i.removeElement(h)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:C=>e.value[h]=C,value:e.value[h]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var C;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[h],"onUpdate:modelValue":S=>e.value[h]=S,"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(b,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[h],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:S=>{i.handleInput(S,h)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":S=>e.value[h]=S,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{type:((C=e.schema.inputAttributes)==null?void 0:C.type)||"text"}),null,16,Cu)),[[t.vModelDynamic,e.value[h]]])]}),_: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":C=>e.value[h]=C,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Su),[[t.vModelText,e.value[h]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:C=>e.value[h]=C,value:e.value[h]},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 Tu=K(yu,[["render",ku],["__scopeId","data-v-64e1f575"]]),wu={class:"form-field-wrapper field-checkbox"},Mu=["innerHTML"],Nu=K(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}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}}),m=t.computed(()=>r.schema.help?En.sanitize(r.schema.help.replace(/<\/?p>/g,"").trim()):""),b=t.computed(()=>{const u=r.schema.checkboxDescription;return typeof u=="function"?u(r.model)||void 0:u||void 0});return n({clearValidationErrors:c}),(u,h)=>{const C=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",wu,[t.createVNode(C,t.mergeProps(u.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(d),"onUpdate:modelValue":h[0]||(h[0]=S=>t.isRef(d)?d.value=S:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,description:b.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=K({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((te(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const o=vi(this.value);o.push(this.getItemValue(n)),this.value=o}else{const o=vi(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"},xu={class:"pair-item-cell"},vu=["data-testid","placeholder","value","onInput"],Ku={class:"pair-item-cell"},ju=["data-testid","placeholder","value","onInput"];function $u(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",xu,[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:b=>{i.onInput(b,m,"key")}},null,40,vu),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:b=>i.onInput({target:{value:b}},m,"key"),value:c.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",Ku,[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:b=>{i.onInput(b,m,"value")}},null,40,ju),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:b=>i.onInput({target:{value:b}},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=K(Lu,[["render",$u],["__scopeId","data-v-be99d00c"]]),qu=K(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}=Te.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}=Te.useAbstractFields({model:i,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}});n({clearValidationErrors:c});const b=t.computed(()=>{var u,h;return r.schema.values?r.schema.values:(h=(u=r.schema.elements)==null?void 0:u.one_of)!=null&&h.length?r.schema.elements.one_of.map(C=>({label:String(C),value:String(C)})):[]});return(u,h)=>{const C=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(C,{id:t.unref(d)(e.schema),modelValue:t.unref(m),"onUpdate:modelValue":h[0]||(h[0]=S=>t.isRef(m)?m.value=S:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:b.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"])}}}),Gu={class:"selection-group"},Yu={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=K(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",Gu,[(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",Yu,[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(W,{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=h=>h!=null&&r.schema.valueOn?h===r.schema.valueOn:h,d=h=>h!=null&&r.schema.valueOn?h?r.schema.valueOn:r.schema.valueOff:h,c=t.toRefs(r),{getFieldID:m,value:b,clearValidationErrors:u}=Te.useAbstractFields({model:c.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,formatValueToModel:d,emitModelUpdated:h=>{a("modelUpdated",h.value,h.model)}});return n({clearValidationErrors:u}),(h,C)=>{const S=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",tf,[t.createVNode(S,{id:t.unref(m)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":C[0]||(C[0]=y=>t.isRef(b)?b.value=y:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(b)?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:Tu,FieldArrayCardContainer:Li,FieldArrayItem:Pi,FieldArrayMultiItem:xi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldCheckbox:Nu,FieldChecklist:Uu,FieldInput:Gi,FieldKeyValuePairs:zu,FieldLabel:qu,FieldMetric:Yi,FieldMultiselect:Hu,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldRadio:Xi,FieldSelect:Ji,FieldSelectionGroup:ef,FieldStringArray:Qi,FieldSwitch:nf,FieldTextArea:K(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:b}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:h=>{a("modelUpdated",h.value,h.model)}});n({clearValidationErrors:m});const u=h=>{b.value=h,d(h,h)};return(h,C)=>{const S=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",of,[t.createVNode(S,t.mergeProps(h.$attrs,{id:t.unref(c)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":C[0]||(C[0]=y=>t.isRef(b)?b.value=y: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(b)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-609c18d6"]])},Symbol.toStringTag,{value:"Module"})),mixins:[pi],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 En.sanitize(e)},fieldTypeHasLabel(e){if(te(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=z(this.options,"fieldIdPrefix","");return Mn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldComponent(e){return e.component?e.component:"field-"+e.type},getButtonType(e){return z(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 q(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 pf(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:b=>i.buttonClickHandler(c,o.field,b),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=K(af,[["render",pf],["__scopeId","data-v-87df5b50"]]);var Ot=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ot||{});const hf=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]??"",ht={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(ht.KONNECT_MANAGED)||o.includes(yf)?ht.KONNECT_MANAGED:ht.SELF_MANAGED}function _f(e){return e.app==="konnect"&&!!e.isKonnectManagedRedisEnabled}const Ef={class:"partial-config-card"},Cf={class:"config-card-row-label"},Sf={class:"label-text"},kf=["data-testid"],Tf=["data-testid"],wf={key:1},Mf=["data-testid"],Nf=["data-testid"],Af=K(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,h)=>i(h)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:d}=lt.useStringHelpers(),c=t.computed(()=>Object.entries(a.configFields).map(([u,h])=>{var C,S,y,N;return{key:u,label:((C=r[u])==null?void 0:C.label)??d(u),value:(S=r[u])!=null&&S.formatter?r[u].formatter(h):h,type:((y=r[u])==null?void 0:y.type)??s(u,h),order:((N=r[u])==null?void 0:N.order)??100}}).sort((u,h)=>u.order-h.order).filter(u=>u.type!=="hidden")),m=Te.useRedisNonStandardFields(a.configFields,a.pluginRedisFields),b=t.computed(()=>c.value.concat(m));return(u,h)=>{const C=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Ef,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,({key:S,label:y,value:N,type:V})=>(t.openBlock(),t.createElementBlock("div",{key:S,class:"partial-config-card-row"},[t.createElementVNode("div",Cf,[t.createElementVNode("div",Sf,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${S}-property-value`},[i(N)?(t.openBlock(),t.createElementBlock("div",wf,[V==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${S}-copy-password`},[t.createVNode(C,{format:"redacted",text:String(N)},null,8,["text"])],8,Mf)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${S}-plain-text`},t.toDisplayString(N),9,Nf))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${S}-no-value`}," – ",8,Tf))],8,kf)]))),128))])}}}),[["__scopeId","data-v-57f78095"]]),If={class:"redis-config-select","data-testid":"redis-config-select"},Vf={class:"selected-redis-config"},Of=["data-testid"],Bf={class:"select-item-name","data-testid":"selected-redis-config"},Ff={class:"empty-redis-config","data-testid":"empty-redis-config"},Rf={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Df="1000",na=K(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(So),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:b,loadItems:u,results:h}=lt.useDebouncedFilter(d,r[d.app].getAll,Df,{fetchedItemsKey:"data",searchKeys:["id","name"]}),C=t.computed(()=>b.value?s(b.value):""),S=t.computed(()=>a.isCustomPlugin?n("redis.custom_plugin.tooltip"):n("redis.shared_configuration.tooltip",{type:ta(a.redisType)})),y=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.title"):n("redis.shared_configuration.title")),N=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.selector.placeholder"):n("redis.shared_configuration.selector.placeholder")),V=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(()=>C.value||n("redis.shared_configuration.error")),F=I=>{let O=`${d.apiBaseUrl}${r[d.app].getOne}`;return d.app==="konnect"&&(O=O.replace(/{controlPlaneId}/gi,(d==null?void 0:d.controlPlaneId)||"")),O=O.replace(/\/{workspace}/gi,d!=null&&d.workspace?`/${d.workspace}`:"").replace(/{id}/gi,String(I)),O},w=t.computed(()=>{const I=(h.value||[]).map(O=>{const p=O,_=a.isKonnectManagedRedisEnabled?bf(p):void 0,k=_===ht.KONNECT_MANAGED;return{...a.isKonnectManagedRedisEnabled&&_?{source:_}:{},label:O.id,name:O.name,value:O.id,type:O.type,tag:a.isKonnectManagedRedisEnabled&&k?void 0:hf(p)}}).filter(O=>O.type==="redis-ce"||O.type==="redis-ee");return a.redisType!=="all"?I.filter(O=>O.type===a.redisType):I}),T=t.computed(()=>{const I=w.value;if(!a.isKonnectManagedRedisEnabled)return I;const O=I.filter(k=>k.source===ht.KONNECT_MANAGED),p=I.filter(k=>k.source===ht.SELF_MANAGED),_=[];return O.length>0&&_.push({label:n("redis.managed_ui.groups.konnect_managed"),items:O}),p.length>0&&_.push({label:n("redis.managed_ui.groups.self_managed"),items:p}),_}),{axiosInstance:g}=lt.useAxios(d==null?void 0:d.axiosRequestConfig),E=async I=>{if(I){a.updateRedisModel(I);try{const O=await g.get(F(I));if(O.data.config){const p=Object.assign(O.data,O.data.config);delete p.config,i.value=p}}catch(O){console.error(O)}}};return t.watch(()=>o==null?void 0:o.value,async I=>{I&&await u()}),t.onBeforeMount(()=>{u(),a.defaultRedisConfigItem&&E(a.defaultRedisConfigItem)}),(I,O)=>{const p=t.resolveComponent("KLabel"),_=t.resolveComponent("KBadge"),k=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",If,[t.createVNode(p,{info:S.value,"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(y.value),1)]),_:1},8,["info"]),O[2]||(O[2]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(k,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:T.value,loading:t.unref(m),"model-value":e.defaultRedisConfigItem,placeholder:N.value,onChange:O[1]||(O[1]=B=>E(B==null?void 0:B.value)),onQueryChange:t.unref(c)},t.createSlots({"selected-item-template":t.withCtx(({item:B})=>[t.createElementVNode("div",Vf,t.toDisplayString(B.name),1)]),"item-template":t.withCtx(({item:B})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${B.name}`},[t.createElementVNode("span",Bf,t.toDisplayString(B.name),1),B.tag?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(B.tag),1)]),_:2},1024)):t.createCommentVNode("",!0)],8,Of)]),empty:t.withCtx(()=>[t.createElementVNode("div",Ff,t.toDisplayString(t.unref(n)("redis.shared_configuration.empty_state")),1)]),_:2},[t.unref(_f)(t.unref(d))?void 0:{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:O[0]||(O[0]=B=>I.$emit("showNewPartialModal"))},[t.createVNode(t.unref(ue.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(Ki)})`},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(V.value),1)])]),key:"0"}]),1032,["items","loading","model-value","placeholder","onQueryChange"])]),i.value?(t.openBlock(),t.createBlock(Af,{key:0,"config-fields":i.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),C.value?(t.openBlock(),t.createElementBlock("p",Rf,t.toDisplayString(U.value),1)):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-8017e218"]]),Uf={key:0},Lf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Pf={key:0,class:"shared-redis-config"},xf={key:1,class:"dedicated-redis-config"},vf={class:"dedicated-redis-config-title"},Kf={name:"VueFormGenerator",components:{formGroup:ea,formRedis:K(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")),b=t.computed(()=>o.field.pluginType==="custom"),u=t.ref(!o.isEditing),h=t.ref(),C=t.ref({}),S=t.ref(),y=w=>q(w.visible)?w.visible.call(this,o.model,w,this):te(w.visible)?!0:w.visible,N=async w=>{r("modelUpdated",[{id:w,path:o.redisPath}],"partials"),S.value=[{id:w,path:o.redisPath}],h.value=w},V=(w,T)=>{C.value={...C.value,[T]:w},r("modelUpdated",w,T)},U=()=>{r("refreshModel")},F=(w,T,g)=>{r("validated",w,T,g)};return t.watch(()=>u.value,w=>{w?S.value&&r("partialToggled","redis",{partials:S.value}):r("partialToggled","partials",C.value)}),t.onBeforeMount(()=>{var w,T,g;if(o.model&&(C.value=o.field.fields.reduce((E,I)=>(Object.keys(o.model).includes(I.model)&&(E[I.model]=o.model[I.model]),E),{})),(g=(T=(w=o==null?void 0:o.model)==null?void 0:w.partials)==null?void 0:T[0])!=null&&g.id){const E=o.model.partials[0].id;u.value=!0,h.value=E}}),(w,T)=>{const g=t.resolveComponent("KAlert"),E=t.resolveComponent("KBadge"),I=t.resolveComponent("KRadio"),O=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[b.value?(t.openBlock(),t.createElementBlock("div",Uf,[t.createVNode(g,{"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":h.value,"is-custom-plugin":"","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"update-redis-model":N,onShowNewPartialModal:T[0]||(T[0]=p=>w.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(O,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:i.value},{default:t.withCtx(()=>[t.createElementVNode("div",Lf,[t.createVNode(I,{modelValue:u.value,"onUpdate:modelValue":T[1]||(T[1]=p=>u.value=p),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(I,{modelValue:u.value,"onUpdate:modelValue":T[2]||(T[2]=p=>u.value=p),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",Pf,[t.createVNode(na,{"default-redis-config-item":h.value,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"redis-type":e.field.redisType,"update-redis-model":N,onShowNewPartialModal:T[3]||(T[3]=p=>w.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",xf,[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,p=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:p.model},[y(p)?(t.openBlock(),t.createBlock(ea,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:p,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:V,onRefreshModel:U,onValidated:F},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),[["__scopeId","data-v-58023d89"]])},mixins:[pi],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 q(e.visible)?e.visible.call(this,this.model,e,this):te(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=z(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],o=[];fe(this.$refs.children,a=>{q(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()})}}},jf={key:0,class:"vue-form-generator"},$f={key:0};function zf(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",jf,[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:b=>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,b)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${b}`},[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,h,C,S;return[(u=m.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(h=m.slots)==null?void 0:h.beforeContent,{key:0}):t.createCommentVNode("",!0),m.fields.length===0&&((C=m.slots)!=null&&C.emptyState)?t.renderSlot(e.$slots,(S=m.slots)==null?void 0:S.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,y=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:y.model},[i.fieldVisible(y)?(t.openBlock(),t.createBlock(d,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:y,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-${b}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${b}-nested`]??!0?m.collapsible.nestedCollapsible.triggerLabel.expand:m.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":y=>a.collapseStates[`group-${b}-nested`]=y},{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,y=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:y.model},[y.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:a.errors,field:y,"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:N=>e.$emit("showNewPartialModal",y.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(y)?(t.openBlock(),t.createBlock(d,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:y,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",$f,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 W=K(Kf,[["render",zf]]),qf=[{label:"Kong Identity client",value:"kong-identity",description:"Match principals using a token claim, defaulting to the subject (sub) claim."},{label:"Custom claim",value:"custom-identity",description:"Match principals using a custom JWT claim."}],Hf=e=>e==null||e===""?!1:Array.isArray(e)?e.length>0:!0,Gf=e=>Hf(e["config-principals-principal_by"])?"custom-identity":"kong-identity",Yf={name:"PrincipalLookupSettings",props:{formModel:{type:Object,required:!0},onModelUpdated:{type:Function,required:!0},disabled:{type:Boolean,default:!1},showEnableToggle:{type:Boolean,default:!1},onEnabledChange:{type:Function,default:void 0},dataPlaneIncompatible:{type:Boolean,default:!1},showPrincipalsFields:{type:Boolean,default:!0}},data(){return{lookupMethodItems:qf,selectedLookupMethod:Gf(this.formModel)}},computed:{lookupEnabled(){return this.formModel["config-principals-enabled"]===!0},fieldsDisabled(){return this.disabled||!this.lookupEnabled},tokenClaimHelp(){const e="Use dot notation for nested claims (for example, workload.id); escape literal periods with \\ (for example, workload\\.id).";return this.selectedLookupMethod==="custom-identity"?`The token claim whose value is matched against the Custom identity name. Defaults to the subject (sub) claim, but you can specify a different claim if needed. ${e}`:`Defaults to the subject (sub) claim, but you can specify a different token claim if needed. ${e}`}},methods:{handleEnableToggle(e){this.onEnabledChange&&this.onEnabledChange(e)},getTokenClaimInputValue(){const e=this.formModel["config-principals-principal_claim"];return Array.isArray(e)&&e.length>0?e.map(n=>n.replace(/\./g,"\\.")).join("."):typeof e=="string"&&e?e:"sub"},handleTokenClaimChange(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()}}},Wf={key:1,class:"principals-field-group"},Zf={class:"principals-field-group"},Xf={class:"lookup-method-item"},Jf={class:"lookup-method-item-label"},Qf={class:"lookup-method-item-description"},ep={class:"principals-field-group"},tp={class:"principals-field-group"},np={class:"principals-field-group"};function op(e,n,o,r,a,i){const s=t.resolveComponent("KAlert"),d=t.resolveComponent("KLabel"),c=t.resolveComponent("KInputSwitch"),m=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput"),u=t.resolveComponent("KRadio"),h=t.resolveComponent("KCheckbox"),C=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(C,{class:"principals-advanced-settings","data-testid":"principals-advanced-settings","trigger-label":"Show additional settings"},{default:t.withCtx(()=>[o.showPrincipalsFields?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(e.$slots,"banner",{},void 0,!0),o.dataPlaneIncompatible?(t.openBlock(),t.createBlock(s,{key:0,appearance:"warning",class:"principals-dp-version-alert","data-testid":"oidc-principals-dp-version-alert",message:"We detected that one or more data plane nodes are running a version earlier than 3.15. If principal lookup is enabled, requests handled by those data plane nodes will fail.","show-icon":""})):t.createCommentVNode("",!0),o.showEnableToggle?(t.openBlock(),t.createElementBlock("div",Wf,[t.createVNode(c,{"data-testid":"use-principal-lookup",disabled:o.disabled,"model-value":i.lookupEnabled,"onUpdate:modelValue":i.handleEnableToggle},{label:t.withCtx(()=>[t.createVNode(d,{info:"Look up the authenticated principal in Kong Identity after token validation. Enable this when the validated token doesn’t contain all of the identity data required for authorization or activity logging.","tooltip-attributes":{maxWidth:"300"}},{default:t.withCtx(()=>[...n[6]||(n[6]=[t.createTextVNode(" Use principal lookup ",-1)])]),_:1})]),_:1},8,["disabled","model-value","onUpdate:modelValue"])])):t.createCommentVNode("",!0),t.createElementVNode("div",Zf,[t.createVNode(m,{class:"principals-lookup-method-select","data-testid":"principals-lookup-method",disabled:i.fieldsDisabled,help:"Principal lookup queries Kong Identity for the principal that matches the identity in a verified access token. This enables principal-aware policies and integrations. Requires all data plane nodes to be running version 3.15 or later.",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:S})=>[t.createElementVNode("div",Xf,[t.createElementVNode("div",Jf,t.toDisplayString(S.label),1),t.createElementVNode("div",Qf,t.toDisplayString(S.description),1)])]),_:1},8,["disabled","items","model-value","onUpdate:modelValue"]),a.selectedLookupMethod==="custom-identity"?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-custom-identity-name-input","data-testid":"principals-custom-identity-name",disabled:i.fieldsDisabled,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[0]||(n[0]=S=>i.updateField("config-principals-principal_by",S))},null,8,["disabled","model-value"])):t.createCommentVNode("",!0),t.createVNode(b,{class:"principals-token-claim-input","data-testid":"principals-token-claim",disabled:i.fieldsDisabled,help:i.tokenClaimHelp,label:"Token claim","model-value":i.getTokenClaimInputValue(),placeholder:"e.g., user.employee_id","onUpdate:modelValue":n[1]||(n[1]=S=>i.handleTokenClaimChange(S))},null,8,["disabled","help","model-value"])]),t.createElementVNode("div",ep,[t.createVNode(d,null,{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createTextVNode("If principal lookup fails",-1)])]),_:1}),t.createVNode(u,{"data-testid":"principals-error-on-miss-true",description:"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.",disabled:i.fieldsDisabled,label:"Reject the request","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!0,onChange:n[2]||(n[2]=S=>i.updateField("config-principals-error_on_miss",!0))},null,8,["disabled","model-value"]),t.createVNode(u,{"data-testid":"principals-error-on-miss-false",description:"Allow the request to continue without resolving a principal.",disabled:i.fieldsDisabled,label:"Continue without a principal","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!1,onChange:n[3]||(n[3]=S=>i.updateField("config-principals-error_on_miss",!1))},null,8,["disabled","model-value"])]),t.createElementVNode("div",tp,[t.createVNode(h,{"data-testid":"principals-match-consumer",disabled:i.fieldsDisabled,"model-value":o.formModel["config-principals-match_consumer"],"onUpdate:modelValue":n[4]||(n[4]=S=>i.handleMatchConsumerChange(S))},{description:t.withCtx(()=>[...n[8]||(n[8]=[t.createTextVNode(" Use the consumer linked to the authenticated principal so existing consumer-based plugins and policies continue to work. ",-1),t.createElementVNode("a",{class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer.",-1)])]),default:t.withCtx(()=>[n[9]||(n[9]=t.createTextVNode(" Use linked consumers ",-1))]),_:1},8,["disabled","model-value"])]),t.createElementVNode("div",np,[t.createVNode(h,{"data-testid":"principals-match-consumer-groups",disabled:i.fieldsDisabled||!o.formModel["config-principals-match_consumer"],"model-value":o.formModel["config-principals-match_consumer_groups"],"onUpdate:modelValue":n[5]||(n[5]=S=>i.updateField("config-principals-match_consumer_groups",S))},{description:t.withCtx(()=>[...n[10]||(n[10]=[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",{class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer group.",-1)])]),default:t.withCtx(()=>[n[11]||(n[11]=t.createTextVNode(" Use linked consumer groups ",-1))]),_:1},8,["disabled","model-value"])])],64)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3})}const ip=K(Yf,[["render",op],["__scopeId","data-v-009e7e95"]]),Bt="kong-identity",oa="external",ap="/v1/auth-servers/_computed",rp="identity.konghq",lp=e=>typeof e=="string"&&e.includes(rp),Fn={major:3,minor:15},sp=e=>{const[n,o]=e.split(".").map(Number);return Number.isNaN(n)||Number.isNaN(o)?!1:n!==Fn.major?n<Fn.major:o<Fn.minor},dp=(e,n)=>n?lp(e["config-issuer"])?Bt:oa:Bt,cp={name:"OIDCPrincipals",components:{VueFormGenerator:W,PrincipalLookupSettings:ip,AddIcon:ue.AddIcon,BookIcon:ue.BookIcon,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","click:learn-more","click:create-entity"],data(){const e=dp(this.formModel,this.isEditing);return{MODE_KONG_IDENTITY:Bt,MODE_EXTERNAL:oa,KUI_ICON_SIZE_20:Ki,KUI_ICON_SIZE_30:Em,KUI_ICON_SIZE_40:ji,selectedMode:e,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.hasAuthServersAccess&&!this.selectedServer||this.clientIdArray.length<=1},isKonnect(){var e;return((e=this.formsConfig)==null?void 0:e.app)==="konnect"},hasAuthServersAccess(){var e;return((e=this.formsConfig)==null?void 0:e.isKongIdentityAuthServersAvailable)!==!1},canCreateAuthServer(){var e;return((e=this.formsConfig)==null?void 0:e.canCreateAuthServer)!==!1},canCreateAuthServerClient(){var e;return((e=this.formsConfig)==null?void 0:e.canCreateAuthServerClient)!==!1},hasIncompatibleDataPlane(){var e;return(((e=this.formsConfig)==null?void 0:e.dataPlaneVersions)??[]).some(sp)},principalsEnabled(){return this.formModel["config-principals-enabled"]===!0},principalsGuideVisible(){var e;return this.isKonnect&&this.principalsEnabled&&((e=this.formsConfig)==null?void 0:e.principalsCreationGuideVisible)===!0},principalsSkeletonVisible(){var e;return this.isKonnect&&this.principalsEnabled&&((e=this.formsConfig)==null?void 0:e.principalsCreationGuideVisible)===void 0}},watch:{"formsConfig.principalsDirectoryName":{immediate:!0,handler(e){this.isEditing||this.selectedMode!==Bt||e==null||(this.formModel["config-principals-directory"]=e,this.onModelUpdated())}}},mounted(){this.isEditing||this.$nextTick(()=>this.$emit("mode-change",this.selectedMode)),this.fetchKongIdentityServers()},methods:{async fetchKongIdentityServers(){var e,n,o;if(((e=this.formsConfig)==null?void 0:e.isKongIdentityAuthServersAvailable)!==!1)try{this.kongIdentityServersLoading=!0;const{axiosInstance:r}=lt.useAxios((n=this.formsConfig)==null?void 0:n.axiosRequestConfig),a=`${this.formsConfig.apiBaseUrl}${ap}`,i=await r.get(a);this.kongIdentityServers=((o=i.data)==null?void 0:o.data)??[];const s=this.formModel["config-issuer"];if(s&&!this.selectedServer){const d=this.kongIdentityServers.find(c=>c.issuer===s)||null;d&&(this.restoringServer=!0,this.selectedServer=d,this.fetchClients(d.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)}))},updateField(e,n){this.formModel[e]=n,this.onModelUpdated()},sanitize(e){return En.sanitize(e)},handleUsePrincipalLookupChange(e){this.updateField("config-principals-enabled",e)},handleLeaveConfirmed(){var n;const e=this.leavePromptType;this.leavePromptType=null,e==="authServer"?this.$emit("click:create-entity",{type:"auth-server"}):e==="client"?this.$emit("click:create-entity",{type:"client",authServerId:(n=this.selectedServer)==null?void 0:n.id}):e==="principal"&&this.$emit("click:create-entity",{type:"principal"})},handleModeChange(e){var n;if(e===Bt){this.formModel["config-client_id"]=null,this.formModel["config-client_secret"]=null,this.formModel["config-issuer"]=null,this.formModel["config-principals-enabled"]=!1,this.formModel["config-principals-error_on_miss"]=!0,this.formModel["config-principals-match_consumer"]=!0,this.formModel["config-principals-match_consumer_groups"]=!0;const o=(n=this.formsConfig)==null?void 0:n.principalsDirectoryName;o!=null&&(this.formModel["config-principals-directory"]=o)}else 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)}}},mp={class:"oidc-principals-section","data-testid":"oidc-principals-section"},up={class:"principals-description"},fp={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},pp={class:"auth-mode-card-content"},hp={class:"auth-mode-card-content"},gp={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},yp={class:"principals-create-guide-actions"},bp={class:"principals-client-secret-wrapper"},_p=["disabled","onClick"],Ep={class:"external-client-field"},Cp=["innerHTML"],Sp={class:"external-client-field"},kp=["innerHTML"],Tp=["disabled","onClick"],wp={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Mp={class:"principals-create-guide-actions"};function Np(e,n,o,r,a,i){var w;const s=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KeyIcon"),c=t.resolveComponent("KRadio"),m=t.resolveComponent("WorldIcon"),b=t.resolveComponent("KSkeleton"),u=t.resolveComponent("AddIcon"),h=t.resolveComponent("KButton"),C=t.resolveComponent("BookIcon"),S=t.resolveComponent("KSelect"),y=t.resolveComponent("KInput"),N=t.resolveComponent("CloseIcon"),V=t.resolveComponent("PrincipalLookupSettings"),U=t.resolveComponent("VueFormGenerator"),F=t.resolveComponent("KPrompt");return t.openBlock(),t.createElementBlock("div",mp,[n[28]||(n[28]=t.createElementVNode("div",{class:"principals-header"}," Who should manage authentication and credentials? ",-1)),t.createElementVNode("div",up,[n[13]||(n[13]=t.createTextVNode(" Use External auth server to continue using your existing OAuth provider and authentication workflows. Use Kong Identity to adopt a newer principal-based model that centralizes and simplifies identity and authentication management. ",-1)),t.createVNode(s,{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[...n[12]||(n[12]=[t.createTextVNode(" Learn more. ",-1)])]),_:1})]),t.createElementVNode("div",fp,[t.createVNode(c,{modelValue:a.selectedMode,"onUpdate:modelValue":n[0]||(n[0]=T=>a.selectedMode=T),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",pp,[t.createVNode(d,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[14]||(n[14]=t.createElementVNode("div",{class:"auth-mode-card-label"}," Kong Identity ",-1)),n[15]||(n[15]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Use Kong Identity to authenticate OpenID Connect tokens. If all data plane nodes are running version 3.15 or later, you can also map requests to Kong Identity principals for advanced policies and integrations. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"]),t.createVNode(c,{modelValue:a.selectedMode,"onUpdate:modelValue":n[1]||(n[1]=T=>a.selectedMode=T),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":a.MODE_EXTERNAL,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",hp,[t.createVNode(m,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[16]||(n[16]=t.createElementVNode("div",{class:"auth-mode-card-label"}," External auth server ",-1)),n[17]||(n[17]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Connect to your existing identity provider to manage authentication outside of Kong. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"])]),i.principalsSkeletonVisible&&a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):i.principalsGuideVisible&&a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createElementBlock("div",gp,[n[20]||(n[20]=t.createElementVNode("div",{class:"principals-create-guide-title"}," Add principals ",-1)),n[21]||(n[21]=t.createElementVNode("div",{class:"principals-create-guide-description"}," Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products. ",-1)),t.createElementVNode("div",yp,[t.createVNode(h,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[2]||(n[2]=T=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(u,{decorative:""}),n[18]||(n[18]=t.createTextVNode(" Create principal ",-1))]),_:1}),t.createVNode(h,{appearance:"secondary","data-testid":"principals-learn-more",onClick:n[3]||(n[3]=T=>e.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(C,{decorative:""}),n[19]||(n[19]=t.createTextVNode(" Learn more ",-1))]),_:1})])])):t.createCommentVNode("",!0),a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[i.hasAuthServersAccess?(t.openBlock(),t.createBlock(S,{key:0,class:"principals-directory-select","data-testid":"principals-directory-select","enable-filtering":"",items:i.kongIdentityServerItems,label:"Authorization Server","label-attributes":{info:"The Kong Identity auth server that will act as the OpenID Connect provider for this plugin.",tooltipAttributes:{maxWidth:"300"}},loading:a.kongIdentityServersLoading,"model-value":(w=a.selectedServer)==null?void 0:w.id,placeholder:"Select an Authorization Server",required:"","onUpdate:modelValue":i.handleServerChange},t.createSlots({_:2},[i.canCreateAuthServer?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-auth-server-action",onClick:n[4]||(n[4]=t.withModifiers(T=>a.leavePromptType="authServer",["stop"]))},[t.createVNode(u,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[22]||(n[22]=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))])]),key:"0"}:void 0]),1032,["items","loading","model-value","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(y,{key:1,"data-testid":"kong-identity-issuer-input",help:"You don't have access to browse authorization servers. Enter the issuer URL of your Kong Identity authorization server directly.",label:"Authorization Server","label-attributes":{info:"The Kong Identity auth server that will act as the OpenID Connect provider for this plugin.",tooltipAttributes:{maxWidth:"300"}},"model-value":o.formModel["config-issuer"],placeholder:"e.g., https://your-auth-server.identity.konghq.com",required:"","onUpdate:modelValue":n[5]||(n[5]=T=>i.updateField("config-issuer",T))},null,8,["model-value"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(T,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(["client-row",{"client-row-with-label":g===0}])},[i.hasAuthServersAccess?(t.openBlock(),t.createBlock(S,{key:1,class:"principals-client-select","data-testid":"principals-client-select",disabled:!a.selectedServer,"enable-filtering":"",items:i.getClientItemsForRow(g),label:g===0?"Client":void 0,loading:a.clientsLoading,"model-value":T,placeholder:"Select a client","onUpdate:modelValue":E=>i.handleClientChange(g,E)},t.createSlots({_:2},[i.canCreateAuthServerClient?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-client-action",onClick:n[6]||(n[6]=t.withModifiers(E=>a.leavePromptType="client",["stop"]))},[t.createVNode(u,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[23]||(n[23]=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))])]),key:"0"}:void 0]),1032,["disabled","items","label","loading","model-value","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(y,{key:0,class:"principals-client-select","data-testid":"principals-client-id-input",label:g===0?"Client":void 0,"model-value":T,placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":E=>i.handleClientChange(g,E)},null,8,["label","model-value","onUpdate:modelValue"])),t.createElementVNode("div",bp,[t.createVNode(y,{class:"principals-client-secret","data-testid":"principals-client-secret",disabled:i.hasAuthServersAccess&&!a.selectedServer,label:g===0?"Client secret":void 0,"model-value":i.clientSecretArray[g],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":E=>i.handleClientSecretChange(g,E)},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:E=>i.handleClientSecretChange(g,E),value:i.clientSecretArray[g]},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:E=>i.removeClientRow(g)},[t.createVNode(N,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,_p)],2))),128)),t.createElementVNode("div",{class:t.normalizeClass(["add-client-inline",{"add-client-inline-disabled":i.hasAuthServersAccess&&!a.selectedServer}]),"data-testid":"add-client-action",onClick:n[7]||(n[7]=T=>i.hasAuthServersAccess&&!a.selectedServer?null:i.addClientRow())}," + Add client ",2),t.createVNode(V,{"data-plane-incompatible":i.hasIncompatibleDataPlane,"form-model":o.formModel,"on-enabled-change":i.handleUsePrincipalLookupChange,"on-model-updated":o.onModelUpdated,"show-enable-toggle":""},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"advanced-fields",{},void 0,!0)]),_:3},8,["data-plane-incompatible","form-model","on-enabled-change","on-model-updated"])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(T,g)=>{var E,I,O,p,_,k,B,x;return t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(["client-row",{"client-row-with-label":g===0}])},[t.createElementVNode("div",Ep,[t.createVNode(y,{class:"external-client-input","data-testid":"external-client-id",label:g===0?"Client id":void 0,"label-attributes":{info:(E=o.formOptions)!=null&&E.helpAsHtml||(I=i.externalClientIdField)==null?void 0:I.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientIdArray[g],placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":$=>i.handleClientChange(g,$)},t.createSlots({_:2},[(O=o.formOptions)!=null&&O.helpAsHtml&&((p=i.externalClientIdField)!=null&&p.help)?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientIdField.help)},null,8,Cp)]),key:"0"}:void 0]),1032,["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:$=>i.handleClientChange(g,$),value:i.clientIdArray[g]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",Sp,[t.createVNode(y,{class:"external-client-input","data-testid":"external-client-secret",label:g===0?"Client secret":void 0,"label-attributes":{info:(_=o.formOptions)!=null&&_.helpAsHtml||(k=i.externalClientSecretField)==null?void 0:k.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientSecretArray[g],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":$=>i.handleClientSecretChange(g,$)},t.createSlots({_:2},[(B=o.formOptions)!=null&&B.helpAsHtml&&((x=i.externalClientSecretField)!=null&&x.help)?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientSecretField.help)},null,8,kp)]),key:"0"}:void 0]),1032,["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:$=>i.handleClientSecretChange(g,$),value:i.clientSecretArray[g]},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:$=>i.removeClientRow(g)},[t.createVNode(N,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,Tp)],2)}),128)),t.createElementVNode("div",{class:"add-client-inline","data-testid":"add-external-client-action",onClick:n[8]||(n[8]=T=>i.addClientRow())}," + Add client "),t.createVNode(U,{model:o.formModel,options:o.formOptions,schema:i.issuerFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"]),t.createVNode(V,{"data-plane-incompatible":i.hasIncompatibleDataPlane,"form-model":o.formModel,"on-enabled-change":i.handleUsePrincipalLookupChange,"on-model-updated":o.onModelUpdated,"show-enable-toggle":""},{banner:t.withCtx(()=>{var T,g;return[i.isKonnect&&((T=i.formsConfig)==null?void 0:T.principalsCreationGuideVisible)===void 0?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):i.isKonnect&&((g=i.formsConfig)!=null&&g.principalsCreationGuideVisible)?(t.openBlock(),t.createElementBlock("div",wp,[n[26]||(n[26]=t.createElementVNode("div",{class:"principals-create-guide-title"}," Add principals ",-1)),n[27]||(n[27]=t.createElementVNode("div",{class:"principals-create-guide-description"}," Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products. Requires data plane nodes to be running version 3.15 or later. ",-1)),t.createElementVNode("div",Mp,[t.createVNode(h,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[9]||(n[9]=E=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(u,{decorative:""}),n[24]||(n[24]=t.createTextVNode(" Create principal ",-1))]),_:1}),t.createVNode(h,{appearance:"secondary","data-testid":"principals-learn-more",onClick:n[10]||(n[10]=E=>e.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(C,{decorative:""}),n[25]||(n[25]=t.createTextVNode(" Learn more ",-1))]),_:1})])])):t.createCommentVNode("",!0)]}),default:t.withCtx(()=>[t.renderSlot(e.$slots,"advanced-fields",{},void 0,!0)]),_:3},8,["data-plane-incompatible","form-model","on-enabled-change","on-model-updated"])],64)),t.createVNode(F,{"action-button-text":"Leave page",message:"Your unsaved changes will be lost if you continue.",title:"Leave this page?",visible:!!a.leavePromptType,onCancel:n[11]||(n[11]=T=>a.leavePromptType=null),onProceed:i.handleLeaveConfirmed},null,8,["visible","onProceed"])])}const Ap=K(cp,[["render",Np],["__scopeId","data-v-0f745511"]]),Ip={name:"OIDCAuthMethods",props:{authMethodItems:{type:Array,default:()=>[]},selectedAuthMethods:{type:Array,default:()=>[]},sessionManagement:{type:Boolean,default:!1},principalsMode:{type:String,default:null}},emits:["select","session-change"]},Vp={class:"oidc-auth-methods"},Op={class:"session-management-section"},Bp={class:"session-radio-group"};function Fp(e,n,o,r,a,i){const s=t.resolveComponent("KLabel"),d=t.resolveComponent("KMultiselect"),c=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Vp,[t.createVNode(s,null,{default:t.withCtx(()=>[...n[3]||(n[3]=[t.createTextVNode("Authentication methods",-1)])]),_:1}),(t.openBlock(),t.createBlock(d,{key:o.principalsMode,class:"auth-methods-multiselect","data-testid":"auth-methods-multiselect",items:o.authMethodItems,"model-value":o.selectedAuthMethods,placeholder:"Select authentication methods","onUpdate:modelValue":n[0]||(n[0]=m=>e.$emit("select",m))},null,8,["items","model-value"])),n[5]||(n[5]=t.createElementVNode("p",{class:"auth-methods-hint"}," Configure which OAuth and OpenID Connect features are supported. ",-1)),t.createElementVNode("div",Op,[t.createVNode(s,null,{default:t.withCtx(()=>[...n[4]||(n[4]=[t.createTextVNode("Session management",-1)])]),_:1}),t.createElementVNode("div",Bp,[t.createVNode(c,{"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","model-value":o.sessionManagement,"selected-value":!0,onChange:n[1]||(n[1]=m=>e.$emit("session-change",!0))},null,8,["model-value"]),t.createVNode(c,{"data-testid":"session-radio-no-use",description:"Authenticate each request using the configured authentication flow.",label:"Do not use sessions","model-value":o.sessionManagement,"selected-value":!1,onChange:n[2]||(n[2]=m=>e.$emit("session-change",!1))},null,8,["model-value"])])])])}const Rp=K(Ip,[["render",Fp],["__scopeId","data-v-8c1cdc7c"]]),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"]),Rn=["bearer","client_credentials","introspection","userinfo"],Dp="identity.konghq",Up=e=>typeof e=="string"&&e.includes(Dp),Lp={name:"OIDCForm",components:{VueFormGenerator:W,OIDCPrincipals:Ap,OIDCAuthMethods:Rp},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:()=>{}}},emits:["click:create-entity","click:learn-more"],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":Up(this.formModel["config-issuer"]))?this.authMethods.filter(o=>Rn.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}=Te.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,b,u,h;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 C of s.items.schema.fields)C.label=C.model;i.push({...s,link:this.openIdConnectJWKLink,newElementButtonLabel:"+ Add Client JWK",...Array.isArray((b=(m=s.items)==null?void 0:m.schema)==null?void 0:b.fields)&&s.items.schema.fields.map(C=>({...C,label:C.model}))});break}case"config-token_exchange-subject_token_issuers":{if(Array.isArray((h=(u=s.items)==null?void 0:u.schema)==null?void 0:h.fields)){const C=s.items.schema.fields,S=C.find(N=>N.model==="verify_signature"),y=C.find(N=>N.model==="jwks_uri");if(S&&(S.checkboxLabel=S.label,S.label=void 0,S.checkboxDescription=N=>N.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),y&&(y.visible=N=>N.verify_signature===!0),S&&y){const N=C.indexOf(S),V=C.indexOf(y);V!==N+1&&(C.splice(V,1),C.splice(N+1,0,y))}}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=Rn.includes(o.value);const n=[...Rn];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()}}}},Pp={class:"general-settings"},xp={class:"link-wrapper"},vp={class:"auth-method-container"},Kp={class:"general-settings"},jp={class:"link-wrapper"},$p={class:"general-settings"},zp={class:"link-wrapper"};function qp(e,n,o,r,a,i){const s=t.resolveComponent("VueFormGenerator"),d=t.resolveComponent("KExternalLink"),c=t.resolveComponent("OIDCAuthMethods"),m=t.resolveComponent("OIDCPrincipals"),b=t.resolveComponent("KLabel"),u=t.resolveComponent("KCheckbox"),h=t.resolveComponent("KInputSwitch"),C=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(C,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Pp,[t.createElementVNode("div",xp,[t.createVNode(d,{href:a.openIdConfigurationDocs},{default:t.withCtx(()=>[...n[4]||(n[4]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])]),_:1},8,["href"])]),n[6]||(n[6]=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(m,{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,"onClick:createEntity":n[0]||(n[0]=S=>e.$emit("click:create-entity",S)),"onClick:learnMore":n[1]||(n[1]=S=>e.$emit("click:learn-more",S)),onModeChange:i.handlePrincipalsModeChange},{"advanced-fields":t.withCtx(()=>[t.createVNode(c,{"auth-method-items":i.authMethodItems,"principals-mode":a.principalsMode,"selected-auth-methods":i.selectedAuthMethods,"session-management":a.sessionManagement,onSelect:i.handleAuthMethodsSelect,onSessionChange:i.handleSessionChange},null,8,["auth-method-items","principals-mode","selected-auth-methods","session-management","onSelect","onSessionChange"])]),_:1},8,["common-fields-schema","form-model","form-options","form-schema","is-editing","on-model-updated","onModeChange"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[i.displayForm?(t.openBlock(),t.createBlock(s,{key:0,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.createBlock(c,{key:1,"auth-method-items":i.authMethodItems,"principals-mode":a.principalsMode,"selected-auth-methods":i.selectedAuthMethods,"session-management":a.sessionManagement,onSelect:i.handleAuthMethodsSelect,onSessionChange:i.handleSessionChange},null,8,["auth-method-items","principals-mode","selected-auth-methods","session-management","onSelect","onSessionChange"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createVNode(b,null,{default:t.withCtx(()=>[...n[5]||(n[5]=[t.createTextVNode("Auth methods",-1)])]),_:1}),t.createElementVNode("div",vp,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,S=>(t.openBlock(),t.createElementBlock("div",{key:S.value,class:"auth-method"},[t.createVNode(u,{modelValue:S.prop,"onUpdate:modelValue":y=>S.prop=y,"data-testid":`auth-method-checkbox-${S.value}`,onChange:y=>i.handleUpdate(y,S.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(S.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","onChange"])]))),128))]),t.createVNode(h,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[2]||(n[2]=S=>a.sessionManagement=S),"data-testid":"session-management-switch",label:"Enable Session Management",onChange:i.handleUpdate},null,8,["modelValue","onChange"])],64))],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Kp,[t.createElementVNode("div",jp,[t.createVNode(d,{href:a.openIdAuthorizationDocs},{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])]),_:1},8,["href"])]),n[8]||(n[8]=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(S=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(S)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",$p,[t.createElementVNode("div",zp,[t.createVNode(d,{href:a.openIdConnectLink},{default:t.withCtx(()=>[...n[9]||(n[9]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])]),_:1},8,["href"])]),n[10]||(n[10]=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[3]||(n[3]=()=>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 Hp=K(Lp,[["render",qp],["__scopeId","data-v-e20914ca"]]),Gp=K(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(W,{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"]]),Yp=K(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(W,{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"]]),Wp={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}]},Zp={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}]},Xp={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}]},Jp={class:"general-settings"},Qp={class:"sub-form"},eh={class:"general-settings"},th={class:"sub-form"},nh={class:"general-settings"},oh=K(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 T;t.provide(ge,(T=t.useSlots())==null?void 0:T[et]);const n=e,o=t.ref("zeroSsl"),r=t.ref("shm"),a=t.computed(()=>{var E;const g={};if((E=n.formSchema)!=null&&E.fields)for(const I of n.formSchema.fields)g[I.model]=I;return g}),i=t.computed(()=>{var E;const g=Le(Wp);for(const I of g.fields){const O=(E=a.value[I.model])==null?void 0:E.help;I.help===void 0&&typeof O=="string"&&(I.help=O)}return g}),s=t.computed(()=>{var E;const g=Le(Zp);for(const I of g.fields){const O=(E=a.value[I.model])==null?void 0:E.help;I.help===void 0&&typeof O=="string"&&(I.help=O)}return g}),d=t.computed(()=>{var E;const g=Le(Xp);for(const I of g.fields){const O=(E=a.value[I.model])==null?void 0:E.help;I.help===void 0&&typeof O=="string"&&(I.help=O)}return g}),c=t.computed(()=>({fields:n.formSchema.fields.filter(g=>!g.model.startsWith("config")&&g.model!=="tags")})),m=t.computed(()=>({fields:i.value.fields.filter(E=>!s.value.fields.some(I=>I.model===E.model)&&!d.value.fields.some(I=>I.model===E.model))})),b=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"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-redis"))})),C=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-shm"))})),S=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-vault"))})),y=t.computed(()=>({fields:n.formSchema.fields.filter(g=>g.model.startsWith("config")&&!m.value.fields.filter(E=>E.model===g.model).length&&!b.value.fields.filter(E=>E.model===g.model).length||g.model==="tags")})),N=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),V=[{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 F=g=>{o.value=g.value,(g.value==="zeroSsl"||g.value==="other")&&(g.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),g.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},w=(g,E)=>{E==="config-storage"&&(r.value=g),n.onModelUpdated()};return(g,E)=>{const I=t.resolveComponent("KSelect"),O=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(W,{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(O,{tabs:V},{general:t.withCtx(()=>[t.createElementVNode("div",Jp,[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)),N.value?(t.openBlock(),t.createBlock(W,{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(I,{class:"issuer-select",items:U,label:"Issuer",onChange:F}),t.createElementVNode("div",Qp,[o.value==="letsEncrypt"?(t.openBlock(),t.createBlock(W,{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(W,{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",eh,[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)),N.value?(t.openBlock(),t.createBlock(W,{key:0,model:e.formModel,options:e.formOptions,schema:b.value,onModelUpdated:w},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",th,[r.value==="consul"?(t.openBlock(),t.createBlock(W,{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(W,{key:1,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="shm"?(t.openBlock(),t.createBlock(W,{key:2,model:e.formModel,options:e.formOptions,schema:C.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(W,{key:3,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",nh,[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)),N.value?(t.openBlock(),t.createBlock(W,{key:0,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),[["__scopeId","data-v-07cecf5b"]]),ih={class:"rla-form-basic-fields"},ah={class:"rla-form-request-limits-subtitle"},rh={class:"rla-form-request-limits-content"},lh={class:"rla-form-window-type"},sh=["innerHTML"],dh={class:"rla-form-window-type-radios"},ch={class:"rla-form-request-limits-items"},mh={class:"rla-form-request-limits-row"},uh=["id"],fh={class:"rla-form-request-limits-actions"},ph={key:0,class:"rla-form-request-limits-examples"},hh={class:"rla-form-request-limits-examples-badges"},gh=["innerHTML"],yh={id:"rla-form-error-legend",class:"rla-form-error-inputs"},bh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:oh,ExitTransformer:Yp,OIDCForm:Hp,PostFunction:Gp,RLAForm:K(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 O;t.provide(ge,(O=t.useSlots())==null?void 0:O[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)),g&&en?k(ae):ae},n.setConfig=function(){let A=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Zn(A),Pn=!0,xn=X,vn=J},n.clearConfig=function(){_t=null,Pn=!1,xn=null,vn=null,g=I,E=""},n.isValidAttribute=function(A,l,f){_t||Zn({});const M=ee(A),R=ee(l);return Va(M,R,f)},n.addHook=function(A,l){typeof l=="function"&&re(D,A)&&ct(D[A],l)},n.removeHook=function(A,l){if(re(D,A)){if(l!==void 0){const f=Wl(D[A],l);return f===-1?void 0:Zl(D[A],f,1)[0]}return Ao(D[A])}},n.removeHooks=function(A){re(D,A)&&(D[A]=[])},n.removeAllHooks=function(){D=xo()},n}var En=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 ks(e){return this.__data__.has(e)}var Ts=200;function ws(e,n){var o=this.__data__;if(o instanceof Re){var r=o.__data__;if(!Tt||r.length<Ts-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=ks,mt.prototype.set=ws;var Gt=function(){try{var e=Je(Object,"defineProperty");return e({},"",{}),e}catch{}}();function Ko(e,n,o){n=="__proto__"&&Gt?Gt(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))&&Ko(e,n,o)}function Yt(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?Ko(o,d,c):jo(o,d,c)}return o}function As(e,n){return e&&Yt(n,vt(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 xt(e)?ho(e,!0):Bs(e)}function Fs(e,n){return e&&Yt(n,Wt(n),e)}var $o=typeof P=="object"&&P&&!P.nodeType&&P,zo=$o&&typeof module=="object"&&module&&!module.nodeType&&module,Rs=zo&&zo.exports===$o,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 Go(){return[]}var Ps=Object.prototype,xs=Ps.propertyIsEnumerable,Yo=Object.getOwnPropertySymbols,Cn=Yo?function(e){return e==null?[]:(e=Object(e),Ls(Yo(e),function(n){return xs.call(e,n)}))}:Go;function vs(e,n){return Yt(e,Cn(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=go(Object.getPrototypeOf,Object),Ks=Object.getOwnPropertySymbols,Xo=Ks?function(e){for(var n=[];e;)Wo(n,Cn(e)),e=Zo(e);return n}:Go;function js(e,n){return Yt(e,Xo(e),n)}function Jo(e,n,o){var r=n(e);return je(e)?r:Wo(r,o(e))}function $s(e){return Jo(e,vt,Cn)}function zs(e){return Jo(e,Wt,Xo)}var Sn=Je(Se,"DataView"),kn=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(Sn),Gs=Xe(Tt),Ys=Xe(kn),Ws=Xe(ut),Zs=Xe(Tn),Ue=ve;(Sn&&Ue(new Sn(new ArrayBuffer(1)))!=oi||Tt&&Ue(new Tt)!=Qo||kn&&Ue(kn.resolve())!=ei||ut&&Ue(new ut)!=ti||Tn&&Ue(new Tn)!=ni)&&(Ue=function(e){var n=ve(e),o=n==qs?e.constructor:void 0,r=o?Xe(o):"";if(r)switch(r){case Hs:return oi;case Gs:return Qo;case Ys: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 wn(e){var n=new e.constructor(e.byteLength);return new ii(n).set(new ii(e)),n}function ed(e,n){var o=n?wn(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=xe?xe.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?wn(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]",pd="[object DataView]",hd="[object Float32Array]",gd="[object Float64Array]",yd="[object Int8Array]",bd="[object Int16Array]",_d="[object Int32Array]",Ed="[object Uint8Array]",Cd="[object Uint8ClampedArray]",Sd="[object Uint16Array]",kd="[object Uint32Array]";function Td(e,n,o){var r=e.constructor;switch(n){case fd:return wn(e);case ad:case rd:return new r(+e);case pd:return ed(e,o);case hd:case gd:case yd:case bd:case _d:case Ed:case Cd:case Sd:case kd: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 Ke(e)&&Ue(e)==Nd}var si=st&&st.isMap,Id=si?ln(si):Ad,Vd="[object Set]";function Od(e){return Ke(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]",xd="[object Error]",mi="[object Function]",vd="[object GeneratorFunction]",Kd="[object Map]",jd="[object Number]",ui="[object Object]",$d="[object RegExp]",zd="[object Set]",qd="[object String]",Hd="[object Symbol]",Gd="[object WeakMap]",Yd="[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]",H={};H[ci]=H[Ud]=H[Yd]=H[Wd]=H[Ld]=H[Pd]=H[Zd]=H[Xd]=H[Jd]=H[Qd]=H[ec]=H[Kd]=H[jd]=H[ui]=H[$d]=H[zd]=H[qd]=H[Hd]=H[tc]=H[nc]=H[oc]=H[ic]=!0,H[xd]=H[mi]=H[Gd]=!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 b=je(e);if(b){if(s=Qs(e),!d)return Us(e,s)}else{var u=Ue(e),h=u==mi||u==vd;if(co(e))return Ds(e,d);if(u==ui||u==ci||h&&!a){if(s=c||h?{}:Md(e),!d)return c?js(e,Fs(s,e)):vs(e,As(s,e))}else{if(!H[u])return a?e:{};s=Td(e,u,d)}}i||(i=new mt);var C=i.get(e);if(C)return C;i.set(e,s),Bd(e)?e.forEach(function(N){s.add(It(N,n,o,N,e,i))}):Id(e)&&e.forEach(function(N,V){s.set(V,It(N,n,o,V,e,i))});var S=m?c?zs:$s:c?Wt:vt,y=b?void 0:S(e);return eo(y||e,function(N,V){y&&(V=N,N=e[V]),jo(s,V,It(N,n,o,V,e,i))}),s}var ac=1,rc=4;function Le(e){return It(e,ac|rc)}const Mn=(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)&&Ke(e)&&ve(e)==lc}const pi={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,o={[z(this.options,"validationErrorClass","error")]:n,[z(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),te(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 q(e.disabled)?e.disabled.call(this,this.model,e,this):te(e.disabled)?!1:e.disabled},fieldReadonly(e){return q(e.readonly)?e.readonly.call(this,this.model,e,this):te(e.readonly)?!1:e.readonly},fieldFeatured(e){return q(e.featured)?e.featured.call(this,this.model,e,this):te(e.featured)?!1:e.featured},fieldRequired(e){return q(e.required)?e.required.call(this,this.model,e,this):te(e.required)?!1:e.required}}};var Nn=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 hi=NaN,uc=/^[-+]0x[0-9a-f]+$/i,fc=/^0b[01]+$/i,pc=/^0o[0-7]+$/i,hc=parseInt;function An(e){if(typeof e=="number")return e;if(Kt(e))return hi;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||pc.test(e)?hc(e.slice(2),o?2:8):uc.test(e)?hi:+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,b=!1,u=!1,h=!0;if(typeof e!="function")throw new TypeError(gc);n=An(n)||0,_e(o)&&(b=!!o.leading,u="maxWait"in o,i=u?yc(An(o.maxWait)||0,n):i,h="trailing"in o?!!o.trailing:h);function C(g){var E=r,I=a;return r=a=void 0,m=g,s=e.apply(I,E),s}function S(g){return m=g,d=setTimeout(V,n),b?C(g):s}function y(g){var E=g-c,I=g-m,O=n-E;return u?bc(O,i-I):O}function N(g){var E=g-c,I=g-m;return c===void 0||E>=n||E<0||u&&I>=i}function V(){var g=Nn();if(N(g))return U(g);d=setTimeout(V,y(g))}function U(g){return d=void 0,h&&r?C(g):(r=a=void 0,s)}function F(){d!==void 0&&clearTimeout(d),m=0,r=c=a=d=void 0}function w(){return d===void 0?s:U(Nn())}function T(){var g=Nn(),E=N(g);if(r=arguments,a=this,c=g,E){if(d===void 0)return S(c);if(u)return clearTimeout(d),d=setTimeout(V,n),C(c)}return d===void 0&&(d=setTimeout(V,n)),s}return T.cancel=F,T.flush=w,T}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 kc(e){return e!==e}function Tc(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?Tc(e,n,o):Sc(e,kc,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 b=e[r],u=b;if(b=b!==0?b:0,s&&u===u){for(var h=c.length;h--;)if(c[h]===u)continue e;d.push(b)}else a(c,u,o)||(c!==d&&c.push(u),d.push(b))}return d}function yi(e){return e&&e.length?Bc(e):[]}var Fc=0;function bi(e){var n=++Fc;return Co(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 ki=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ti=["January","February","March","April","May","June","July","August","September","October","November","December"],Uc=Ci(Ti,3),Lc=Ci(ki,3),wi={dayNamesShort:Lc,dayNames:ki,monthNamesShort:Uc,monthNames:Ti,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},xc={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}],vc={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"},Kc=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 xc[i](e,a)}),n.replace(/@@@/g,function(){return r.shift()})};function $c(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(w,T){return s.push(Mi(T)),"@@@"}),c={},m={};d=Mi(d).replace(_i,function(w){var T=vc[w],g=T[0],E=T[1],I=T[3];if(c[g])throw new Error("Invalid format. "+g+" specified twice in format");return c[g]=!0,I&&(m[I]=!0),i.push(T),"("+E+")"}),Object.keys(m).forEach(function(w){if(!c[w])throw new Error("Invalid format. "+w+" is required in specified format")}),d=d.replace(/@@@/g,function(){return s.shift()});var b=e.match(new RegExp(d,"i"));if(!b)return null;for(var u=ot(ot({},Xt),o),h=1;h<b.length;h++){var C=i[h-1],S=C[0],y=C[2],N=y?y(b[h],u):+b[h];if(N==null)return null;a[S]=N}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var V;if(a.timezoneOffset==null){V=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"]],h=0,F=U.length;h<F;h++)if(c[U[h][0]]&&a[U[h][0]]!==V[U[h][1]]())return null}else if(V=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 V}var pt={format:jc,parse:$c,defaultI18n:wi,setGlobalDateI18n:Pc,setGlobalDateMasks:Kc};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 Gc=Gt?function(e,n){return Gt(e,"toString",{configurable:!0,enumerable:!1,value:Hc(n),writable:!0})}:cn,Yc=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>=Yc)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var Jc=Xc(Gc);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"?xt(o)&&mo(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],b=e[m];(b===void 0||jt(b,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=An(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 In(e){return typeof e=="number"||Ke(e)&&ve(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:ne}=be.createI18n("en-us",Ce),me={fieldIsRequired:ne("validators.field_is_required"),invalidFormat:ne("validators.invalid_format"),numberTooSmall:ne("validators.number_too_small"),numberTooBig:ne("validators.number_too_large"),invalidNumber:ne("validators.invalid_number"),invalidInteger:ne("validators.invalid_integer"),textTooSmall:ne("validators.text_too_short"),textTooBig:ne("validators.text_too_long"),thisNotText:ne("validators.this_not_text"),thisNotArray:ne("validators.this_not_array"),selectMinItems:ne("validators.select_min_items"),selectMaxItems:ne("validators.select_max_items"),invalidDate:ne("validators.invalid_date"),dateIsEarly:ne("validators.date_is_early"),dateIsLate:ne("validators.date_is_late"),invalidEmail:ne("validators.invalid_email"),invalidURL:ne("validators.invalid_url"),invalidCard:ne("validators.invalid_card"),invalidCardNumber:ne("validators.invalid_card_number"),invalidTextContainNumber:ne("validators.invalid_text_contain_number"),invalidTextContainSpec:ne("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},ke=(e,n,o=me)=>te(e)||e===""?n?[Y(o.fieldIsRequired)]:[]:null,it={required:(e,n,o,r=me)=>ke(e,n.required,r)||[],number:(e,n,o,r=me)=>{let a=ke(e,n.required,r);return a!=null||(a=[],Ri(e)?(!te(n.min)&&e<n.min,(r=me)&&a.push(Y(r.numberTooSmall,n.min)),!te(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=ke(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=ke(e,n.required,r);return a??(!In(e)||isNaN(e)?[Y(r.invalidNumber)]:[])},string:(e,n,o,r=me)=>{let a=ke(e,n.required,r);return a!=null||(a=[],nt(e)?(!te(n.min)&&e.length<n.min&&a.push(Y(r.textTooSmall,e.length,n.min)),!te(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(!te(e)){if(!te(n.min)&&e.length<n.min)return[Y(r.selectMinItems,n.min)];if(!te(n.max)&&e.length>n.max)return[Y(r.selectMaxItems,n.max)]}return[]},date:(e,n,o,r=me)=>{let a=ke(e,n.required,r);if(a!=null)return a;a=[];const i=new Date(e);if(isNaN(i.getDate()))return[Y(r.invalidDate)];if(!te(n.min)){const s=new Date(n.min);i.valueOf()<s.valueOf()&&a.push(Y(r.dateIsEarly,pt.format(i),pt.format(s)))}if(!te(n.max)){const s=new Date(n.max);i.valueOf()>s.valueOf()&&a.push(Y(r.dateIsLate,pt.format(i),pt.format(s)))}return a},regexp:(e,n,o,r=me)=>{const a=ke(e,n.required,r);return a??(!te(n.pattern)&&!new RegExp(n.pattern).test(e)?[Y(r.invalidFormat)]:[])},email:(e,n,o,r=me)=>{const a=ke(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=ke(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=ke(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,b;for(let u=s.length-1;u>=0;u--)c=s.substring(u,u+1),m=parseInt(c,10),b?(m*=2,m>=10?d+=m%10+1:d+=m):d+=m,b=!b;return d%10===0&&s?[]:[Y(r.invalidCardNumber)]},alpha:(e,n,o,r=me)=>{const a=ke(e,n.required,r);return a??(/^[a-zA-Z]*$/.test(e)?[]:[Y(r.invalidTextContainNumber)])},alphaNumeric:(e,n,o,r=me)=>{const a=ke(e,n.required,r);return a??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Y(r.invalidTextContainSpec)])}};Object.keys(it).forEach(e=>{const n=it[e];q(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 Vn(e,n,o){let r=z(o.context,"schema.attributes",{});const a=n.value||"input";nt(a)&&(r=z(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:Vn,updated:Vn,componentUpdated:Vn}},computed:{value:{cache:!1,get(){let e;return q(z(this.schema,"get"))?e=this.schema.get(this.model):e=z(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),q(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=z(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&&q(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)}),q(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(){q(this.debouncedValidateFunc)||(this.debouncedValidateFunc=ft(this.validate.bind(this),z(this.schema,"validateDebounceTime",z(this.formOptions,"validateDebounceTime",500)))),this.debouncedValidateFunc()},updateModelValue(e,n){let o=!1;q(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),q(this.schema.onChanged)&&this.schema.onChanged.call(this,this.model,e,n,this.schema),z(this.formOptions,"validateAfterChanged",!1)===!0&&(z(this.schema,"validateDebounceTime",z(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=z(this.formOptions,"fieldIdPrefix","");return Mn(e,o)+(n?"-"+bi():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return z(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},dm=Object.freeze(Object.defineProperty({__proto__:null,default:Ne},Symbol.toStringTag,{value:"Module"})),K=(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=K(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(W,{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=K(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"]]),pm={class:"array-item-wrapper"},hm={class:"array-item"},gm={class:"array-item-after"},Pi=K(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",pm,[t.createElementVNode("div",hm,[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"},xi=K(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 vi(e){return It(e,bm)}const _m="#6c7489",Ki="12px",Em="16px",ji="20px",Cm=["data-testid","data-testlabel"],Sm={class:"item-label"},km={class:"autosuggest__results_message"},Tm=K(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",km,[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}",On=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,$i=K(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(p,_)=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),[];const{data:k}=await n.getAllV2(e.entity,{name:p,size:Fm},_);return k.data},r=async p=>n?n.peek(e.entity,p):(console.warn("[@kong-ui-public/forms] No API service provided"),Promise.resolve({data:{data:[]}})),a=async p=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),{id:p};const _=await n.getOne(e.entity,p,{validateStatus:k=>k>=200&&k<300||k===404});if(_.status===404)throw new Error(`Entity of type ${e.entity} with id ${p} not found`);return _.data},i=e.transformItem??(p=>({...p,label:p[e.labelField],value:p.id})),s=t.ref(""),d=t.ref(!1),c=t.ref(!1),m=t.ref(""),b=t.ref([]),u=t.ref([]),h=t.ref([]),{t:C}=be.createI18n("en-us",Ce),S=t.ref(null);let y=null;const N=async(p,_)=>{if(!e.fieldDisabled){clearTimeout(y),y=setTimeout(()=>{d.value=!0},1500);try{const k=await p();u.value=k,b.value=u.value.map(i)}catch(k){if(_!=null&&_.aborted)return;if(b.value=[],Fa.isAxiosError(k)&&k.status===404){console.warn("unable to search with UUID",m.value,"for entity type",e.entity);return}s.value=k.message}finally{clearTimeout(y),d.value=!1}}},V=ft(p=>{if(p=p||"",m.value=p,!p.trim()&&!c.value){b.value=E(h.value);return}S.value&&S.value.abort();const _=new AbortController;if(S.value=_,c.value){O(p);return}T(p,_)},Om,{leading:!0}),U=async(p,_)=>await o(p,_),F=async()=>{const{data:{data:p,next:_,offset:k}}=await r(Bm);return(!_||!k)&&(c.value=!0),u.value=p,h.value=p.map(B=>({...i(B),group:C("fields.auto_suggest.recently_created",{entity:e.entity})})),p},w=async p=>[await a(p)],T=(p,_)=>{On(p)&&e.allowUuidSearch?N(async()=>await w(p)):N(async()=>await U(p,_.signal),_.signal)},g=p=>{let _=[];_=E(h.value),p!=null&&p.trim()?b.value=_.filter(k=>e.fields.some(B=>(k[B]||"").includes(p))):b.value=_},E=p=>e.selectedItem?p.some(_=>_.value===e.selectedItem.value)?p:[e.selectedItem,...p]:p,I=p=>{b.value=h.value.filter(_=>_.id===p)},O=p=>{On(p)&&e.allowUuidSearch?I(p):g(p)};return t.onMounted(async()=>{await N(F);const p=t.watch(()=>e.selectedItem,_=>{_&&(b.value=E(h.value)),p()});b.value=E(h.value)}),(p,_)=>(t.openBlock(),t.createBlock(Tm,{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:b.value,onChange:_[0]||(_[0]=k=>p.$emit("change",k)),onQueryChange:t.unref(V)},{before:t.withCtx(()=>[t.renderSlot(p.$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:k})=>[t.renderSlot(p.$slots,"selected-item",{item:k},()=>[t.createElementVNode("span",Mm,[t.createElementVNode("span",Nm,t.toDisplayString(k.label??k.id),1)])],!0)]),item:t.withCtx(({item:k})=>[t.renderSlot(p.$slots,"item",{item:k},()=>[t.createElementVNode("div",Am,[t.createElementVNode("span",Im,t.toDisplayString(k.label??t.unref(ko)),1),t.createElementVNode("span",Vm,t.toDisplayString(k.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:$i},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=K(Rm,[["render",Dm],["__scopeId","data-v-9ab50e80"]]),Bn=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;On(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<Bn;){const r=await this[Ee].getAll(this.entity,{size:Bn,offset:o,...e});if(n.push(...r.data.data),o=r.data.offset,!o)break}return n.slice(0,Bn)},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"],xm={class:"autosuggest__results_message"};function vm(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",xm,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Hi=K(Um,[["render",vm],["__scopeId","data-v-433129a3"]]);function Km(e){const n=t.ref([]),o=t.ref(null),r=y=>nt(y)?it[y]!=null?it[y]:(console.warn(`'${y}' is not a validator function!`),null):y,a=t.computed({get(){var N,V;let y;return q(z(e.schema,"get"))?y=e.schema.get((N=e.model)==null?void 0:N.value):y=z((V=e.model)==null?void 0:V.value,e.schema.model),C(y)},set(y){const N=a;y=S(y),q(y)?y(y,N):d(y,N)}}),i=y=>{var F;c();const N=z(e.formOptions,"validateAsync",!1);let V=[];if(e.schema.readonly!==!0&&e.disabled!==!0){const w=[],T=(F=e.schema)==null?void 0:F.validator;T&&(Array.isArray(T)?fe(T,g=>{w.push(r(g))}):w.push(r(T))),q(e.externalValidator)&&w.push(e.externalValidator),fe(w,g=>{var E,I;if(N)V.push(g(a.value,e.schema,(E=e.model)==null?void 0:E.value));else{const O=g(a.value,e.schema,(I=e.model)==null?void 0:I.value);O&&q(O.then)?O.then(p=>{p&&(n.value=n.value.concat(p));const _=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:_,errors:n.value,field:e.schema})}):O&&(V=V.concat(O))}})}const U=w=>{var g,E;let T=[];if(fe(yi(w),I=>{Array.isArray(I)&&I.length>0?T=T.concat(I):nt(I)&&T.push(I)}),q((g=e.schema)==null?void 0:g.onValidated)&&e.schema.onValidated((E=e.model)==null?void 0:E.value,T,e.schema),!y){const I=T.length===0;e.emitValidated&&e.emitValidated({isValid:I,errors:T,field:e.schema})}return w=T,T};return N?Promise.all(V).then(U):U(V)},s=()=>{q(o.value)?o.value():o.value=ft(i,z(e.schema,"validateDebounceTime",z(e.formOptions,"validateDebounceTime",500)))},d=(y,N)=>{var U,F,w;let V=!1;q(e.schema.set)?(e.schema.set((U=e.model)==null?void 0:U.value,y),V=!0):e.schema.model&&(m(e.schema.model,y),V=!0),V&&(e.emitModelUpdated&&((F=e.model)!=null&&F.value)&&e.emitModelUpdated({value:y,model:e.schema.model}),q(e.schema.onChanged)&&e.schema.onChanged((w=e.model)==null?void 0:w.value,y,N,e.schema),z(e.formOptions,"validateAfterChanged",!1)===!0&&(z(e.schema,"validateDebounceTime",z(e.formOptions,"validateDebounceTime",0))>0?s():i()))},c=()=>{n.value.splice(0)},m=(y,N)=>{var g;let V=y.replace(/\[(\w+)\]/g,".$1");V=V.replace(/^\./,"");let U=((g=e.model)==null?void 0:g.value)||{},F=0;const w=V.split("."),T=w.length;for(;F<T;){const E=w[F];if(F<T-1)U[E]!==void 0||(U[E]={}),U=U[E];else{U[E]=N;return}++F}},b=(y,N=!1)=>{const V=z(e.formOptions,"fieldIdPrefix","");return Mn(y,V)+(N?"-"+bi():"")},u=y=>`${b(y)}-label`,h=()=>z(e.schema,"fieldClasses",[]),C=y=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(y):y,S=y=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(y):y;return{value:a,clearValidationErrors:c,getFieldID:b,getLabelId:u,getFieldClasses:h,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 $m(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 Te={useAbstractFields:Km,useRedisPartial:jm,useRedisNonStandardFields:$m},zm={class:"form-field-wrapper"},Gi=K(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:b}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:F=>{a("modelUpdated",F.value,F.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{var w,T;const F=(w=r.schema)==null?void 0:w.inputType.toLowerCase();if(F==="number"&&((T=r.schema)==null?void 0:T.referenceable)===!0)return"text";switch(F){case"string":return"text";case"datetime":return"datetime-local";default:return F||"text"}}),h={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},C=(F,w)=>{var I,O;let T=F;const g=h[u.value]||"",E=pt.parse(F,g);E&&((I=r.schema)!=null&&I.format?T=pt.format(E,(O=r.schema)==null?void 0:O.format):T=E.valueOf()),d(T,w)},S=(F,w)=>{In(F)||(F=NaN),d(F,w)},y=F=>{let w=F;switch(r.schema.inputType){case"number":case"range":Ri(parseFloat(F))&&(w=parseFloat(F));break}b.value=w,d(w,F)},N=F=>{b.value=F,d(F,F)},V=t.ref(null),U=()=>{var F;q(V.value)&&((F=V.value)==null||F.flush())};return t.onMounted(()=>{switch(u.value){case"number":case"range":V.value=ft((F,w)=>{S(F,w)},parseInt(z(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":V.value=ft((F,w)=>{C(F,w)},parseInt(z(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.")}),(F,w)=>{const T=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",zm,[t.createVNode(T,t.mergeProps(F.$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(b):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(b),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":y}),null,16,["id","autocomplete","class","disabled","help","max","maxlength","min","minlength","model-value","name","pattern","placeholder","readonly","required","show-password-mask-toggle","type","width"]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(s)),{schema:e.schema,update:N,value:t.unref(b)},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 Gm(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 Yi=K(qm,[["render",Gm]]),Ym={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=K(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",Ym,[n.schema.schema?(t.openBlock(),t.createBlock(W,{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"],pu={key:0,class:"hint"},Zi=K(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(b=>b.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(W,{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",pu,t.toDisplayString(n.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,iu)}}}),[["__scopeId","data-v-0faeec4d"]]),hu={class:"radio-selection-group"},Xi=K(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}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:b=>{a("modelUpdated",b.value,b.model)}});n({clearValidationErrors:c});const m=b=>{let u=b;typeof b=="string"&&(u=b.split(","),r.schema.array||(u=u.toString())),s(u,b)};return(b,u)=>{const h=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",hu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(C,S)=>(t.openBlock(),t.createBlock(h,{id:e.schema.name+"-"+S,key:C.value,modelValue:t.unref(d),"onUpdate:modelValue":u[0]||(u[0]=y=>t.isRef(d)?d.value=y:null),label:C.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":C.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=y=>te(y)?null:y,d=t.toRefs(r),{getFieldID:c,clearValidationErrors:m,value:b}=Te.useAbstractFields({model:d.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,emitModelUpdated:y=>{a("modelUpdated",y.value,y.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{const y=r.schema.values;return h(typeof y=="function"?y.apply(this,[r.model,r.schema]):y)}),h=y=>{const N=[];return y.forEach(V=>{N.push({label:S(V),value:C(V),disabled:typeof V=="object"&&V.disabled||void 0,group:typeof V=="object"&&String(V.group||"").toUpperCase()||void 0})}),N},C=y=>{if(_e(y)){if(i.value&&typeof i.value.value<"u")return y[i.value.value];if(typeof y.id<"u")return String(y.id);throw new Error("`id` is not defined. If you want to use another key name, add a `value` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return y},S=y=>{if(_e(y)){if(i.value&&typeof i.value.name<"u")return y[i.value.name];if(typeof y.name<"u")return String(y.name);throw new Error("`name` is not defined. If you want to use another key name, add a `name` property under `selectOptions` in the schema. https://icebob.gitbooks.io/vueformgenerator/content/fields/select.html#select-field-with-object-items")}else return String(y)};return(y,N)=>{const V=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(V,{id:t.unref(c)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":N[0]||(N[0]=U=>t.isRef(b)?b.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=K(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}=Te.useAbstractFields({model:t.toRef(()=>e.model),schema:e.schema,formOptions:e.formOptions,emitModelUpdated:C=>{r("modelUpdated",C.value,C.model)}});n({clearValidationErrors:d});const m=t.ref("");function b(C){return Array.isArray(C)?C.map(S=>String(S).trim()).filter(Boolean).join(", "):""}function u(C){return C?C.trim().split(",").map(S=>S.trim()).filter(Boolean):[]}function h(C){m.value=C;const S=u(C);a(S,c.value)}return t.watch(c,C=>{const S=C?b(C):"";b(u(m.value))!==S&&(m.value=S)},{immediate:!0}),(C,S)=>{const y=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",gu,[t.createVNode(y,t.mergeProps(C.$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":h}),null,16,["id","aria-labelledby","class","model-value","placeholder"])])}}}),[["__scopeId","data-v-cf2eff67"]]),yu={name:"FieldArray",components:{FieldArrayItem:Pi,FieldArrayMultiItem:xi,FieldSelect:Ji,FieldMetric:Yi,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldRadio:Xi,FieldArrayCardContainer:Li,FieldInput:Gi,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,b;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,h)=>{const C=n.schema.fields[h];C&&Object.keys(C).forEach(S=>{typeof C[S]=="function"&&(u[S]=C[S])})})),(b=(m=(c=r.schema)==null?void 0:c.fields)==null?void 0:m.map)==null||b.call(m,u=>(u.id=`${u.id||u.model}-${o}`,u))),{...r,set(u,h){e[o]=h},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"&&In(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 ku(e,n,o,r,a,i){const s=t.resolveComponent("FieldStringArray"),d=t.resolveComponent("TrashIcon"),c=t.resolveComponent("KButton"),m=t.resolveComponent("KTextArea"),b=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,h)=>(t.openBlock(),t.createElementBlock("div",{key:h,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(h),onModelUpdated:C=>i.handleStringArrayUpdate(C,h)},null,8,["form-options","model","schema","onModelUpdated"]),t.createVNode(c,{appearance:"tertiary",class:"string-array-remove-btn",icon:"",onClick:C=>i.removeElement(h)},{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:h,model:u,schema:i.generateSchema(e.value,e.schema.items,h),onRemoveItem:C=>i.removeElement(h)},{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,h),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,h),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-${h}`,model:u,schema:i.generateSchema(e.value,e.schema.items,h),onRemoveItem:C=>i.removeElement(h)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:C=>e.value[h]=C,value:e.value[h]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>{var C;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[h],"onUpdate:modelValue":S=>e.value[h]=S,"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(b,t.mergeProps({key:1,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{"model-value":e.value[h],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:S=>{i.handleInput(S,h)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":S=>e.value[h]=S,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{type:((C=e.schema.inputAttributes)==null?void 0:C.type)||"text"}),null,16,Cu)),[[t.vModelDynamic,e.value[h]]])]}),_: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":C=>e.value[h]=C,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Su),[[t.vModelText,e.value[h]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:C=>e.value[h]=C,value:e.value[h]},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 Tu=K(yu,[["render",ku],["__scopeId","data-v-64e1f575"]]),wu={class:"form-field-wrapper field-checkbox"},Mu=["innerHTML"],Nu=K(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}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}}),m=t.computed(()=>r.schema.help?En.sanitize(r.schema.help.replace(/<\/?p>/g,"").trim()):""),b=t.computed(()=>{const u=r.schema.checkboxDescription;return typeof u=="function"?u(r.model)||void 0:u||void 0});return n({clearValidationErrors:c}),(u,h)=>{const C=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",wu,[t.createVNode(C,t.mergeProps(u.$attrs,{id:t.unref(s)(e.schema),modelValue:t.unref(d),"onUpdate:modelValue":h[0]||(h[0]=S=>t.isRef(d)?d.value=S:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,description:b.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=K({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((te(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const o=vi(this.value);o.push(this.getItemValue(n)),this.value=o}else{const o=vi(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"},xu={class:"pair-item-cell"},vu=["data-testid","placeholder","value","onInput"],Ku={class:"pair-item-cell"},ju=["data-testid","placeholder","value","onInput"];function $u(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",xu,[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:b=>{i.onInput(b,m,"key")}},null,40,vu),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:b=>i.onInput({target:{value:b}},m,"key"),value:c.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",Ku,[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:b=>{i.onInput(b,m,"value")}},null,40,ju),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:b=>i.onInput({target:{value:b}},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=K(Lu,[["render",$u],["__scopeId","data-v-be99d00c"]]),qu=K(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}=Te.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}=Te.useAbstractFields({model:i,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}});n({clearValidationErrors:c});const b=t.computed(()=>{var u,h;return r.schema.values?r.schema.values:(h=(u=r.schema.elements)==null?void 0:u.one_of)!=null&&h.length?r.schema.elements.one_of.map(C=>({label:String(C),value:String(C)})):[]});return(u,h)=>{const C=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(C,{id:t.unref(d)(e.schema),modelValue:t.unref(m),"onUpdate:modelValue":h[0]||(h[0]=S=>t.isRef(m)?m.value=S:null),"aria-labelledby":t.unref(s)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:b.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"])}}}),Gu={class:"selection-group"},Yu={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=K(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",Gu,[(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",Yu,[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(W,{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=h=>h!=null&&r.schema.valueOn?h===r.schema.valueOn:h,d=h=>h!=null&&r.schema.valueOn?h?r.schema.valueOn:r.schema.valueOff:h,c=t.toRefs(r),{getFieldID:m,value:b,clearValidationErrors:u}=Te.useAbstractFields({model:c.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:s,formatValueToModel:d,emitModelUpdated:h=>{a("modelUpdated",h.value,h.model)}});return n({clearValidationErrors:u}),(h,C)=>{const S=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",tf,[t.createVNode(S,{id:t.unref(m)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":C[0]||(C[0]=y=>t.isRef(b)?b.value=y:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(b)?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:Tu,FieldArrayCardContainer:Li,FieldArrayItem:Pi,FieldArrayMultiItem:xi,FieldAutoSuggest:qi,FieldAutoSuggestLegacy:Hi,FieldCheckbox:Nu,FieldChecklist:Uu,FieldInput:Gi,FieldKeyValuePairs:zu,FieldLabel:qu,FieldMetric:Yi,FieldMultiselect:Hu,FieldObject:Wi,FieldObjectAdvanced:Zi,FieldRadio:Xi,FieldSelect:Ji,FieldSelectionGroup:ef,FieldStringArray:Qi,FieldSwitch:nf,FieldTextArea:K(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:b}=Te.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:h=>{a("modelUpdated",h.value,h.model)}});n({clearValidationErrors:m});const u=h=>{b.value=h,d(h,h)};return(h,C)=>{const S=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",of,[t.createVNode(S,t.mergeProps(h.$attrs,{id:t.unref(c)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":C[0]||(C[0]=y=>t.isRef(b)?b.value=y: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(b)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-609c18d6"]])},Symbol.toStringTag,{value:"Module"})),mixins:[pi],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 En.sanitize(e)},fieldTypeHasLabel(e){if(te(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=z(this.options,"fieldIdPrefix","");return Mn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldComponent(e){return e.component?e.component:"field-"+e.type},getButtonType(e){return z(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 q(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 pf(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:b=>i.buttonClickHandler(c,o.field,b),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=K(af,[["render",pf],["__scopeId","data-v-87df5b50"]]);var Ot=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ot||{});const hf=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]??"",ht={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(ht.KONNECT_MANAGED)||o.includes(yf)?ht.KONNECT_MANAGED:ht.SELF_MANAGED}function _f(e){return e.app==="konnect"&&!!e.isKonnectManagedRedisEnabled}const Ef={class:"partial-config-card"},Cf={class:"config-card-row-label"},Sf={class:"label-text"},kf=["data-testid"],Tf=["data-testid"],wf={key:1},Mf=["data-testid"],Nf=["data-testid"],Af=K(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,h)=>i(h)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:d}=lt.useStringHelpers(),c=t.computed(()=>Object.entries(a.configFields).map(([u,h])=>{var C,S,y,N;return{key:u,label:((C=r[u])==null?void 0:C.label)??d(u),value:(S=r[u])!=null&&S.formatter?r[u].formatter(h):h,type:((y=r[u])==null?void 0:y.type)??s(u,h),order:((N=r[u])==null?void 0:N.order)??100}}).sort((u,h)=>u.order-h.order).filter(u=>u.type!=="hidden")),m=Te.useRedisNonStandardFields(a.configFields,a.pluginRedisFields),b=t.computed(()=>c.value.concat(m));return(u,h)=>{const C=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Ef,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,({key:S,label:y,value:N,type:V})=>(t.openBlock(),t.createElementBlock("div",{key:S,class:"partial-config-card-row"},[t.createElementVNode("div",Cf,[t.createElementVNode("div",Sf,t.toDisplayString(y),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${S}-property-value`},[i(N)?(t.openBlock(),t.createElementBlock("div",wf,[V==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${S}-copy-password`},[t.createVNode(C,{format:"redacted",text:String(N)},null,8,["text"])],8,Mf)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${S}-plain-text`},t.toDisplayString(N),9,Nf))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${S}-no-value`}," – ",8,Tf))],8,kf)]))),128))])}}}),[["__scopeId","data-v-57f78095"]]),If={class:"redis-config-select","data-testid":"redis-config-select"},Vf={class:"selected-redis-config"},Of=["data-testid"],Bf={class:"select-item-name","data-testid":"selected-redis-config"},Ff={class:"empty-redis-config","data-testid":"empty-redis-config"},Rf={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Df="1000",na=K(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(So),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:b,loadItems:u,results:h}=lt.useDebouncedFilter(d,r[d.app].getAll,Df,{fetchedItemsKey:"data",searchKeys:["id","name"]}),C=t.computed(()=>b.value?s(b.value):""),S=t.computed(()=>a.isCustomPlugin?n("redis.custom_plugin.tooltip"):n("redis.shared_configuration.tooltip",{type:ta(a.redisType)})),y=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.title"):n("redis.shared_configuration.title")),N=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.selector.placeholder"):n("redis.shared_configuration.selector.placeholder")),V=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(()=>C.value||n("redis.shared_configuration.error")),F=I=>{let O=`${d.apiBaseUrl}${r[d.app].getOne}`;return d.app==="konnect"&&(O=O.replace(/{controlPlaneId}/gi,(d==null?void 0:d.controlPlaneId)||"")),O=O.replace(/\/{workspace}/gi,d!=null&&d.workspace?`/${d.workspace}`:"").replace(/{id}/gi,String(I)),O},w=t.computed(()=>{const I=(h.value||[]).map(O=>{const p=O,_=a.isKonnectManagedRedisEnabled?bf(p):void 0,k=_===ht.KONNECT_MANAGED;return{...a.isKonnectManagedRedisEnabled&&_?{source:_}:{},label:O.id,name:O.name,value:O.id,type:O.type,tag:a.isKonnectManagedRedisEnabled&&k?void 0:hf(p)}}).filter(O=>O.type==="redis-ce"||O.type==="redis-ee");return a.redisType!=="all"?I.filter(O=>O.type===a.redisType):I}),T=t.computed(()=>{const I=w.value;if(!a.isKonnectManagedRedisEnabled)return I;const O=I.filter(k=>k.source===ht.KONNECT_MANAGED),p=I.filter(k=>k.source===ht.SELF_MANAGED),_=[];return O.length>0&&_.push({label:n("redis.managed_ui.groups.konnect_managed"),items:O}),p.length>0&&_.push({label:n("redis.managed_ui.groups.self_managed"),items:p}),_}),{axiosInstance:g}=lt.useAxios(d==null?void 0:d.axiosRequestConfig),E=async I=>{if(I){a.updateRedisModel(I);try{const O=await g.get(F(I));if(O.data.config){const p=Object.assign(O.data,O.data.config);delete p.config,i.value=p}}catch(O){console.error(O)}}};return t.watch(()=>o==null?void 0:o.value,async I=>{I&&await u()}),t.onBeforeMount(()=>{u(),a.defaultRedisConfigItem&&E(a.defaultRedisConfigItem)}),(I,O)=>{const p=t.resolveComponent("KLabel"),_=t.resolveComponent("KBadge"),k=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",If,[t.createVNode(p,{info:S.value,"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(y.value),1)]),_:1},8,["info"]),O[2]||(O[2]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(k,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:T.value,loading:t.unref(m),"model-value":e.defaultRedisConfigItem,placeholder:N.value,onChange:O[1]||(O[1]=B=>E(B==null?void 0:B.value)),onQueryChange:t.unref(c)},t.createSlots({"selected-item-template":t.withCtx(({item:B})=>[t.createElementVNode("div",Vf,t.toDisplayString(B.name),1)]),"item-template":t.withCtx(({item:B})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${B.name}`},[t.createElementVNode("span",Bf,t.toDisplayString(B.name),1),B.tag?(t.openBlock(),t.createBlock(_,{key:0,appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(B.tag),1)]),_:2},1024)):t.createCommentVNode("",!0)],8,Of)]),empty:t.withCtx(()=>[t.createElementVNode("div",Ff,t.toDisplayString(t.unref(n)("redis.shared_configuration.empty_state")),1)]),_:2},[t.unref(_f)(t.unref(d))?void 0:{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:O[0]||(O[0]=B=>I.$emit("showNewPartialModal"))},[t.createVNode(t.unref(ue.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(Ki)})`},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(V.value),1)])]),key:"0"}]),1032,["items","loading","model-value","placeholder","onQueryChange"])]),i.value?(t.openBlock(),t.createBlock(Af,{key:0,"config-fields":i.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),C.value?(t.openBlock(),t.createElementBlock("p",Rf,t.toDisplayString(U.value),1)):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-8017e218"]]),Uf={key:0},Lf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},Pf={key:0,class:"shared-redis-config"},xf={key:1,class:"dedicated-redis-config"},vf={class:"dedicated-redis-config-title"},Kf={name:"VueFormGenerator",components:{formGroup:ea,formRedis:K(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")),b=t.computed(()=>o.field.pluginType==="custom"),u=t.ref(!o.isEditing),h=t.ref(),C=t.ref({}),S=t.ref(),y=w=>q(w.visible)?w.visible.call(this,o.model,w,this):te(w.visible)?!0:w.visible,N=async w=>{r("modelUpdated",[{id:w,path:o.redisPath}],"partials"),S.value=[{id:w,path:o.redisPath}],h.value=w},V=(w,T)=>{C.value={...C.value,[T]:w},r("modelUpdated",w,T)},U=()=>{r("refreshModel")},F=(w,T,g)=>{r("validated",w,T,g)};return t.watch(()=>u.value,w=>{w?S.value&&r("partialToggled","redis",{partials:S.value}):r("partialToggled","partials",C.value)}),t.onBeforeMount(()=>{var w,T,g;if(o.model&&(C.value=o.field.fields.reduce((E,I)=>(Object.keys(o.model).includes(I.model)&&(E[I.model]=o.model[I.model]),E),{})),(g=(T=(w=o==null?void 0:o.model)==null?void 0:w.partials)==null?void 0:T[0])!=null&&g.id){const E=o.model.partials[0].id;u.value=!0,h.value=E}}),(w,T)=>{const g=t.resolveComponent("KAlert"),E=t.resolveComponent("KBadge"),I=t.resolveComponent("KRadio"),O=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[b.value?(t.openBlock(),t.createElementBlock("div",Uf,[t.createVNode(g,{"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":h.value,"is-custom-plugin":"","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"update-redis-model":N,onShowNewPartialModal:T[0]||(T[0]=p=>w.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(O,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:i.value},{default:t.withCtx(()=>[t.createElementVNode("div",Lf,[t.createVNode(I,{modelValue:u.value,"onUpdate:modelValue":T[1]||(T[1]=p=>u.value=p),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(I,{modelValue:u.value,"onUpdate:modelValue":T[2]||(T[2]=p=>u.value=p),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",Pf,[t.createVNode(na,{"default-redis-config-item":h.value,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"redis-type":e.field.redisType,"update-redis-model":N,onShowNewPartialModal:T[3]||(T[3]=p=>w.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",xf,[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,p=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:p.model},[y(p)?(t.openBlock(),t.createBlock(ea,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:p,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:V,onRefreshModel:U,onValidated:F},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),[["__scopeId","data-v-58023d89"]])},mixins:[pi],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 q(e.visible)?e.visible.call(this,this.model,e,this):te(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=z(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],o=[];fe(this.$refs.children,a=>{q(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()})}}},jf={key:0,class:"vue-form-generator"},$f={key:0};function zf(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",jf,[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:b=>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,b)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${b}`},[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,h,C,S;return[(u=m.slots)!=null&&u.beforeContent?t.renderSlot(e.$slots,(h=m.slots)==null?void 0:h.beforeContent,{key:0}):t.createCommentVNode("",!0),m.fields.length===0&&((C=m.slots)!=null&&C.emptyState)?t.renderSlot(e.$slots,(S=m.slots)==null?void 0:S.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,y=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:y.model},[i.fieldVisible(y)?(t.openBlock(),t.createBlock(d,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:y,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-${b}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${b}-nested`]??!0?m.collapsible.nestedCollapsible.triggerLabel.expand:m.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":y=>a.collapseStates[`group-${b}-nested`]=y},{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,y=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:y.model},[y.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(s,{key:0,errors:a.errors,field:y,"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:N=>e.$emit("showNewPartialModal",y.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(y)?(t.openBlock(),t.createBlock(d,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:y,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",$f,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 W=K(Kf,[["render",zf]]),qf=[{label:"Kong Identity client",value:"kong-identity",description:"Match principals using a token claim, defaulting to the subject (sub) claim."},{label:"Custom claim",value:"custom-identity",description:"Match principals using a custom JWT claim."}],Hf=e=>e==null||e===""?!1:Array.isArray(e)?e.length>0:!0,Gf=e=>Hf(e["config-principals-principal_by"])?"custom-identity":"kong-identity",Yf={name:"PrincipalLookupSettings",props:{formModel:{type:Object,required:!0},onModelUpdated:{type:Function,required:!0},disabled:{type:Boolean,default:!1},showEnableToggle:{type:Boolean,default:!1},onEnabledChange:{type:Function,default:void 0},dataPlaneIncompatible:{type:Boolean,default:!1},showPrincipalsFields:{type:Boolean,default:!0}},data(){return{lookupMethodItems:qf,selectedLookupMethod:Gf(this.formModel)}},computed:{lookupEnabled(){return this.formModel["config-principals-enabled"]===!0},fieldsDisabled(){return this.disabled||!this.lookupEnabled},tokenClaimHelp(){const e="Use dot notation for nested claims (for example, workload.id); escape literal periods with \\ (for example, workload\\.id).";return this.selectedLookupMethod==="custom-identity"?`The token claim whose value is matched against the Custom identity name. Defaults to the subject (sub) claim, but you can specify a different claim if needed. ${e}`:`Defaults to the subject (sub) claim, but you can specify a different token claim if needed. ${e}`}},methods:{handleEnableToggle(e){this.onEnabledChange&&this.onEnabledChange(e)},getTokenClaimInputValue(){const e=this.formModel["config-principals-principal_claim"];return Array.isArray(e)&&e.length>0?e.map(n=>n.replace(/\./g,"\\.")).join("."):typeof e=="string"&&e?e:"sub"},handleTokenClaimChange(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()}}},Wf={key:1,class:"principals-field-group"},Zf={class:"principals-field-group"},Xf={class:"lookup-method-item"},Jf={class:"lookup-method-item-label"},Qf={class:"lookup-method-item-description"},ep={class:"principals-field-group"},tp={class:"principals-field-group"},np={class:"principals-field-group"};function op(e,n,o,r,a,i){const s=t.resolveComponent("KAlert"),d=t.resolveComponent("KLabel"),c=t.resolveComponent("KInputSwitch"),m=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput"),u=t.resolveComponent("KRadio"),h=t.resolveComponent("KCheckbox"),C=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(C,{class:"principals-advanced-settings","data-testid":"principals-advanced-settings","trigger-label":"Show additional settings"},{default:t.withCtx(()=>[o.showPrincipalsFields?(t.openBlock(),t.createElementBlock(t.Fragment,{key:0},[t.renderSlot(e.$slots,"banner",{},void 0,!0),o.dataPlaneIncompatible?(t.openBlock(),t.createBlock(s,{key:0,appearance:"warning",class:"principals-dp-version-alert","data-testid":"oidc-principals-dp-version-alert",message:"We detected that one or more data plane nodes are running a version earlier than 3.15. If principal lookup is enabled, requests handled by those data plane nodes will fail.","show-icon":""})):t.createCommentVNode("",!0),o.showEnableToggle?(t.openBlock(),t.createElementBlock("div",Wf,[t.createVNode(c,{"data-testid":"use-principal-lookup",disabled:o.disabled,"model-value":i.lookupEnabled,"onUpdate:modelValue":i.handleEnableToggle},{label:t.withCtx(()=>[t.createVNode(d,{info:"Look up the authenticated principal in Kong Identity after token validation. Enable this when the validated token doesn’t contain all of the identity data required for authorization or activity logging.","tooltip-attributes":{maxWidth:"300"}},{default:t.withCtx(()=>[...n[6]||(n[6]=[t.createTextVNode(" Use principal lookup ",-1)])]),_:1})]),_:1},8,["disabled","model-value","onUpdate:modelValue"])])):t.createCommentVNode("",!0),t.createElementVNode("div",Zf,[t.createVNode(m,{class:"principals-lookup-method-select","data-testid":"principals-lookup-method",disabled:i.fieldsDisabled,help:"Principal lookup queries Kong Identity for the principal that matches the identity in a verified access token. This enables principal-aware policies and integrations. Requires all data plane nodes to be running version 3.15 or later.",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:S})=>[t.createElementVNode("div",Xf,[t.createElementVNode("div",Jf,t.toDisplayString(S.label),1),t.createElementVNode("div",Qf,t.toDisplayString(S.description),1)])]),_:1},8,["disabled","items","model-value","onUpdate:modelValue"]),a.selectedLookupMethod==="custom-identity"?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-custom-identity-name-input","data-testid":"principals-custom-identity-name",disabled:i.fieldsDisabled,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[0]||(n[0]=S=>i.updateField("config-principals-principal_by",S))},null,8,["disabled","model-value"])):t.createCommentVNode("",!0),t.createVNode(b,{class:"principals-token-claim-input","data-testid":"principals-token-claim",disabled:i.fieldsDisabled,help:i.tokenClaimHelp,label:"Token claim","model-value":i.getTokenClaimInputValue(),placeholder:"e.g., user.employee_id","onUpdate:modelValue":n[1]||(n[1]=S=>i.handleTokenClaimChange(S))},null,8,["disabled","help","model-value"])]),t.createElementVNode("div",ep,[t.createVNode(d,null,{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createTextVNode("If principal lookup fails",-1)])]),_:1}),t.createVNode(u,{"data-testid":"principals-error-on-miss-true",description:"Treat the request as unauthenticated if Kong Identity cannot resolve the principal.",disabled:i.fieldsDisabled,label:"Reject the request","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!0,onChange:n[2]||(n[2]=S=>i.updateField("config-principals-error_on_miss",!0))},null,8,["disabled","model-value"]),t.createVNode(u,{"data-testid":"principals-error-on-miss-false",description:"Allow the request to continue without resolving a principal.",disabled:i.fieldsDisabled,label:"Continue without a principal","model-value":o.formModel["config-principals-error_on_miss"],"selected-value":!1,onChange:n[3]||(n[3]=S=>i.updateField("config-principals-error_on_miss",!1))},null,8,["disabled","model-value"])]),t.createElementVNode("div",tp,[t.createVNode(h,{"data-testid":"principals-match-consumer",disabled:i.fieldsDisabled,"model-value":o.formModel["config-principals-match_consumer"],"onUpdate:modelValue":n[4]||(n[4]=S=>i.handleMatchConsumerChange(S))},{description:t.withCtx(()=>[...n[8]||(n[8]=[t.createTextVNode(" Use the consumer linked to the authenticated principal so existing consumer-based plugins and policies continue to work. ",-1),t.createElementVNode("a",{class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer.",-1)])]),default:t.withCtx(()=>[n[9]||(n[9]=t.createTextVNode(" Use linked consumers ",-1))]),_:1},8,["disabled","model-value"])]),t.createElementVNode("div",np,[t.createVNode(h,{"data-testid":"principals-match-consumer-groups",disabled:i.fieldsDisabled||!o.formModel["config-principals-match_consumer"],"model-value":o.formModel["config-principals-match_consumer_groups"],"onUpdate:modelValue":n[5]||(n[5]=S=>i.updateField("config-principals-match_consumer_groups",S))},{description:t.withCtx(()=>[...n[10]||(n[10]=[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",{class:"principals-learn-more-link",href:"https://developer.konghq.com/identity/principals/",rel:"noopener noreferrer",target:"_blank"},"Learn how to link a consumer group.",-1)])]),default:t.withCtx(()=>[n[11]||(n[11]=t.createTextVNode(" Use linked consumer groups ",-1))]),_:1},8,["disabled","model-value"])])],64)):t.createCommentVNode("",!0),t.renderSlot(e.$slots,"default",{},void 0,!0)]),_:3})}const ip=K(Yf,[["render",op],["__scopeId","data-v-009e7e95"]]),Bt="kong-identity",oa="external",ap="/v1/auth-servers/_computed",rp="identity.konghq",lp=e=>typeof e=="string"&&e.includes(rp),Fn={major:3,minor:15},sp=e=>{const[n,o]=e.split(".").map(Number);return Number.isNaN(n)||Number.isNaN(o)?!1:n!==Fn.major?n<Fn.major:o<Fn.minor},dp=(e,n)=>n?lp(e["config-issuer"])?Bt:oa:Bt,cp={name:"OIDCPrincipals",components:{VueFormGenerator:W,PrincipalLookupSettings:ip,AddIcon:ue.AddIcon,BookIcon:ue.BookIcon,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","click:learn-more","click:create-entity"],data(){const e=dp(this.formModel,this.isEditing);return{MODE_KONG_IDENTITY:Bt,MODE_EXTERNAL:oa,KUI_ICON_SIZE_20:Ki,KUI_ICON_SIZE_30:Em,KUI_ICON_SIZE_40:ji,selectedMode:e,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.hasAuthServersAccess&&!this.selectedServer||this.clientIdArray.length<=1},isKonnect(){var e;return((e=this.formsConfig)==null?void 0:e.app)==="konnect"},hasAuthServersAccess(){var e;return((e=this.formsConfig)==null?void 0:e.isKongIdentityAuthServersAvailable)!==!1},canCreateAuthServer(){var e;return((e=this.formsConfig)==null?void 0:e.canCreateAuthServer)!==!1},canCreateAuthServerClient(){var e;return((e=this.formsConfig)==null?void 0:e.canCreateAuthServerClient)!==!1},hasIncompatibleDataPlane(){var e;return(((e=this.formsConfig)==null?void 0:e.dataPlaneVersions)??[]).some(sp)},principalsEnabled(){return this.formModel["config-principals-enabled"]===!0},principalsGuideVisible(){var e;return this.isKonnect&&((e=this.formsConfig)==null?void 0:e.principalsCreationGuideVisible)===!0},principalsSkeletonVisible(){var e;return this.isKonnect&&((e=this.formsConfig)==null?void 0:e.principalsCreationGuideVisible)===void 0}},watch:{"formsConfig.principalsDirectoryName":{immediate:!0,handler(e){this.isEditing||this.selectedMode!==Bt||e==null||(this.formModel["config-principals-directory"]=e,this.onModelUpdated())}}},mounted(){this.isEditing||this.$nextTick(()=>this.$emit("mode-change",this.selectedMode)),this.fetchKongIdentityServers()},methods:{async fetchKongIdentityServers(){var e,n,o;if(((e=this.formsConfig)==null?void 0:e.isKongIdentityAuthServersAvailable)!==!1)try{this.kongIdentityServersLoading=!0;const{axiosInstance:r}=lt.useAxios((n=this.formsConfig)==null?void 0:n.axiosRequestConfig),a=`${this.formsConfig.apiBaseUrl}${ap}`,i=await r.get(a);this.kongIdentityServers=((o=i.data)==null?void 0:o.data)??[];const s=this.formModel["config-issuer"];if(s&&!this.selectedServer){const d=this.kongIdentityServers.find(c=>c.issuer===s)||null;d&&(this.restoringServer=!0,this.selectedServer=d,this.fetchClients(d.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)}))},updateField(e,n){this.formModel[e]=n,this.onModelUpdated()},sanitize(e){return En.sanitize(e)},handleUsePrincipalLookupChange(e){this.updateField("config-principals-enabled",e)},handleLeaveConfirmed(){var n;const e=this.leavePromptType;this.leavePromptType=null,e==="authServer"?this.$emit("click:create-entity",{type:"auth-server"}):e==="client"?this.$emit("click:create-entity",{type:"client",authServerId:(n=this.selectedServer)==null?void 0:n.id}):e==="principal"&&this.$emit("click:create-entity",{type:"principal"})},handleModeChange(e){var n;if(e===Bt){this.formModel["config-client_id"]=null,this.formModel["config-client_secret"]=null,this.formModel["config-issuer"]=null,this.formModel["config-principals-enabled"]=!1,this.formModel["config-principals-error_on_miss"]=!0,this.formModel["config-principals-match_consumer"]=!0,this.formModel["config-principals-match_consumer_groups"]=!0;const o=(n=this.formsConfig)==null?void 0:n.principalsDirectoryName;o!=null&&(this.formModel["config-principals-directory"]=o)}else 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)}}},mp={class:"oidc-principals-section","data-testid":"oidc-principals-section"},up={class:"principals-description"},fp={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},pp={class:"auth-mode-card-content"},hp={class:"auth-mode-card-content"},gp={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},yp={class:"principals-create-guide-actions"},bp={class:"principals-client-secret-wrapper"},_p=["disabled","onClick"],Ep={class:"external-client-field"},Cp=["innerHTML"],Sp={class:"external-client-field"},kp=["innerHTML"],Tp=["disabled","onClick"],wp={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Mp={class:"principals-create-guide-actions"};function Np(e,n,o,r,a,i){var w;const s=t.resolveComponent("KExternalLink"),d=t.resolveComponent("KeyIcon"),c=t.resolveComponent("KRadio"),m=t.resolveComponent("WorldIcon"),b=t.resolveComponent("KSkeleton"),u=t.resolveComponent("AddIcon"),h=t.resolveComponent("KButton"),C=t.resolveComponent("BookIcon"),S=t.resolveComponent("KSelect"),y=t.resolveComponent("KInput"),N=t.resolveComponent("CloseIcon"),V=t.resolveComponent("PrincipalLookupSettings"),U=t.resolveComponent("VueFormGenerator"),F=t.resolveComponent("KPrompt");return t.openBlock(),t.createElementBlock("div",mp,[n[28]||(n[28]=t.createElementVNode("div",{class:"principals-header"}," Who should manage authentication and credentials? ",-1)),t.createElementVNode("div",up,[n[13]||(n[13]=t.createTextVNode(" Use External auth server to continue using your existing OAuth provider and authentication workflows. Use Kong Identity to adopt a newer principal-based model that centralizes and simplifies identity and authentication management. ",-1)),t.createVNode(s,{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[...n[12]||(n[12]=[t.createTextVNode(" Learn more. ",-1)])]),_:1})]),t.createElementVNode("div",fp,[t.createVNode(c,{modelValue:a.selectedMode,"onUpdate:modelValue":n[0]||(n[0]=T=>a.selectedMode=T),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",pp,[t.createVNode(d,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[14]||(n[14]=t.createElementVNode("div",{class:"auth-mode-card-label"}," Kong Identity ",-1)),n[15]||(n[15]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Use Kong Identity to authenticate OpenID Connect tokens. If all data plane nodes are running version 3.15 or later, you can also map requests to Kong Identity principals for advanced policies and integrations. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"]),t.createVNode(c,{modelValue:a.selectedMode,"onUpdate:modelValue":n[1]||(n[1]=T=>a.selectedMode=T),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":a.MODE_EXTERNAL,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",hp,[t.createVNode(m,{size:`var(--kui-icon-size-40, ${a.KUI_ICON_SIZE_40})`},null,8,["size"]),n[16]||(n[16]=t.createElementVNode("div",{class:"auth-mode-card-label"}," External auth server ",-1)),n[17]||(n[17]=t.createElementVNode("div",{class:"auth-mode-card-description"}," Connect to your existing identity provider to manage authentication outside of Kong. ",-1))])]),_:1},8,["modelValue","selected-value","onChange"])]),i.principalsSkeletonVisible&&a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):i.principalsGuideVisible&&a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createElementBlock("div",gp,[n[20]||(n[20]=t.createElementVNode("div",{class:"principals-create-guide-title"}," Add principals ",-1)),n[21]||(n[21]=t.createElementVNode("div",{class:"principals-create-guide-description"}," Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products. ",-1)),t.createElementVNode("div",yp,[t.createVNode(h,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[2]||(n[2]=T=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(u,{decorative:""}),n[18]||(n[18]=t.createTextVNode(" Create principal ",-1))]),_:1}),t.createVNode(h,{appearance:"secondary","data-testid":"principals-learn-more",onClick:n[3]||(n[3]=T=>e.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(C,{decorative:""}),n[19]||(n[19]=t.createTextVNode(" Learn more ",-1))]),_:1})])])):t.createCommentVNode("",!0),a.selectedMode===a.MODE_KONG_IDENTITY?(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[i.hasAuthServersAccess?(t.openBlock(),t.createBlock(S,{key:0,class:"principals-directory-select","data-testid":"principals-directory-select","enable-filtering":"",items:i.kongIdentityServerItems,label:"Authorization Server","label-attributes":{info:"The Kong Identity auth server that will act as the OpenID Connect provider for this plugin.",tooltipAttributes:{maxWidth:"300"}},loading:a.kongIdentityServersLoading,"model-value":(w=a.selectedServer)==null?void 0:w.id,placeholder:"Select an Authorization Server",required:"","onUpdate:modelValue":i.handleServerChange},t.createSlots({_:2},[i.canCreateAuthServer?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-auth-server-action",onClick:n[4]||(n[4]=t.withModifiers(T=>a.leavePromptType="authServer",["stop"]))},[t.createVNode(u,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[22]||(n[22]=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))])]),key:"0"}:void 0]),1032,["items","loading","model-value","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(y,{key:1,"data-testid":"kong-identity-issuer-input",help:"You don't have access to browse authorization servers. Enter the issuer URL of your Kong Identity authorization server directly.",label:"Authorization Server","label-attributes":{info:"The Kong Identity auth server that will act as the OpenID Connect provider for this plugin.",tooltipAttributes:{maxWidth:"300"}},"model-value":o.formModel["config-issuer"],placeholder:"e.g., https://your-auth-server.identity.konghq.com",required:"","onUpdate:modelValue":n[5]||(n[5]=T=>i.updateField("config-issuer",T))},null,8,["model-value"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(T,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(["client-row",{"client-row-with-label":g===0}])},[i.hasAuthServersAccess?(t.openBlock(),t.createBlock(S,{key:1,class:"principals-client-select","data-testid":"principals-client-select",disabled:!a.selectedServer,"enable-filtering":"",items:i.getClientItemsForRow(g),label:g===0?"Client":void 0,loading:a.clientsLoading,"model-value":T,placeholder:"Select a client","onUpdate:modelValue":E=>i.handleClientChange(g,E)},t.createSlots({_:2},[i.canCreateAuthServerClient?{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"create-action","data-testid":"create-client-action",onClick:n[6]||(n[6]=t.withModifiers(E=>a.leavePromptType="client",["stop"]))},[t.createVNode(u,{size:`var(--kui-icon-size-20, ${a.KUI_ICON_SIZE_20})`},null,8,["size"]),n[23]||(n[23]=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))])]),key:"0"}:void 0]),1032,["disabled","items","label","loading","model-value","onUpdate:modelValue"])):(t.openBlock(),t.createBlock(y,{key:0,class:"principals-client-select","data-testid":"principals-client-id-input",label:g===0?"Client":void 0,"model-value":T,placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":E=>i.handleClientChange(g,E)},null,8,["label","model-value","onUpdate:modelValue"])),t.createElementVNode("div",bp,[t.createVNode(y,{class:"principals-client-secret","data-testid":"principals-client-secret",disabled:i.hasAuthServersAccess&&!a.selectedServer,label:g===0?"Client secret":void 0,"model-value":i.clientSecretArray[g],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":E=>i.handleClientSecretChange(g,E)},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:E=>i.handleClientSecretChange(g,E),value:i.clientSecretArray[g]},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:E=>i.removeClientRow(g)},[t.createVNode(N,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,_p)],2))),128)),t.createElementVNode("div",{class:t.normalizeClass(["add-client-inline",{"add-client-inline-disabled":i.hasAuthServersAccess&&!a.selectedServer}]),"data-testid":"add-client-action",onClick:n[7]||(n[7]=T=>i.hasAuthServersAccess&&!a.selectedServer?null:i.addClientRow())}," + Add client ",2),t.createVNode(V,{"data-plane-incompatible":i.hasIncompatibleDataPlane,"form-model":o.formModel,"on-enabled-change":i.handleUsePrincipalLookupChange,"on-model-updated":o.onModelUpdated,"show-enable-toggle":""},{default:t.withCtx(()=>[t.renderSlot(e.$slots,"advanced-fields",{},void 0,!0)]),_:3},8,["data-plane-incompatible","form-model","on-enabled-change","on-model-updated"])],64)):(t.openBlock(),t.createElementBlock(t.Fragment,{key:3},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(T,g)=>{var E,I,O,p,_,k,B,x;return t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(["client-row",{"client-row-with-label":g===0}])},[t.createElementVNode("div",Ep,[t.createVNode(y,{class:"external-client-input","data-testid":"external-client-id",label:g===0?"Client id":void 0,"label-attributes":{info:(E=o.formOptions)!=null&&E.helpAsHtml||(I=i.externalClientIdField)==null?void 0:I.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientIdArray[g],placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":$=>i.handleClientChange(g,$)},t.createSlots({_:2},[(O=o.formOptions)!=null&&O.helpAsHtml&&((p=i.externalClientIdField)!=null&&p.help)?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientIdField.help)},null,8,Cp)]),key:"0"}:void 0]),1032,["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:$=>i.handleClientChange(g,$),value:i.clientIdArray[g]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",Sp,[t.createVNode(y,{class:"external-client-input","data-testid":"external-client-secret",label:g===0?"Client secret":void 0,"label-attributes":{info:(_=o.formOptions)!=null&&_.helpAsHtml||(k=i.externalClientSecretField)==null?void 0:k.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientSecretArray[g],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":$=>i.handleClientSecretChange(g,$)},t.createSlots({_:2},[(B=o.formOptions)!=null&&B.helpAsHtml&&((x=i.externalClientSecretField)!=null&&x.help)?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientSecretField.help)},null,8,kp)]),key:"0"}:void 0]),1032,["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:$=>i.handleClientSecretChange(g,$),value:i.clientSecretArray[g]},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:$=>i.removeClientRow(g)},[t.createVNode(N,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,Tp)],2)}),128)),t.createElementVNode("div",{class:"add-client-inline","data-testid":"add-external-client-action",onClick:n[8]||(n[8]=T=>i.addClientRow())}," + Add client "),t.createVNode(U,{model:o.formModel,options:o.formOptions,schema:i.issuerFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"]),t.createVNode(V,{"data-plane-incompatible":i.hasIncompatibleDataPlane,"form-model":o.formModel,"on-enabled-change":i.handleUsePrincipalLookupChange,"on-model-updated":o.onModelUpdated,"show-enable-toggle":""},{banner:t.withCtx(()=>{var T,g;return[i.isKonnect&&((T=i.formsConfig)==null?void 0:T.principalsCreationGuideVisible)===void 0?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):i.isKonnect&&((g=i.formsConfig)!=null&&g.principalsCreationGuideVisible)?(t.openBlock(),t.createElementBlock("div",wp,[n[26]||(n[26]=t.createElementVNode("div",{class:"principals-create-guide-title"}," Add principals ",-1)),n[27]||(n[27]=t.createElementVNode("div",{class:"principals-create-guide-description"}," Get more value from OAuth 2.0 integration by creating principals in Kong Identity. Associate principals with this authorization server and its clients to enable principal-based authentication across Kong products. Requires data plane nodes to be running version 3.15 or later. ",-1)),t.createElementVNode("div",Mp,[t.createVNode(h,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[9]||(n[9]=E=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(u,{decorative:""}),n[24]||(n[24]=t.createTextVNode(" Create principal ",-1))]),_:1}),t.createVNode(h,{appearance:"secondary","data-testid":"principals-learn-more",onClick:n[10]||(n[10]=E=>e.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(C,{decorative:""}),n[25]||(n[25]=t.createTextVNode(" Learn more ",-1))]),_:1})])])):t.createCommentVNode("",!0)]}),default:t.withCtx(()=>[t.renderSlot(e.$slots,"advanced-fields",{},void 0,!0)]),_:3},8,["data-plane-incompatible","form-model","on-enabled-change","on-model-updated"])],64)),t.createVNode(F,{"action-button-text":"Leave page",message:"Your unsaved changes will be lost if you continue.",title:"Leave this page?",visible:!!a.leavePromptType,onCancel:n[11]||(n[11]=T=>a.leavePromptType=null),onProceed:i.handleLeaveConfirmed},null,8,["visible","onProceed"])])}const Ap=K(cp,[["render",Np],["__scopeId","data-v-9929477d"]]),Ip={name:"OIDCAuthMethods",props:{authMethodItems:{type:Array,default:()=>[]},selectedAuthMethods:{type:Array,default:()=>[]},sessionManagement:{type:Boolean,default:!1},principalsMode:{type:String,default:null}},emits:["select","session-change"]},Vp={class:"oidc-auth-methods"},Op={class:"session-management-section"},Bp={class:"session-radio-group"};function Fp(e,n,o,r,a,i){const s=t.resolveComponent("KLabel"),d=t.resolveComponent("KMultiselect"),c=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Vp,[t.createVNode(s,null,{default:t.withCtx(()=>[...n[3]||(n[3]=[t.createTextVNode("Authentication methods",-1)])]),_:1}),(t.openBlock(),t.createBlock(d,{key:o.principalsMode,class:"auth-methods-multiselect","data-testid":"auth-methods-multiselect",items:o.authMethodItems,"model-value":o.selectedAuthMethods,placeholder:"Select authentication methods","onUpdate:modelValue":n[0]||(n[0]=m=>e.$emit("select",m))},null,8,["items","model-value"])),n[5]||(n[5]=t.createElementVNode("p",{class:"auth-methods-hint"}," Configure which OAuth and OpenID Connect features are supported. ",-1)),t.createElementVNode("div",Op,[t.createVNode(s,null,{default:t.withCtx(()=>[...n[4]||(n[4]=[t.createTextVNode("Session management",-1)])]),_:1}),t.createElementVNode("div",Bp,[t.createVNode(c,{"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","model-value":o.sessionManagement,"selected-value":!0,onChange:n[1]||(n[1]=m=>e.$emit("session-change",!0))},null,8,["model-value"]),t.createVNode(c,{"data-testid":"session-radio-no-use",description:"Authenticate each request using the configured authentication flow.",label:"Do not use sessions","model-value":o.sessionManagement,"selected-value":!1,onChange:n[2]||(n[2]=m=>e.$emit("session-change",!1))},null,8,["model-value"])])])])}const Rp=K(Ip,[["render",Fp],["__scopeId","data-v-8c1cdc7c"]]),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"]),Rn=["bearer","client_credentials","introspection","userinfo"],Dp="identity.konghq",Up=e=>typeof e=="string"&&e.includes(Dp),Lp={name:"OIDCForm",components:{VueFormGenerator:W,OIDCPrincipals:Ap,OIDCAuthMethods:Rp},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:()=>{}}},emits:["click:create-entity","click:learn-more"],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":Up(this.formModel["config-issuer"]))?this.authMethods.filter(o=>Rn.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}=Te.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,b,u,h;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 C of s.items.schema.fields)C.label=C.model;i.push({...s,link:this.openIdConnectJWKLink,newElementButtonLabel:"+ Add Client JWK",...Array.isArray((b=(m=s.items)==null?void 0:m.schema)==null?void 0:b.fields)&&s.items.schema.fields.map(C=>({...C,label:C.model}))});break}case"config-token_exchange-subject_token_issuers":{if(Array.isArray((h=(u=s.items)==null?void 0:u.schema)==null?void 0:h.fields)){const C=s.items.schema.fields,S=C.find(N=>N.model==="verify_signature"),y=C.find(N=>N.model==="jwks_uri");if(S&&(S.checkboxLabel=S.label,S.label=void 0,S.checkboxDescription=N=>N.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),y&&(y.visible=N=>N.verify_signature===!0),S&&y){const N=C.indexOf(S),V=C.indexOf(y);V!==N+1&&(C.splice(V,1),C.splice(N+1,0,y))}}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=Rn.includes(o.value);const n=[...Rn];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()}}}},Pp={class:"general-settings"},xp={class:"link-wrapper"},vp={class:"auth-method-container"},Kp={class:"general-settings"},jp={class:"link-wrapper"},$p={class:"general-settings"},zp={class:"link-wrapper"};function qp(e,n,o,r,a,i){const s=t.resolveComponent("VueFormGenerator"),d=t.resolveComponent("KExternalLink"),c=t.resolveComponent("OIDCAuthMethods"),m=t.resolveComponent("OIDCPrincipals"),b=t.resolveComponent("KLabel"),u=t.resolveComponent("KCheckbox"),h=t.resolveComponent("KInputSwitch"),C=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(C,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",Pp,[t.createElementVNode("div",xp,[t.createVNode(d,{href:a.openIdConfigurationDocs},{default:t.withCtx(()=>[...n[4]||(n[4]=[t.createElementVNode("span",{class:"section-header"},"Common Configuration Settings",-1)])]),_:1},8,["href"])]),n[6]||(n[6]=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(m,{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,"onClick:createEntity":n[0]||(n[0]=S=>e.$emit("click:create-entity",S)),"onClick:learnMore":n[1]||(n[1]=S=>e.$emit("click:learn-more",S)),onModeChange:i.handlePrincipalsModeChange},{"advanced-fields":t.withCtx(()=>[t.createVNode(c,{"auth-method-items":i.authMethodItems,"principals-mode":a.principalsMode,"selected-auth-methods":i.selectedAuthMethods,"session-management":a.sessionManagement,onSelect:i.handleAuthMethodsSelect,onSessionChange:i.handleSessionChange},null,8,["auth-method-items","principals-mode","selected-auth-methods","session-management","onSelect","onSessionChange"])]),_:1},8,["common-fields-schema","form-model","form-options","form-schema","is-editing","on-model-updated","onModeChange"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:1},[i.displayForm?(t.openBlock(),t.createBlock(s,{key:0,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.createBlock(c,{key:1,"auth-method-items":i.authMethodItems,"principals-mode":a.principalsMode,"selected-auth-methods":i.selectedAuthMethods,"session-management":a.sessionManagement,onSelect:i.handleAuthMethodsSelect,onSessionChange:i.handleSessionChange},null,8,["auth-method-items","principals-mode","selected-auth-methods","session-management","onSelect","onSessionChange"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:2},[t.createVNode(b,null,{default:t.withCtx(()=>[...n[5]||(n[5]=[t.createTextVNode("Auth methods",-1)])]),_:1}),t.createElementVNode("div",vp,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,S=>(t.openBlock(),t.createElementBlock("div",{key:S.value,class:"auth-method"},[t.createVNode(u,{modelValue:S.prop,"onUpdate:modelValue":y=>S.prop=y,"data-testid":`auth-method-checkbox-${S.value}`,onChange:y=>i.handleUpdate(y,S.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(S.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","onChange"])]))),128))]),t.createVNode(h,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[2]||(n[2]=S=>a.sessionManagement=S),"data-testid":"session-management-switch",label:"Enable Session Management",onChange:i.handleUpdate},null,8,["modelValue","onChange"])],64))],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",Kp,[t.createElementVNode("div",jp,[t.createVNode(d,{href:a.openIdAuthorizationDocs},{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createElementVNode("span",{class:"section-header"},"Authorization Configuration Settings",-1)])]),_:1},8,["href"])]),n[8]||(n[8]=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(S=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(S)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",$p,[t.createElementVNode("div",zp,[t.createVNode(d,{href:a.openIdConnectLink},{default:t.withCtx(()=>[...n[9]||(n[9]=[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings",-1)])]),_:1},8,["href"])]),n[10]||(n[10]=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[3]||(n[3]=()=>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 Hp=K(Lp,[["render",qp],["__scopeId","data-v-e20914ca"]]),Gp=K(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(W,{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"]]),Yp=K(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(W,{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"]]),Wp={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}]},Zp={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}]},Xp={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}]},Jp={class:"general-settings"},Qp={class:"sub-form"},eh={class:"general-settings"},th={class:"sub-form"},nh={class:"general-settings"},oh=K(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 T;t.provide(ge,(T=t.useSlots())==null?void 0:T[et]);const n=e,o=t.ref("zeroSsl"),r=t.ref("shm"),a=t.computed(()=>{var E;const g={};if((E=n.formSchema)!=null&&E.fields)for(const I of n.formSchema.fields)g[I.model]=I;return g}),i=t.computed(()=>{var E;const g=Le(Wp);for(const I of g.fields){const O=(E=a.value[I.model])==null?void 0:E.help;I.help===void 0&&typeof O=="string"&&(I.help=O)}return g}),s=t.computed(()=>{var E;const g=Le(Zp);for(const I of g.fields){const O=(E=a.value[I.model])==null?void 0:E.help;I.help===void 0&&typeof O=="string"&&(I.help=O)}return g}),d=t.computed(()=>{var E;const g=Le(Xp);for(const I of g.fields){const O=(E=a.value[I.model])==null?void 0:E.help;I.help===void 0&&typeof O=="string"&&(I.help=O)}return g}),c=t.computed(()=>({fields:n.formSchema.fields.filter(g=>!g.model.startsWith("config")&&g.model!=="tags")})),m=t.computed(()=>({fields:i.value.fields.filter(E=>!s.value.fields.some(I=>I.model===E.model)&&!d.value.fields.some(I=>I.model===E.model))})),b=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"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-redis"))})),C=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-shm"))})),S=t.computed(()=>({fields:n.formSchema.fields.filter(E=>E.model.startsWith("config-storage_config-vault"))})),y=t.computed(()=>({fields:n.formSchema.fields.filter(g=>g.model.startsWith("config")&&!m.value.fields.filter(E=>E.model===g.model).length&&!b.value.fields.filter(E=>E.model===g.model).length||g.model==="tags")})),N=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),V=[{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 F=g=>{o.value=g.value,(g.value==="zeroSsl"||g.value==="other")&&(g.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),g.value==="letsEncrypt"&&(n.formModel["config-api_uri"]="https://acme-v02.api.letsencrypt.org/directory",n.formModel["config-eab_hmac_key"]="",n.formModel["config-eab_kid"]=""),n.onModelUpdated()},w=(g,E)=>{E==="config-storage"&&(r.value=g),n.onModelUpdated()};return(g,E)=>{const I=t.resolveComponent("KSelect"),O=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(W,{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(O,{tabs:V},{general:t.withCtx(()=>[t.createElementVNode("div",Jp,[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)),N.value?(t.openBlock(),t.createBlock(W,{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(I,{class:"issuer-select",items:U,label:"Issuer",onChange:F}),t.createElementVNode("div",Qp,[o.value==="letsEncrypt"?(t.openBlock(),t.createBlock(W,{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(W,{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",eh,[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)),N.value?(t.openBlock(),t.createBlock(W,{key:0,model:e.formModel,options:e.formOptions,schema:b.value,onModelUpdated:w},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",th,[r.value==="consul"?(t.openBlock(),t.createBlock(W,{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(W,{key:1,model:e.formModel,options:e.formOptions,schema:h.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="shm"?(t.openBlock(),t.createBlock(W,{key:2,model:e.formModel,options:e.formOptions,schema:C.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(W,{key:3,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",nh,[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)),N.value?(t.openBlock(),t.createBlock(W,{key:0,model:e.formModel,options:e.formOptions,schema:y.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),[["__scopeId","data-v-07cecf5b"]]),ih={class:"rla-form-basic-fields"},ah={class:"rla-form-request-limits-subtitle"},rh={class:"rla-form-request-limits-content"},lh={class:"rla-form-window-type"},sh=["innerHTML"],dh={class:"rla-form-window-type-radios"},ch={class:"rla-form-request-limits-items"},mh={class:"rla-form-request-limits-row"},uh=["id"],fh={class:"rla-form-request-limits-actions"},ph={key:0,class:"rla-form-request-limits-examples"},hh={class:"rla-form-request-limits-examples-badges"},gh=["innerHTML"],yh={id:"rla-form-error-legend",class:"rla-form-error-inputs"},bh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:oh,ExitTransformer:Yp,OIDCForm:Hp,PostFunction:Gp,RLAForm:K(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 O;t.provide(ge,(O=t.useSlots())==null?void 0:O[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(p=>`config-${p}`)]),r=p=>p===void 0?!1:o.has(p),{t:a}=be.createI18n("en-us",Ce),i=e,s=t.computed(()=>{var k,B,x;const p=(B=(k=i.formSchema)==null?void 0:k.fields)==null?void 0:B.find($=>$.type==="selectionGroup"&&$.model==="selectionGroup");return{fields:[(x=i.formSchema)==null?void 0:x.fields.find($=>$.model==="enabled"),p].filter(Boolean)}}),d=t.computed(()=>{var $,Ae;const p=((Ae=($=i.formSchema)==null?void 0:$.fields)==null?void 0:Ae.filter(oe=>!r(oe.model)))??[],_=[],k=[],B=[];let x=!1;for(const oe of p){const Ge=oe.model;if(Ge!==void 0){if(Ge.startsWith("config-redis-")){(oe.model==="config-redis-cluster_addresses"||oe.model==="config-redis-sentinel_addresses")&&(oe.inputAttributes.help=a("rla.redis.address_example")),k.push(oe);continue}x?B.push(oe):_.push(oe),oe.model==="config-strategy"&&(x=!0)}}return{endsWithStrategy:{fields:_},redis:i.enableRedisPartial?{fields:[{fields:k,id:"_redis",model:"__redis_partial",redisType:i.formSchema._supported_redis_partial_type}]}:{fields:k},afterStrategy:{fields:B}}}),c=t.computed(()=>{const p=i.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(n,p)?n[p]:[]}),m=t.computed(()=>{var p,_;return(_=(p=i.formSchema)==null?void 0:p.fields)==null?void 0:_.find(k=>k.model==="config-identifier")}),b=t.computed(()=>{var p,_,k;return(((k=(_=(p=i.formSchema)==null?void 0:p.fields)==null?void 0:_.find(B=>B.model==="config-identifier"))==null?void 0:k.values)??[]).map(B=>({label:a(`rla.identifiers.options.${B}`),value:B}))}),u=t.ref(),h=t.ref(!0),C=t.computed(()=>{var p,_,k;return i.formModel["config-window_type"]??((k=(_=(p=i.formSchema)==null?void 0:p.fields)==null?void 0:_.find(B=>B.model==="config-window_type"))==null?void 0:k.default)}),S=t.computed(()=>{var _,k,B,x,$,Ae;const p=(B=(k=(_=i.formSchema)==null?void 0:_.fields)==null?void 0:k.find(oe=>oe.model==="config-window_type"))==null?void 0:B.default;return(((Ae=($=(x=i.formSchema)==null?void 0:x.fields)==null?void 0:$.find(oe=>oe.model==="config-window_type"))==null?void 0:Ae.values)??[]).sort((oe,Ge)=>oe===p?-1:Ge===p?1:0)}),y=t.computed(()=>{var _;const p=(_=i.formModel["config-limit"])==null?void 0:_.map((k,B)=>{var x,$;return{limit:k,windowSize:($=(x=i.formModel)==null?void 0:x["config-window_size"])==null?void 0:$[B]}});return!Array.isArray(p)||p.length===0?[{limit:void 0,windowSize:void 0}]:p}),N=t.computed(()=>{var p,_,k,B;return((p=i.formModel)==null?void 0:p["config-identifier"])??((B=(k=(_=i.formSchema)==null?void 0:_.fields)==null?void 0:k.find(x=>x.model==="config-identifier"))==null?void 0:B.default)}),V=t.computed(()=>{var p,_,k,B;return((p=i.formModel)==null?void 0:p["config-error_code"])??((B=(k=(_=i.formSchema)==null?void 0:_.fields)==null?void 0:k.find(x=>x.model==="config-error_code"))==null?void 0:B.default)}),U=t.computed(()=>{var p,_,k,B;return((p=i.formModel)==null?void 0:p["config-error_message"])??((B=(k=(_=i.formSchema)==null?void 0:_.fields)==null?void 0:k.find(x=>x.model==="config-error_message"))==null?void 0:B.default)}),F=(p,_)=>{if(_===u.value){i.onModelUpdated([],"config-limit"),i.onModelUpdated([],"config-window_size"),t.nextTick(()=>{u.value=void 0});return}i.onModelUpdated([p.config.limit],"config-limit"),i.onModelUpdated([p.config.window_size],"config-window_size"),t.nextTick(()=>{u.value=_})},w=p=>{u.value!==void 0&&(u.value=void 0),p!==null&&i.onModelUpdated(p.toString(),"config-window_type")},T=(p,_)=>{var B;u.value!==void 0&&(u.value=void 0);const k=Le(((B=i.formModel)==null?void 0:B["config-limit"])??[]);k[p]=_,i.onModelUpdated(k,"config-limit")},g=(p,_)=>{var B;u.value!==void 0&&(u.value=void 0);const k=Le(((B=i.formModel)==null?void 0:B["config-window_size"])??[]);k[p]=_,i.onModelUpdated(k,"config-window_size")},E=p=>{var B,x;u.value!==void 0&&(u.value=void 0);const _=Le(((B=i.formModel)==null?void 0:B["config-limit"])??[]),k=Le(((x=i.formModel)==null?void 0:x["config-window_size"])??[]);_.length===0&&_.push(void 0),k.length===0&&k.push(void 0),_.splice(p+1,0,void 0),k.splice(p+1,0,void 0),i.onModelUpdated(_,"config-limit"),i.onModelUpdated(k,"config-window_size")},I=p=>{var _,k;if(y.value.length>1){u.value!==void 0&&(u.value=void 0);const B=Le(((_=i.formModel)==null?void 0:_["config-limit"])??[]),x=Le(((k=i.formModel)==null?void 0:k["config-window_size"])??[]);B.length===0&&B.push(void 0),x.length===0&&x.push(void 0),B.splice(p,1),x.splice(p,1),i.onModelUpdated(B,"config-limit"),i.onModelUpdated(x,"config-window_size")}};return t.watch(()=>i.formModel["config-strategy"],p=>{p!=="redis"&&i.formModel.partials&&i.onModelUpdated(void 0,"partials")}),(p,_)=>{const k=t.resolveComponent("KLabel"),B=t.resolveComponent("KRadio"),x=t.resolveComponent("KInput"),$=t.resolveComponent("KButton"),Ae=t.resolveComponent("KBadge"),oe=t.resolveComponent("KTooltip"),Ge=t.resolveComponent("KCard"),Dn=t.resolveComponent("KSelect"),Un=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",ih,[t.createVNode(W,{model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:_[0]||(_[0]=(D,Z)=>e.onModelUpdated(D,Z))},null,8,["model","options","schema"]),t.createVNode(Ge,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(k,{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",ah,t.toDisplayString(t.unref(a)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",rh,[t.createElementVNode("div",lh,[t.createVNode(k,{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,sh)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",dh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(S.value,D=>(t.openBlock(),t.createBlock(B,{key:`window-type-${D}`,"model-value":C.value,name:D,"selected-value":D,"onUpdate:modelValue":w},{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",ch,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(y.value,(D,Z)=>(t.openBlock(),t.createElementBlock("div",{key:Z.toString()},[t.createVNode(k,{for:`rla-form-request-limits-item-${Z}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.label_index",{index:Z+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",mh,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${Z}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(x,{"model-value":D.limit&&D.limit.toString(),placeholder:t.unref(a)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":Rt=>T(Z,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(x,{"model-value":D.windowSize&&D.windowSize.toString(),placeholder:t.unref(a)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":Rt=>g(Z,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,uh),t.createElementVNode("div",fh,[t.createVNode($,{appearance:"tertiary",disabled:y.value.length<=1,onClick:()=>I(Z)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode($,{appearance:"tertiary",onClick:()=>E(Z)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),c.value.length>0?(t.openBlock(),t.createElementBlock("div",ph,[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.start_with_a_use_case")),1),t.createElementVNode("div",hh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(c.value,(D,Z)=>(t.openBlock(),t.createBlock(oe,{key:`use-case-${Z}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(D.description),1),_[10]||(_[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===`${C.value}-${Z}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>F(D,`${C.value}-${Z}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(D.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(Dn,{modelValue:N.value,"onUpdate:modelValue":_[1]||(_[1]=D=>N.value=D),class:"rla-form-identifiers",items:b.value,label:t.unref(a)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:_[2]||(_[2]=D=>i.onModelUpdated(D.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:m.value&&m.value.help},null,8,gh)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(k,{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",yh,[t.createVNode(x,{class:"input-error-code","model-value":V.value&&V.value.toString(),placeholder:t.unref(a)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":_[3]||(_[3]=D=>e.onModelUpdated(Number.parseInt(D),"config-error_code"))},null,8,["model-value","placeholder"]),_[11]||(_[11]=t.createElementVNode("div",null,":",-1)),t.createVNode(x,{"model-value":U.value,placeholder:t.unref(a)("rla.error_message.message_placeholder"),"onUpdate:modelValue":_[4]||(_[4]=D=>e.onModelUpdated(D,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(Un,{modelValue:h.value,"onUpdate:modelValue":_[9]||(_[9]=D=>h.value=D),"data-testid":"view-advanced","trigger-label":t.unref(a)("rla.view_advanced")},{default:t.withCtx(()=>[t.createVNode(W,{model:e.formModel,options:e.formOptions,schema:d.value.endsWithStrategy,onModelUpdated:_[5]||(_[5]=(D,Z)=>e.onModelUpdated(D,Z))},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(W,{"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:_[6]||(_[6]=(D,Z)=>e.onModelUpdated(D,Z)),onPartialToggled:e.onPartialToggled,onShowNewPartialModal:_[7]||(_[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(W,{class:t.normalizeClass({"rla-last-vfg":e.formModel["config-strategy"]!=="redis"}),model:e.formModel,options:e.formOptions,schema:d.value.afterStrategy,onModelUpdated:_[8]||(_[8]=(D,Z)=>e.onModelUpdated(D,Z))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),[["__scopeId","data-v-c304263d"]])},Symbol.toStringTag,{value:"Module"})),_h=["array","metric","advanced","selectionGroup","object-advanced"],Eh=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=ko,P.FIELD_STATES=Me,P.FORMS_API_KEY=Ee,P.FORMS_CONFIG=qt,P.FieldScopedEntitySelect=$i,P.PartialType=Ot,P.REDIS_PARTIAL_FETCHER_KEY=So,P.REDIS_PARTIAL_INFO=vl,P.VueFormGenerator=W,P.abstractField=dm,P.composables=Te,P.customFields=_h,P.getSharedFormName=Eh,P.sharedForms=bh,Object.defineProperty(P,Symbol.toStringTag,{value:"Module"})});