@kong-ui-public/forms 4.33.20 → 4.33.21

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
- (function(U,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):(U=typeof globalThis<"u"?globalThis:U||self,t(U["kong-ui-public-forms"]={},U.Vue,U["kong-ui-public-i18n"],U.KongIcons,U.axios,U["kong-ui-public-entities-shared"]))})(this,(function(U,t,_e,ce,Ua,at){"use strict";function oo(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}function La(e){return function(n,o,r){for(var a=-1,i=Object(n),d=r(n),s=d.length;s--;){var f=d[++a];if(o(i[f],f,i)===!1)break}return n}}var Pa=La();function va(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var io=typeof global=="object"&&global&&global.Object===Object&&global,xa=typeof self=="object"&&self&&self.Object===Object&&self,Te=io||xa||Function("return this")(),Le=Te.Symbol,ao=Object.prototype,Ka=ao.hasOwnProperty,ja=ao.toString,St=Le?Le.toStringTag:void 0;function za(e){var n=Ka.call(e,St),o=e[St];try{e[St]=void 0;var r=!0}catch{}var a=ja.call(e);return r&&(n?e[St]=o:delete e[St]),a}var $a=Object.prototype,qa=$a.toString;function Ha(e){return qa.call(e)}var Ga="[object Null]",Ya="[object Undefined]",ro=Le?Le.toStringTag:void 0;function Pe(e){return e==null?e===void 0?Ya:Ga:ro&&ro in Object(e)?za(e):Ha(e)}function ve(e){return e!=null&&typeof e=="object"}var Wa="[object Arguments]";function lo(e){return ve(e)&&Pe(e)==Wa}var so=Object.prototype,Za=so.hasOwnProperty,Xa=so.propertyIsEnumerable,Ja=lo((function(){return arguments})())?lo:function(e){return ve(e)&&Za.call(e,"callee")&&!Xa.call(e,"callee")},xe=Array.isArray;function Qa(){return!1}var co=typeof U=="object"&&U&&!U.nodeType&&U,mo=co&&typeof module=="object"&&module&&!module.nodeType&&module,er=mo&&mo.exports===co,uo=er?Te.Buffer:void 0,tr=uo?uo.isBuffer:void 0,fo=tr||Qa,nr=9007199254740991,or=/^(?:0|[1-9]\d*)$/;function po(e,n){var o=typeof e;return n=n??nr,!!n&&(o=="number"||o!="symbol"&&or.test(e))&&e>-1&&e%1==0&&e<n}var ir=9007199254740991;function ho(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ir}var ar="[object Arguments]",rr="[object Array]",lr="[object Boolean]",sr="[object Date]",dr="[object Error]",cr="[object Function]",mr="[object Map]",ur="[object Number]",fr="[object Object]",pr="[object RegExp]",hr="[object Set]",gr="[object String]",yr="[object WeakMap]",br="[object ArrayBuffer]",_r="[object DataView]",Er="[object Float32Array]",Cr="[object Float64Array]",Sr="[object Int8Array]",kr="[object Int16Array]",Tr="[object Int32Array]",wr="[object Uint8Array]",Mr="[object Uint8ClampedArray]",Nr="[object Uint16Array]",Ar="[object Uint32Array]",G={};G[Er]=G[Cr]=G[Sr]=G[kr]=G[Tr]=G[wr]=G[Mr]=G[Nr]=G[Ar]=!0,G[ar]=G[rr]=G[br]=G[lr]=G[_r]=G[sr]=G[dr]=G[cr]=G[mr]=G[ur]=G[fr]=G[pr]=G[hr]=G[gr]=G[yr]=!1;function Ir(e){return ve(e)&&ho(e.length)&&!!G[Pe(e)]}function fn(e){return function(n){return e(n)}}var go=typeof U=="object"&&U&&!U.nodeType&&U,kt=go&&typeof module=="object"&&module&&!module.nodeType&&module,Vr=kt&&kt.exports===go,pn=Vr&&io.process,rt=(function(){try{var e=kt&&kt.require&&kt.require("util").types;return e||pn&&pn.binding&&pn.binding("util")}catch{}})(),yo=rt&&rt.isTypedArray,Or=yo?fn(yo):Ir,Br=Object.prototype,Fr=Br.hasOwnProperty;function bo(e,n){var o=xe(e),r=!o&&Ja(e),a=!o&&!r&&fo(e),i=!o&&!r&&!a&&Or(e),d=o||r||a||i,s=d?va(e.length,String):[],f=s.length;for(var m in e)(n||Fr.call(e,m))&&!(d&&(m=="length"||a&&(m=="offset"||m=="parent")||i&&(m=="buffer"||m=="byteLength"||m=="byteOffset")||po(m,f)))&&s.push(m);return s}var Rr=Object.prototype;function hn(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||Rr;return e===o}function _o(e,n){return function(o){return e(n(o))}}var Dr=_o(Object.keys,Object),Ur=Object.prototype,Lr=Ur.hasOwnProperty;function Pr(e){if(!hn(e))return Dr(e);var n=[];for(var o in Object(e))Lr.call(e,o)&&o!="constructor"&&n.push(o);return n}function Ee(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var vr="[object AsyncFunction]",xr="[object Function]",Kr="[object GeneratorFunction]",jr="[object Proxy]";function q(e){if(!Ee(e))return!1;var n=Pe(e);return n==xr||n==Kr||n==vr||n==jr}function vt(e){return e!=null&&ho(e.length)&&!q(e)}function xt(e){return vt(e)?bo(e):Pr(e)}function zr(e,n){return e&&Pa(e,n,xt)}function $r(e,n){return function(o,r){if(o==null)return o;if(!vt(o))return e(o,r);for(var a=o.length,i=-1,d=Object(o);++i<a&&r(d[i],i,d)!==!1;);return o}}var qr=$r(zr);function gn(e){return e}function Hr(e){return typeof e=="function"?e:gn}function ue(e,n){var o=xe(e)?oo:qr;return o(e,Hr(n))}var Gr="[object Symbol]";function Kt(e){return typeof e=="symbol"||ve(e)&&Pe(e)==Gr}var Yr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Wr=/^\w*$/;function Zr(e,n){if(xe(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||Kt(e)?!0:Wr.test(e)||!Yr.test(e)||n!=null&&e in Object(n)}var yn=Te["__core-js_shared__"],Eo=(function(){var e=/[^.]+$/.exec(yn&&yn.keys&&yn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function Xr(e){return!!Eo&&Eo in e}var Jr=Function.prototype,Qr=Jr.toString;function We(e){if(e!=null){try{return Qr.call(e)}catch{}try{return e+""}catch{}}return""}var el=/[\\^$.*+?()[\]{}|]/g,tl=/^\[object .+?Constructor\]$/,nl=Function.prototype,ol=Object.prototype,il=nl.toString,al=ol.hasOwnProperty,rl=RegExp("^"+il.call(al).replace(el,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ll(e){if(!Ee(e)||Xr(e))return!1;var n=q(e)?rl:tl;return n.test(We(e))}function sl(e,n){return e?.[n]}function Ze(e,n){var o=sl(e,n);return ll(o)?o:void 0}var Tt=Ze(Object,"create");function dl(){this.__data__=Tt?Tt(null):{},this.size=0}function cl(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var ml="__lodash_hash_undefined__",ul=Object.prototype,fl=ul.hasOwnProperty;function pl(e){var n=this.__data__;if(Tt){var o=n[e];return o===ml?void 0:o}return fl.call(n,e)?n[e]:void 0}var hl=Object.prototype,gl=hl.hasOwnProperty;function yl(e){var n=this.__data__;return Tt?n[e]!==void 0:gl.call(n,e)}var bl="__lodash_hash_undefined__";function _l(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=Tt&&n===void 0?bl:n,this}function Xe(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])}}Xe.prototype.clear=dl,Xe.prototype.delete=cl,Xe.prototype.get=pl,Xe.prototype.has=yl,Xe.prototype.set=_l;function El(){this.__data__=[],this.size=0}function jt(e,n){return e===n||e!==e&&n!==n}function zt(e,n){for(var o=e.length;o--;)if(jt(e[o][0],n))return o;return-1}var Cl=Array.prototype,Sl=Cl.splice;function kl(e){var n=this.__data__,o=zt(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():Sl.call(n,o,1),--this.size,!0}function Tl(e){var n=this.__data__,o=zt(n,e);return o<0?void 0:n[o][1]}function wl(e){return zt(this.__data__,e)>-1}function Ml(e,n){var o=this.__data__,r=zt(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,this}function Fe(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])}}Fe.prototype.clear=El,Fe.prototype.delete=kl,Fe.prototype.get=Tl,Fe.prototype.has=wl,Fe.prototype.set=Ml;var wt=Ze(Te,"Map");function Nl(){this.size=0,this.__data__={hash:new Xe,map:new(wt||Fe),string:new Xe}}function Al(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function $t(e,n){var o=e.__data__;return Al(n)?o[typeof n=="string"?"string":"hash"]:o.map}function Il(e){var n=$t(this,e).delete(e);return this.size-=n?1:0,n}function Vl(e){return $t(this,e).get(e)}function Ol(e){return $t(this,e).has(e)}function Bl(e,n){var o=$t(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,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=Nl,Re.prototype.delete=Il,Re.prototype.get=Vl,Re.prototype.has=Ol,Re.prototype.set=Bl;var Fl="Expected a function";function bn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Fl);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 d=e.apply(this,r);return o.cache=i.set(a,d)||i,d};return o.cache=new(bn.Cache||Re),o}bn.Cache=Re;var Rl=500;function Dl(e){var n=bn(e,function(r){return o.size===Rl&&o.clear(),r}),o=n.cache;return n}var Ul=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ll=/\\(\\)?/g,Pl=Dl(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(Ul,function(o,r,a,i){n.push(a?i.replace(Ll,"$1"):r||o)}),n});function vl(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 Co=Le?Le.prototype:void 0,So=Co?Co.toString:void 0;function ko(e){if(typeof e=="string")return e;if(xe(e))return vl(e,ko)+"";if(Kt(e))return So?So.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function To(e){return e==null?"":ko(e)}function xl(e,n){return xe(e)?e:Zr(e,n)?[e]:Pl(To(e))}function Kl(e){if(typeof e=="string"||Kt(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function jl(e,n){n=xl(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[Kl(n[o++])];return o&&o==r?e:void 0}function K(e,n,o){var r=e==null?void 0:jl(e,n);return r===void 0?o:r}function ne(e){return e==null}const Ce="kong-ui-forms-api",qt="kong-ui-forms-config",wo="redis-partial-list-fetcher-key",zl="redis-partial-info",Je="autofill",he="autofillSlot",Ne={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"},Mo="—";function No(e,n){(n==null||n>e.length)&&(n=e.length);for(var o=0,r=Array(n);o<n;o++)r[o]=e[o];return r}function $l(e){if(Array.isArray(e))return e}function ql(e,n){var o=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(o!=null){var r,a,i,d,s=[],f=!0,m=!1;try{if(i=(o=o.call(e)).next,n!==0)for(;!(f=(r=i.call(o)).done)&&(s.push(r.value),s.length!==n);f=!0);}catch(b){m=!0,a=b}finally{try{if(!f&&o.return!=null&&(d=o.return(),Object(d)!==d))return}finally{if(m)throw a}}return s}}function Hl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gl(e,n){return $l(e)||ql(e,n)||Yl(e,n)||Hl()}function Yl(e,n){if(e){if(typeof e=="string")return No(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)?No(e,n):void 0}}const Ao=Object.entries,Io=Object.setPrototypeOf,Wl=Object.isFrozen,Zl=Object.getPrototypeOf,Xl=Object.getOwnPropertyDescriptor;let le=Object.freeze,se=Object.seal,lt=Object.create,Vo=typeof Reflect<"u"&&Reflect,_n=Vo.apply,En=Vo.construct;le||(le=function(n){return n}),se||(se=function(n){return n}),_n||(_n=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)}),En||(En=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 st=ie(Array.prototype.forEach),Jl=ie(Array.prototype.lastIndexOf),Oo=ie(Array.prototype.pop),dt=ie(Array.prototype.push),Ql=ie(Array.prototype.splice),Ke=Array.isArray,Mt=ie(String.prototype.toLowerCase),Cn=ie(String.prototype.toString),Bo=ie(String.prototype.match),Nt=ie(String.prototype.replace),Fo=ie(String.prototype.indexOf),es=ie(String.prototype.trim),ts=ie(Number.prototype.toString),ns=ie(Boolean.prototype.toString),Ro=typeof BigInt>"u"?null:ie(BigInt.prototype.toString),Do=typeof Symbol>"u"?null:ie(Symbol.prototype.toString),ae=ie(Object.prototype.hasOwnProperty),At=ie(Object.prototype.toString),re=ie(RegExp.prototype.test),Qe=os(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 _n(e,n,r)}}function os(e){return function(){for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return En(e,o)}}function v(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Mt;if(Io&&Io(e,null),!Ke(n))return e;let r=n.length;for(;r--;){let a=n[r];if(typeof a=="string"){const i=o(a);i!==a&&(Wl(n)||(n[r]=i),a=i)}e[a]=!0}return e}function is(e){for(let n=0;n<e.length;n++)ae(e,n)||(e[n]=null);return e}function me(e){const n=lt(null);for(const r of Ao(e)){var o=Gl(r,2);const a=o[0],i=o[1];ae(e,a)&&(Ke(i)?n[a]=is(i):i&&typeof i=="object"&&i.constructor===Object?n[a]=me(i):n[a]=i)}return n}function as(e){switch(typeof e){case"string":return e;case"number":return ts(e);case"boolean":return ns(e);case"bigint":return Ro?Ro(e):"0";case"symbol":return Do?Do(e):"Symbol()";case"undefined":return At(e);case"function":case"object":{if(e===null)return At(e);const n=e,o=Ae(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 Ae(e,n){for(;e!==null;){const r=Xl(e,n);if(r){if(r.get)return ie(r.get);if(typeof r.value=="function")return ie(r.value)}e=Zl(e)}function o(){return null}return o}function rs(e){try{return re(e,""),!0}catch{return!1}}const Uo=le(["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"]),Sn=le(["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"]),kn=le(["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"]),ls=le(["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"]),Tn=le(["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"]),ss=le(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Lo=le(["#text"]),Po=le(["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"]),wn=le(["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","dominant-baseline","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-orientation","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"]),vo=le(["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=le(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ds=se(/{{[\w\W]*|^[\w\W]*}}/g),cs=se(/<%[\w\W]*|^[\w\W]*%>/g),ms=se(/\${[\w\W]*/g),us=se(/^data-[\-\w.\u00B7-\uFFFF]+$/),fs=se(/^aria-[\-\w]+$/),xo=se(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ps=se(/^(?:\w+script|data):/i),hs=se(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),gs=se(/^html$/i),ys=se(/^[a-z][.\w]*(-[.\w]+)+$/i),Ko=se(/<[/\w!]/g),jo=se(/<[/\w]/g),bs=se(/<\/no(script|embed|frames)/i),_s=se(/\/>/i),Se={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Es=function(){return typeof window>"u"?null:window},Cs=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(d){return d},createScriptURL(d){return d}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},zo=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},je=function(n,o,r,a){return ae(n,o)&&Ke(n[o])?v(a.base?me(a.base):{},n[o],a.transform):r};function $o(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Es();const n=w=>$o(w);if(n.version="3.4.13",n.removed=[],!e||!e.document||e.document.nodeType!==Se.document||!e.Element)return n.isSupported=!1,n;let o=e.document;const r=o,a=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,d=e.Node,s=e.Element,f=e.NodeFilter,m=e.NamedNodeMap;m===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const b=e.DOMParser,u=e.trustedTypes,p=s.prototype,k=Ae(p,"cloneNode"),T=Ae(p,"remove"),_=Ae(p,"nextSibling"),A=Ae(p,"childNodes"),N=Ae(p,"parentNode"),L=Ae(p,"shadowRoot"),I=Ae(p,"attributes"),E=d&&d.prototype?Ae(d.prototype,"nodeType"):null,g=d&&d.prototype?Ae(d.prototype,"nodeName"):null,y=d&&d.prototype?Ae(d.prototype,"ownerDocument"):null;if(typeof i=="function"){const w=o.createElement("template");w.content&&w.content.ownerDocument&&(o=w.content.ownerDocument)}let O,F="",S,h=!1,M=0;const R=function(){if(M>0)throw Qe('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.')},j=function(l){R(),M++;try{return O.createHTML(l)}finally{M--}},fe=function(l){R(),M++;try{return O.createScriptURL(l)}finally{M--}},ht=function(){return h||(S=Cs(u,a),h=!0),S},gt=o,Rt=gt.implementation,en=gt.createNodeIterator,xn=gt.createDocumentFragment,P=gt.getElementsByTagName,ee=r.importNode;let z=zo();n.isSupported=typeof Ao=="function"&&typeof N=="function"&&Rt&&Rt.createHTMLDocument!==void 0;const Sh=ds,kh=cs,Th=ms,wh=us,Mh=fs,Nh=ps,ua=hs,Ah=ys;let fa=xo,Y=null;const Kn=v({},[...Uo,...Sn,...kn,...Tn,...Lo]);let W=null;const jn=v({},[...Po,...wn,...vo,...Ht]);let te=Object.seal(lt(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,pa=null;const qe=Object.seal(lt(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ha=!0,zn=!0,ga=!1,ya=!0,He=!1,Ge=!0,ot=!1,$n=!1,tn=null,nn=null,qn=!1,yt=!1,on=!1,an=!1,ba=!0,_a=!1;const Ea="user-content-";let Hn=!0,rn=!1,bt={},Ve=null;const Gn=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 Ca=null;const Sa=v({},["audio","video","img","source","image","track"]);let Yn=null;const ka=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ln="http://www.w3.org/1998/Math/MathML",sn="http://www.w3.org/2000/svg",Oe="http://www.w3.org/1999/xhtml";let _t=Oe,Wn=!1,Zn=null;const Ih=v({},[ln,sn,Oe],Cn),Ta=le(["mi","mo","mn","ms","mtext"]);let Xn=v({},Ta);const wa=le(["annotation-xml"]);let Jn=v({},wa);const Vh=v({},["title","style","font","a","script"]);let Ut=null;const Oh=["application/xhtml+xml","text/html"],Bh="text/html";let J=null,Et=null;const Fh=o.createElement("form"),Ma=function(l){return l instanceof RegExp||l instanceof Function},Qn=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Et&&Et===l)return;(!l||typeof l!="object")&&(l={}),l=me(l),Ut=Oh.indexOf(l.PARSER_MEDIA_TYPE)===-1?Bh:l.PARSER_MEDIA_TYPE,J=Ut==="application/xhtml+xml"?Cn:Mt,Y=je(l,"ALLOWED_TAGS",Kn,{transform:J}),W=je(l,"ALLOWED_ATTR",jn,{transform:J}),Zn=je(l,"ALLOWED_NAMESPACES",Ih,{transform:Cn}),Yn=je(l,"ADD_URI_SAFE_ATTR",ka,{transform:J,base:ka}),Ca=je(l,"ADD_DATA_URI_TAGS",Sa,{transform:J,base:Sa}),Ve=je(l,"FORBID_CONTENTS",Gn,{transform:J}),Dt=je(l,"FORBID_TAGS",me({}),{transform:J}),pa=je(l,"FORBID_ATTR",me({}),{transform:J}),bt=ae(l,"USE_PROFILES")?l.USE_PROFILES&&typeof l.USE_PROFILES=="object"?me(l.USE_PROFILES):l.USE_PROFILES:!1,ha=l.ALLOW_ARIA_ATTR!==!1,zn=l.ALLOW_DATA_ATTR!==!1,ga=l.ALLOW_UNKNOWN_PROTOCOLS||!1,ya=l.ALLOW_SELF_CLOSE_IN_ATTR!==!1,He=l.SAFE_FOR_TEMPLATES||!1,Ge=l.SAFE_FOR_XML!==!1,ot=l.WHOLE_DOCUMENT||!1,yt=l.RETURN_DOM||!1,on=l.RETURN_DOM_FRAGMENT||!1,an=l.RETURN_TRUSTED_TYPE||!1,qn=l.FORCE_BODY||!1,ba=l.SANITIZE_DOM!==!1,_a=l.SANITIZE_NAMED_PROPS||!1,Hn=l.KEEP_CONTENT!==!1,rn=l.IN_PLACE||!1,fa=rs(l.ALLOWED_URI_REGEXP)?l.ALLOWED_URI_REGEXP:xo,_t=typeof l.NAMESPACE=="string"?l.NAMESPACE:Oe,Xn=ae(l,"MATHML_TEXT_INTEGRATION_POINTS")&&l.MATHML_TEXT_INTEGRATION_POINTS&&typeof l.MATHML_TEXT_INTEGRATION_POINTS=="object"?me(l.MATHML_TEXT_INTEGRATION_POINTS):v({},Ta),Jn=ae(l,"HTML_INTEGRATION_POINTS")&&l.HTML_INTEGRATION_POINTS&&typeof l.HTML_INTEGRATION_POINTS=="object"?me(l.HTML_INTEGRATION_POINTS):v({},wa);const c=ae(l,"CUSTOM_ELEMENT_HANDLING")&&l.CUSTOM_ELEMENT_HANDLING&&typeof l.CUSTOM_ELEMENT_HANDLING=="object"?me(l.CUSTOM_ELEMENT_HANDLING):lt(null);if(te=lt(null),ae(c,"tagNameCheck")&&Ma(c.tagNameCheck)&&(te.tagNameCheck=c.tagNameCheck),ae(c,"attributeNameCheck")&&Ma(c.attributeNameCheck)&&(te.attributeNameCheck=c.attributeNameCheck),ae(c,"allowCustomizedBuiltInElements")&&typeof c.allowCustomizedBuiltInElements=="boolean"&&(te.allowCustomizedBuiltInElements=c.allowCustomizedBuiltInElements),se(te),He&&(zn=!1),on&&(yt=!0),bt&&(Y=v({},Lo),W=lt(null),bt.html===!0&&(v(Y,Uo),v(W,Po)),bt.svg===!0&&(v(Y,Sn),v(W,wn),v(W,Ht)),bt.svgFilters===!0&&(v(Y,kn),v(W,wn),v(W,Ht)),bt.mathMl===!0&&(v(Y,Tn),v(W,vo),v(W,Ht))),qe.tagCheck=null,qe.attributeCheck=null,ae(l,"ADD_TAGS")&&(typeof l.ADD_TAGS=="function"?qe.tagCheck=l.ADD_TAGS:Ke(l.ADD_TAGS)&&(Y===Kn&&(Y=me(Y)),v(Y,l.ADD_TAGS,J))),ae(l,"ADD_ATTR")&&(typeof l.ADD_ATTR=="function"?qe.attributeCheck=l.ADD_ATTR:Ke(l.ADD_ATTR)&&(W===jn&&(W=me(W)),v(W,l.ADD_ATTR,J))),ae(l,"ADD_URI_SAFE_ATTR")&&Ke(l.ADD_URI_SAFE_ATTR)&&v(Yn,l.ADD_URI_SAFE_ATTR,J),ae(l,"FORBID_CONTENTS")&&Ke(l.FORBID_CONTENTS)&&(Ve===Gn&&(Ve=me(Ve)),v(Ve,l.FORBID_CONTENTS,J)),ae(l,"ADD_FORBID_CONTENTS")&&Ke(l.ADD_FORBID_CONTENTS)&&(Ve===Gn&&(Ve=me(Ve)),v(Ve,l.ADD_FORBID_CONTENTS,J)),Hn&&(Y["#text"]=!0),ot&&v(Y,["html","head","body"]),Y.table&&(v(Y,["tbody"]),delete Dt.tbody),l.TRUSTED_TYPES_POLICY){if(typeof l.TRUSTED_TYPES_POLICY.createHTML!="function")throw Qe('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof l.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Qe('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const C=O;O=l.TRUSTED_TYPES_POLICY;try{F=j("")}catch(V){throw O=C,V}}else l.TRUSTED_TYPES_POLICY===null?(O=void 0,F=""):(O===void 0&&(O=ht()),O&&typeof F=="string"&&(F=j("")));le&&le(l),Et=l},Na=v({},[...Sn,...kn,...ls]),Aa=v({},[...Tn,...ss]),Rh=function(l,c,C){return c.namespaceURI===Oe?l==="svg":c.namespaceURI===ln?l==="svg"&&(C==="annotation-xml"||Xn[C]):!!Na[l]},Dh=function(l,c,C){return c.namespaceURI===Oe?l==="math":c.namespaceURI===sn?l==="math"&&Jn[C]:!!Aa[l]},Uh=function(l,c,C){return c.namespaceURI===sn&&!Jn[C]||c.namespaceURI===ln&&!Xn[C]?!1:!Aa[l]&&(Vh[l]||!Na[l])},Lh=function(l){let c=N(l);(!c||!c.tagName)&&(c={namespaceURI:_t,tagName:"template"});const C=Mt(l.tagName),V=Mt(c.tagName);return Zn[l.namespaceURI]?l.namespaceURI===sn?Rh(C,c,V):l.namespaceURI===ln?Dh(C,c,V):l.namespaceURI===Oe?Uh(C,c,V):!!(Ut==="application/xhtml+xml"&&Zn[l.namespaceURI]):!1},Ye=function(l){dt(n.removed,{element:l});try{N(l).removeChild(l)}catch{if(T(l),!N(l))throw Qe("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},dn=function(l){Lt(l);const c=A(l);if(c){const V=[];st(c,B=>{dt(V,B)}),st(V,B=>{try{T(B)}catch{}})}const C=I(l);if(C)for(let V=C.length-1;V>=0;--V){const B=C[V],D=B&&B.name;if(typeof D=="string")try{l.removeAttribute(D)}catch{}}},it=function(l,c){try{dt(n.removed,{attribute:c.getAttributeNode(l),from:c})}catch{dt(n.removed,{attribute:null,from:c})}if(c.removeAttribute(l),l==="is")if(yt||on)try{Ye(c)}catch{}else try{c.setAttribute(l,"")}catch{}},Ph=function(l){const c=I(l);if(c)for(let C=c.length-1;C>=0;--C){const V=c[C],B=V&&V.name;if(!(typeof B!="string"||W[J(B)]))try{l.removeAttribute(B)}catch{}}},Lt=function(l){const c=[l];for(;c.length>0;){const C=c.pop();(E?E(C):C.nodeType)===Se.element&&Ph(C);const B=A(C);if(B)for(let D=B.length-1;D>=0;--D)c.push(B[D])}},vh=function(l){if(!Ge)return;const c=[l];for(;c.length>0;){const C=c.pop(),V=E?E(C):C.nodeType;if(V===Se.processingInstruction||V===Se.comment&&re(jo,C.data)){try{T(C)}catch{}continue}if(V===Se.element){const D=C,$=J(g?g(C):C.nodeName);try{D.hasAttribute&&D.hasAttribute("patchsrc")&&D.removeAttribute("patchsrc"),D.hasAttribute&&D.hasAttribute("for")&&$!=="label"&&$!=="output"&&D.removeAttribute("for")}catch{}}const B=A(C);if(B)for(let D=B.length-1;D>=0;--D)c.push(B[D])}},Ia=function(l){let c=null,C=null;if(qn)l="<remove></remove>"+l;else{const D=Bo(l,/^[\r\n\t ]+/);C=D&&D[0]}Ut==="application/xhtml+xml"&&_t===Oe&&(l='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+l+"</body></html>");const V=O?j(l):l;if(_t===Oe)try{c=new b().parseFromString(V,Ut)}catch{}if(!c||!c.documentElement){c=Rt.createDocument(_t,"template",null);try{c.documentElement.innerHTML=Wn?F:V}catch{}}const B=c.body||c.documentElement;return l&&C&&B.insertBefore(o.createTextNode(C),B.childNodes[0]||null),_t===Oe?P.call(c,ot?"html":"body")[0]:ot?c.documentElement:B},Va=function(l){const c=y?y(l):l.ownerDocument;return en.call(c||l,l,f.SHOW_ELEMENT|f.SHOW_COMMENT|f.SHOW_TEXT|f.SHOW_PROCESSING_INSTRUCTION|f.SHOW_CDATA_SECTION,null)},cn=function(l){return l=Nt(l,Sh," "),l=Nt(l,kh," "),l=Nt(l,Th," "),l},eo=function(l){var c;l.normalize();const C=y?y(l):l.ownerDocument,V=en.call(C||l,l,f.SHOW_TEXT|f.SHOW_COMMENT|f.SHOW_CDATA_SECTION|f.SHOW_PROCESSING_INSTRUCTION,null);let B=V.nextNode();for(;B;)B.data=cn(B.data),B=V.nextNode();const D=(c=l.querySelectorAll)===null||c===void 0?void 0:c.call(l,"template");D&&st(D,$=>{Ct($.content)&&eo($.content)})},mn=function(l){const c=g?g(l):null;return typeof c!="string"||J(c)!=="form"?!1:typeof l.nodeName!="string"||typeof l.textContent!="string"||typeof l.removeChild!="function"||l.attributes!==I(l)||typeof l.removeAttribute!="function"||typeof l.setAttribute!="function"||typeof l.namespaceURI!="string"||typeof l.insertBefore!="function"||typeof l.hasChildNodes!="function"||l.nodeType!==E(l)||l.childNodes!==A(l)},Ct=function(l){if(!E||typeof l!="object"||l===null)return!1;try{return E(l)===Se.documentFragment}catch{return!1}},Pt=function(l){if(!E||typeof l!="object"||l===null)return!1;try{return typeof E(l)=="number"}catch{return!1}};function Be(w,l,c){w.length!==0&&st(w,C=>{C.call(n,l,c,Et)})}const xh=function(l,c){return!!(Ge&&l.hasChildNodes()&&!Pt(l.firstElementChild)&&re(Ko,l.textContent)&&re(Ko,l.innerHTML)||Ge&&l.namespaceURI===Oe&&c==="style"&&Pt(l.firstElementChild)||l.nodeType===Se.processingInstruction||Ge&&l.nodeType===Se.comment&&re(jo,l.data))},Kh=function(l,c,C){if(!Dt[c]&&Ra(c)&&(te.tagNameCheck instanceof RegExp&&re(te.tagNameCheck,c)||te.tagNameCheck instanceof Function&&te.tagNameCheck(c)))return!1;if(Hn&&!Ve[c]){const V=N(l),B=A(l);if(B&&V){const D=B.length;for(let $=D-1;$>=0;--$){const Q=l===C?k(B[$],!0):B[$];V.insertBefore(Q,_(l))}}}return Ye(l),!0},Oa=function(l,c,C,V){return l.length===0?c:c===C||c===V?me(c):c},Ba=function(l,c){if(Be(z.beforeSanitizeElements,l,null),l!==c&&N(l)===null)return rn&&Lt(l),!0;if(mn(l))return Ye(l),!0;const C=J(g?g(l):l.nodeName);if(Y=Oa(z.uponSanitizeElement,Y,Kn,tn),Be(z.uponSanitizeElement,l,{tagName:C,allowedTags:Y}),l!==c&&N(l)===null)return rn&&Lt(l),!0;if(xh(l,C))return Ye(l),!0;if(Dt[C]||!(qe.tagCheck instanceof Function&&qe.tagCheck(C))&&!Y[C]){const B=Kh(l,C,c);return B===!1&&Be(z.afterSanitizeElements,l,null),B}if((E?E(l):l.nodeType)===Se.element&&!Lh(l)||(C==="noscript"||C==="noembed"||C==="noframes")&&re(bs,l.innerHTML))return Ye(l),!0;if(He&&l.nodeType===Se.text){const B=cn(l.textContent);l.textContent!==B&&(dt(n.removed,{element:l.cloneNode()}),l.textContent=B)}return Be(z.afterSanitizeElements,l,null),!1},Fa=function(l,c,C){if(pa[c]||Ge&&c==="patchsrc"||Ge&&c==="for"&&l!=="label"&&l!=="output"||ba&&(c==="id"||c==="name")&&(C in o||C in Fh))return!1;const V=W[c]||qe.attributeCheck instanceof Function&&qe.attributeCheck(c,l);if(!(zn&&re(wh,c))){if(!(ha&&re(Mh,c))){if(V){if(!Yn[c]){if(!re(fa,Nt(C,ua,""))){if(!((c==="src"||c==="xlink:href"||c==="href")&&l!=="script"&&Fo(C,"data:")===0&&Ca[l])){if(!(ga&&!re(Nh,Nt(C,ua,"")))){if(C)return!1}}}}}else if(!(Ra(l)&&(te.tagNameCheck instanceof RegExp&&re(te.tagNameCheck,l)||te.tagNameCheck instanceof Function&&te.tagNameCheck(l))&&(te.attributeNameCheck instanceof RegExp&&re(te.attributeNameCheck,c)||te.attributeNameCheck instanceof Function&&te.attributeNameCheck(c,l))||c==="is"&&te.allowCustomizedBuiltInElements&&(te.tagNameCheck instanceof RegExp&&re(te.tagNameCheck,C)||te.tagNameCheck instanceof Function&&te.tagNameCheck(C))))return!1}}return!0},jh=v({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ra=function(l){return!jh[Mt(l)]&&re(Ah,l)},zh=function(l,c,C,V){if(O&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!C)switch(u.getAttributeType(l,c)){case"TrustedHTML":return j(V);case"TrustedScriptURL":return fe(V)}return V},$h=function(l,c,C,V){try{C?l.setAttributeNS(C,c,V):l.setAttribute(c,V),mn(l)?Ye(l):Oo(n.removed)}catch{it(c,l)}},Da=function(l){Be(z.beforeSanitizeAttributes,l,null);const c=l.attributes;if(!c||mn(l))return;W=Oa(z.uponSanitizeAttribute,W,jn,nn);const C={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W,forceKeepAttr:void 0};let V=c.length;const B=J(l.nodeName);for(;V--;){const D=c[V],$=D.name,Q=D.namespaceURI,ye=D.value,be=J($),no=ye;let pe=$==="value"?no:es(no);if(C.attrName=be,C.attrValue=pe,C.keepAttr=!0,C.forceKeepAttr=void 0,Be(z.uponSanitizeAttribute,l,C),pe=C.attrValue,_a&&(be==="id"||be==="name")&&Fo(pe,Ea)!==0&&(it($,l),pe=Ea+pe),Ge&&re(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,pe)){it($,l);continue}if(be==="attributename"&&Bo(pe,"href")){it($,l);continue}if(!C.forceKeepAttr){if(!C.keepAttr){it($,l);continue}if(!ya&&re(_s,pe)){it($,l);continue}if(He&&(pe=cn(pe)),!Fa(B,be,pe)){it($,l);continue}pe=zh(B,be,Q,pe),pe!==no&&$h(l,$,Q,pe)}}Be(z.afterSanitizeAttributes,l,null)},un=function(l){let c=null;const C=Va(l);for(Be(z.beforeSanitizeShadowDOM,l,null);c=C.nextNode();)if(Be(z.uponSanitizeShadowNode,c,null),Ba(c,l),Da(c),Ct(c.content)&&un(c.content),(E?E(c):c.nodeType)===Se.element){const B=L(c);Ct(B)&&(to(B),un(B))}Be(z.afterSanitizeShadowDOM,l,null)},to=function(l){const c=[{node:l,shadow:null}];for(;c.length>0;){const C=c.pop();if(C.shadow){un(C.shadow);continue}const V=C.node,D=(E?E(V):V.nodeType)===Se.element,$=A(V);if($)for(let Q=$.length-1;Q>=0;--Q)c.push({node:$[Q],shadow:null});if(D){const Q=g?g(V):null;if(typeof Q=="string"&&J(Q)==="template"){const ye=V.content;Ct(ye)&&c.push({node:ye,shadow:null})}}if(D){const Q=L(V);Ct(Q)&&c.push({node:null,shadow:Q},{node:Q,shadow:null})}}};return n.sanitize=function(w){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=null,C=null,V=null,B=null;if(Wn=!w,Wn&&(w="<!-->"),typeof w!="string"&&!Pt(w)&&(w=as(w),typeof w!="string"))throw Qe("dirty is not a string, aborting");if(!n.isSupported)return w;$n?(Y=tn,W=nn):Qn(l),(z.uponSanitizeElement.length>0||z.uponSanitizeAttribute.length>0)&&(Y=me(Y)),z.uponSanitizeAttribute.length>0&&(W=me(W)),n.removed=[];const D=rn&&typeof w!="string"&&Pt(w);if(D){vh(w);const ye=g?g(w):w.nodeName;if(typeof ye=="string"){const be=J(ye);if(!Y[be]||Dt[be])throw dn(w),Qe("root node is forbidden and cannot be sanitized in-place")}if(mn(w))throw dn(w),Qe("root node is clobbered and cannot be sanitized in-place");try{to(w)}catch(be){throw dn(w),be}}else if(Pt(w))c=Ia("<!---->"),C=c.ownerDocument.importNode(w,!0),C.nodeType===Se.element&&C.nodeName==="BODY"||C.nodeName==="HTML"?c=C:c.appendChild(C),to(C);else{if(!yt&&!He&&!ot&&w.indexOf("<")===-1)return O&&an?j(w):w;if(c=Ia(w),!c)return yt?null:an?F:""}c&&qn&&Ye(c.firstChild);const $=D?w:c;try{const ye=Va($);for(;V=ye.nextNode();)Ba(V,$),Da(V),Ct(V.content)&&un(V.content)}catch(ye){throw D&&(dn(w),st(n.removed,be=>{be.element&&Lt(be.element)})),ye}if(D)return st(n.removed,ye=>{ye.element&&Lt(ye.element)}),He&&eo(w),w;if(yt){if(He&&eo(c),on)for(B=xn.call(c.ownerDocument);c.firstChild;)B.appendChild(c.firstChild);else B=c;return(W.shadowroot||W.shadowrootmode)&&(B=ee.call(r,B,!0)),B}let Q=ot?c.outerHTML:c.innerHTML;return ot&&Y["!doctype"]&&c.ownerDocument&&c.ownerDocument.doctype&&c.ownerDocument.doctype.name&&re(gs,c.ownerDocument.doctype.name)&&(Q="<!DOCTYPE "+c.ownerDocument.doctype.name+`>
3
- `+Q),He&&(Q=cn(Q)),O&&an?j(Q):Q},n.setConfig=function(){let w=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Qn(w),$n=!0,tn=Y,nn=W},n.clearConfig=function(){Et=null,$n=!1,tn=null,nn=null,O=S,F=""},n.isValidAttribute=function(w,l,c){Et||Qn({});const C=J(w),V=J(l);return Fa(C,V,c)},n.addHook=function(w,l){typeof l=="function"&&ae(z,w)&&dt(z[w],l)},n.removeHook=function(w,l){if(ae(z,w)){if(l!==void 0){const c=Jl(z[w],l);return c===-1?void 0:Ql(z[w],c,1)[0]}return Oo(z[w])}},n.removeHooks=function(w){ae(z,w)&&(z[w]=[])},n.removeAllHooks=function(){z=zo()},n}var Gt=$o();function Ss(){this.__data__=new Fe,this.size=0}function ks(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function Ts(e){return this.__data__.get(e)}function ws(e){return this.__data__.has(e)}var Ms=200;function Ns(e,n){var o=this.__data__;if(o instanceof Fe){var r=o.__data__;if(!wt||r.length<Ms-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Re(r)}return o.set(e,n),this.size=o.size,this}function ct(e){var n=this.__data__=new Fe(e);this.size=n.size}ct.prototype.clear=Ss,ct.prototype.delete=ks,ct.prototype.get=Ts,ct.prototype.has=ws,ct.prototype.set=Ns;var Yt=(function(){try{var e=Ze(Object,"defineProperty");return e({},"",{}),e}catch{}})();function qo(e,n,o){n=="__proto__"&&Yt?Yt(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}var As=Object.prototype,Is=As.hasOwnProperty;function Ho(e,n,o){var r=e[n];(!(Is.call(e,n)&&jt(r,o))||o===void 0&&!(n in e))&&qo(e,n,o)}function Wt(e,n,o,r){var a=!o;o||(o={});for(var i=-1,d=n.length;++i<d;){var s=n[i],f=void 0;f===void 0&&(f=e[s]),a?qo(o,s,f):Ho(o,s,f)}return o}function Vs(e,n){return e&&Wt(n,xt(n),e)}function Os(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Bs=Object.prototype,Fs=Bs.hasOwnProperty;function Rs(e){if(!Ee(e))return Os(e);var n=hn(e),o=[];for(var r in e)r=="constructor"&&(n||!Fs.call(e,r))||o.push(r);return o}function Zt(e){return vt(e)?bo(e,!0):Rs(e)}function Ds(e,n){return e&&Wt(n,Zt(n),e)}var Go=typeof U=="object"&&U&&!U.nodeType&&U,Yo=Go&&typeof module=="object"&&module&&!module.nodeType&&module,Us=Yo&&Yo.exports===Go,Wo=Us?Te.Buffer:void 0,Zo=Wo?Wo.allocUnsafe:void 0;function Ls(e,n){if(n)return e.slice();var o=e.length,r=Zo?Zo(o):new e.constructor(o);return e.copy(r),r}function Ps(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}function vs(e,n){for(var o=-1,r=e==null?0:e.length,a=0,i=[];++o<r;){var d=e[o];n(d,o,e)&&(i[a++]=d)}return i}function Xo(){return[]}var xs=Object.prototype,Ks=xs.propertyIsEnumerable,Jo=Object.getOwnPropertySymbols,Mn=Jo?function(e){return e==null?[]:(e=Object(e),vs(Jo(e),function(n){return Ks.call(e,n)}))}:Xo;function js(e,n){return Wt(e,Mn(e),n)}function Qo(e,n){for(var o=-1,r=n.length,a=e.length;++o<r;)e[a+o]=n[o];return e}var ei=_o(Object.getPrototypeOf,Object),zs=Object.getOwnPropertySymbols,ti=zs?function(e){for(var n=[];e;)Qo(n,Mn(e)),e=ei(e);return n}:Xo;function $s(e,n){return Wt(e,ti(e),n)}function ni(e,n,o){var r=n(e);return xe(e)?r:Qo(r,o(e))}function qs(e){return ni(e,xt,Mn)}function Hs(e){return ni(e,Zt,ti)}var Nn=Ze(Te,"DataView"),An=Ze(Te,"Promise"),mt=Ze(Te,"Set"),In=Ze(Te,"WeakMap"),oi="[object Map]",Gs="[object Object]",ii="[object Promise]",ai="[object Set]",ri="[object WeakMap]",li="[object DataView]",Ys=We(Nn),Ws=We(wt),Zs=We(An),Xs=We(mt),Js=We(In),De=Pe;(Nn&&De(new Nn(new ArrayBuffer(1)))!=li||wt&&De(new wt)!=oi||An&&De(An.resolve())!=ii||mt&&De(new mt)!=ai||In&&De(new In)!=ri)&&(De=function(e){var n=Pe(e),o=n==Gs?e.constructor:void 0,r=o?We(o):"";if(r)switch(r){case Ys:return li;case Ws:return oi;case Zs:return ii;case Xs:return ai;case Js:return ri}return n});var Qs=Object.prototype,ed=Qs.hasOwnProperty;function td(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&ed.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var si=Te.Uint8Array;function Vn(e){var n=new e.constructor(e.byteLength);return new si(n).set(new si(e)),n}function nd(e,n){var o=n?Vn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var od=/\w*$/;function id(e){var n=new e.constructor(e.source,od.exec(e));return n.lastIndex=e.lastIndex,n}var di=Le?Le.prototype:void 0,ci=di?di.valueOf:void 0;function ad(e){return ci?Object(ci.call(e)):{}}function rd(e,n){var o=n?Vn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var ld="[object Boolean]",sd="[object Date]",dd="[object Map]",cd="[object Number]",md="[object RegExp]",ud="[object Set]",fd="[object String]",pd="[object Symbol]",hd="[object ArrayBuffer]",gd="[object DataView]",yd="[object Float32Array]",bd="[object Float64Array]",_d="[object Int8Array]",Ed="[object Int16Array]",Cd="[object Int32Array]",Sd="[object Uint8Array]",kd="[object Uint8ClampedArray]",Td="[object Uint16Array]",wd="[object Uint32Array]";function Md(e,n,o){var r=e.constructor;switch(n){case hd:return Vn(e);case ld:case sd:return new r(+e);case gd:return nd(e,o);case yd:case bd:case _d:case Ed:case Cd:case Sd:case kd:case Td:case wd:return rd(e,o);case dd:return new r;case cd:case fd:return new r(e);case md:return id(e);case ud:return new r;case pd:return ad(e)}}var mi=Object.create,Nd=(function(){function e(){}return function(n){if(!Ee(n))return{};if(mi)return mi(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}})();function Ad(e){return typeof e.constructor=="function"&&!hn(e)?Nd(ei(e)):{}}var Id="[object Map]";function Vd(e){return ve(e)&&De(e)==Id}var ui=rt&&rt.isMap,Od=ui?fn(ui):Vd,Bd="[object Set]";function Fd(e){return ve(e)&&De(e)==Bd}var fi=rt&&rt.isSet,Rd=fi?fn(fi):Fd,Dd=1,Ud=2,Ld=4,pi="[object Arguments]",Pd="[object Array]",vd="[object Boolean]",xd="[object Date]",Kd="[object Error]",hi="[object Function]",jd="[object GeneratorFunction]",zd="[object Map]",$d="[object Number]",gi="[object Object]",qd="[object RegExp]",Hd="[object Set]",Gd="[object String]",Yd="[object Symbol]",Wd="[object WeakMap]",Zd="[object ArrayBuffer]",Xd="[object DataView]",Jd="[object Float32Array]",Qd="[object Float64Array]",ec="[object Int8Array]",tc="[object Int16Array]",nc="[object Int32Array]",oc="[object Uint8Array]",ic="[object Uint8ClampedArray]",ac="[object Uint16Array]",rc="[object Uint32Array]",H={};H[pi]=H[Pd]=H[Zd]=H[Xd]=H[vd]=H[xd]=H[Jd]=H[Qd]=H[ec]=H[tc]=H[nc]=H[zd]=H[$d]=H[gi]=H[qd]=H[Hd]=H[Gd]=H[Yd]=H[oc]=H[ic]=H[ac]=H[rc]=!0,H[Kd]=H[hi]=H[Wd]=!1;function It(e,n,o,r,a,i){var d,s=n&Dd,f=n&Ud,m=n&Ld;if(d!==void 0)return d;if(!Ee(e))return e;var b=xe(e);if(b){if(d=td(e),!s)return Ps(e,d)}else{var u=De(e),p=u==hi||u==jd;if(fo(e))return Ls(e,s);if(u==gi||u==pi||p&&!a){if(d=f||p?{}:Ad(e),!s)return f?$s(e,Ds(d,e)):js(e,Vs(d,e))}else{if(!H[u])return a?e:{};d=Md(e,u,s)}}i||(i=new ct);var k=i.get(e);if(k)return k;i.set(e,d),Rd(e)?e.forEach(function(A){d.add(It(A,n,o,A,e,i))}):Od(e)&&e.forEach(function(A,N){d.set(N,It(A,n,o,N,e,i))});var T=m?f?Hs:qs:f?Zt:xt,_=b?void 0:T(e);return oo(_||e,function(A,N){_&&(N=A,A=e[N]),Ho(d,N,It(A,n,o,N,e,i))}),d}var lc=1,sc=4;function Ue(e){return It(e,lc|sc)}const On=(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,""),yi=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var dc="[object String]";function et(e){return typeof e=="string"||!xe(e)&&ve(e)&&Pe(e)==dc}const bi={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,o={[K(this.options,"validationErrorClass","error")]:n,[K(this.options,"validationSuccessClass","valid")]:!n,disabled:this.fieldDisabled(e),readonly:this.fieldReadonly(e),featured:this.fieldFeatured(e),required:this.fieldRequired(e)};return Array.isArray(e.styleClasses)?ue(e.styleClasses,r=>o[r]=!0):et(e.styleClasses)&&(o[e.styleClasses]=!0),ne(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):ne(e.disabled)?!1:e.disabled},fieldReadonly(e){return q(e.readonly)?e.readonly.call(this,this.model,e,this):ne(e.readonly)?!1:e.readonly},fieldFeatured(e){return q(e.featured)?e.featured.call(this,this.model,e,this):ne(e.featured)?!1:e.featured},fieldRequired(e){return q(e.required)?e.required.call(this,this.model,e,this):ne(e.required)?!1:e.required}}};var Bn=function(){return Te.Date.now()},cc=/\s/;function mc(e){for(var n=e.length;n--&&cc.test(e.charAt(n)););return n}var uc=/^\s+/;function fc(e){return e&&e.slice(0,mc(e)+1).replace(uc,"")}var _i=NaN,pc=/^[-+]0x[0-9a-f]+$/i,hc=/^0b[01]+$/i,gc=/^0o[0-7]+$/i,yc=parseInt;function Fn(e){if(typeof e=="number")return e;if(Kt(e))return _i;if(Ee(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ee(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=fc(e);var o=hc.test(e);return o||gc.test(e)?yc(e.slice(2),o?2:8):pc.test(e)?_i:+e}var bc="Expected a function",_c=Math.max,Ec=Math.min;function ut(e,n,o){var r,a,i,d,s,f,m=0,b=!1,u=!1,p=!0;if(typeof e!="function")throw new TypeError(bc);n=Fn(n)||0,Ee(o)&&(b=!!o.leading,u="maxWait"in o,i=u?_c(Fn(o.maxWait)||0,n):i,p="trailing"in o?!!o.trailing:p);function k(y){var O=r,F=a;return r=a=void 0,m=y,d=e.apply(F,O),d}function T(y){return m=y,s=setTimeout(N,n),b?k(y):d}function _(y){var O=y-f,F=y-m,S=n-O;return u?Ec(S,i-F):S}function A(y){var O=y-f,F=y-m;return f===void 0||O>=n||O<0||u&&F>=i}function N(){var y=Bn();if(A(y))return L(y);s=setTimeout(N,_(y))}function L(y){return s=void 0,p&&r?k(y):(r=a=void 0,d)}function I(){s!==void 0&&clearTimeout(s),m=0,r=f=a=s=void 0}function E(){return s===void 0?d:L(Bn())}function g(){var y=Bn(),O=A(y);if(r=arguments,a=this,f=y,O){if(s===void 0)return T(f);if(u)return clearTimeout(s),s=setTimeout(N,n),k(f)}return s===void 0&&(s=setTimeout(N,n)),d}return g.cancel=I,g.flush=E,g}var Cc="__lodash_hash_undefined__";function Sc(e){return this.__data__.set(e,Cc),this}function kc(e){return this.__data__.has(e)}function Xt(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Re;++n<o;)this.add(e[n])}Xt.prototype.add=Xt.prototype.push=Sc,Xt.prototype.has=kc;function Tc(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 wc(e){return e!==e}function Mc(e,n,o){for(var r=o-1,a=e.length;++r<a;)if(e[r]===n)return r;return-1}function Nc(e,n,o){return n===n?Mc(e,n,o):Tc(e,wc,o)}function Ac(e,n){var o=e==null?0:e.length;return!!o&&Nc(e,n,0)>-1}function Ic(e,n){return e.has(n)}function Vc(){}function Ei(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var Oc=1/0,Bc=mt&&1/Ei(new mt([,-0]))[1]==Oc?function(e){return new mt(e)}:Vc,Fc=200;function Rc(e,n,o){var r=-1,a=Ac,i=e.length,d=!0,s=[],f=s;if(i>=Fc){var m=Bc(e);if(m)return Ei(m);d=!1,a=Ic,f=new Xt}else f=s;e:for(;++r<i;){var b=e[r],u=b;if(b=b!==0?b:0,d&&u===u){for(var p=f.length;p--;)if(f[p]===u)continue e;s.push(b)}else a(f,u,o)||(f!==s&&f.push(u),s.push(b))}return s}function Ci(e){return e&&e.length?Rc(e):[]}var Dc=0;function Si(e){var n=++Dc;return To(e)+n}var ki=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,ze="\\d\\d?",$e="\\d\\d",Uc="\\d{3}",Lc="\\d{4}",Vt="[^\\s]+",Ti=/\[([^]*?)\]/gm;function wi(e,n){for(var o=[],r=0,a=e.length;r<a;r++)o.push(e[r].substr(0,n));return o}var Mi=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 tt(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 d in i)e[d]=i[d]}return e}var Ni=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ai=["January","February","March","April","May","June","July","August","September","October","November","December"],Pc=wi(Ai,3),vc=wi(Ni,3),Ii={dayNamesShort:vc,dayNames:Ni,monthNamesShort:Pc,monthNames:Ai,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},Jt=tt({},Ii),xc=function(e){return Jt=tt(Jt,e)},Vi=function(e){return e.replace(/[|\\{()[^$+*?.-]/g,"\\$&")},ge=function(e,n){for(n===void 0&&(n=2),e=String(e);e.length<n;)e="0"+e;return e},Kc={D:function(e){return String(e.getDate())},DD:function(e){return ge(e.getDate())},Do:function(e,n){return n.DoFn(e.getDate())},d:function(e){return String(e.getDay())},dd:function(e){return ge(e.getDay())},ddd:function(e,n){return n.dayNamesShort[e.getDay()]},dddd:function(e,n){return n.dayNames[e.getDay()]},M:function(e){return String(e.getMonth()+1)},MM:function(e){return ge(e.getMonth()+1)},MMM:function(e,n){return n.monthNamesShort[e.getMonth()]},MMMM:function(e,n){return n.monthNames[e.getMonth()]},YY:function(e){return ge(String(e.getFullYear()),4).substr(2)},YYYY:function(e){return ge(e.getFullYear(),4)},h:function(e){return String(e.getHours()%12||12)},hh:function(e){return ge(e.getHours()%12||12)},H:function(e){return String(e.getHours())},HH:function(e){return ge(e.getHours())},m:function(e){return String(e.getMinutes())},mm:function(e){return ge(e.getMinutes())},s:function(e){return String(e.getSeconds())},ss:function(e){return ge(e.getSeconds())},S:function(e){return String(Math.round(e.getMilliseconds()/100))},SS:function(e){return ge(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return ge(e.getMilliseconds(),3)},a:function(e,n){return e.getHours()<12?n.amPm[0]:n.amPm[1]},A:function(e,n){return e.getHours()<12?n.amPm[0].toUpperCase():n.amPm[1].toUpperCase()},ZZ:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+ge(Math.floor(Math.abs(n)/60)*100+Math.abs(n)%60,4)},Z:function(e){var n=e.getTimezoneOffset();return(n>0?"-":"+")+ge(Math.floor(Math.abs(n)/60),2)+":"+ge(Math.abs(n)%60,2)}},Oi=function(e){return+e-1},Bi=[null,ze],Fi=[null,Vt],Ri=["isPm",Vt,function(e,n){var o=e.toLowerCase();return o===n.amPm[0]?0:o===n.amPm[1]?1:null}],Di=["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}],jc={D:["day",ze],DD:["day",$e],Do:["day",ze+Vt,function(e){return parseInt(e,10)}],M:["month",ze,Oi],MM:["month",$e,Oi],YY:["year",$e,function(e){var n=new Date,o=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?o-1:o)+e)}],h:["hour",ze,void 0,"isPm"],hh:["hour",$e,void 0,"isPm"],H:["hour",ze],HH:["hour",$e],m:["minute",ze],mm:["minute",$e],s:["second",ze],ss:["second",$e],YYYY:["year",Lc],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",$e,function(e){return+e*10}],SSS:["millisecond",Uc],d:Bi,dd:Bi,ddd:Fi,dddd:Fi,MMM:["month",Vt,Mi("monthNamesShort")],MMMM:["month",Vt,Mi("monthNames")],a:Ri,A:Ri,ZZ:Di,Z:Di},Qt={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"},zc=function(e){return tt(Qt,e)},$c=function(e,n,o){if(n===void 0&&(n=Qt.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=Qt[n]||n;var r=[];n=n.replace(Ti,function(i,d){return r.push(d),"@@@"});var a=tt(tt({},Jt),o);return n=n.replace(ki,function(i){return Kc[i](e,a)}),n.replace(/@@@/g,function(){return r.shift()})};function qc(e,n,o){if(o===void 0&&(o={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=Qt[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=[],d=[],s=n.replace(Ti,function(E,g){return d.push(Vi(g)),"@@@"}),f={},m={};s=Vi(s).replace(ki,function(E){var g=jc[E],y=g[0],O=g[1],F=g[3];if(f[y])throw new Error("Invalid format. "+y+" specified twice in format");return f[y]=!0,F&&(m[F]=!0),i.push(g),"("+O+")"}),Object.keys(m).forEach(function(E){if(!f[E])throw new Error("Invalid format. "+E+" is required in specified format")}),s=s.replace(/@@@/g,function(){return d.shift()});var b=e.match(new RegExp(s,"i"));if(!b)return null;for(var u=tt(tt({},Jt),o),p=1;p<b.length;p++){var k=i[p-1],T=k[0],_=k[2],A=_?_(b[p],u):+b[p];if(A==null)return null;a[T]=A}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var N;if(a.timezoneOffset==null){N=new Date(a.year,a.month,a.day,a.hour,a.minute,a.second,a.millisecond);for(var L=[["month","getMonth"],["day","getDate"],["hour","getHours"],["minute","getMinutes"],["second","getSeconds"]],p=0,I=L.length;p<I;p++)if(f[L[p][0]]&&a[L[p][0]]!==N[L[p][1]]())return null}else if(N=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 N}var ft={format:$c,parse:qc,defaultI18n:Ii,setGlobalDateI18n:xc,setGlobalDateMasks:zc};function Hc(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 Ui=Math.max;function Gc(e,n,o){return n=Ui(n===void 0?e.length-1:n,0),function(){for(var r=arguments,a=-1,i=Ui(r.length-n,0),d=Array(i);++a<i;)d[a]=r[n+a];a=-1;for(var s=Array(n+1);++a<n;)s[a]=r[a];return s[n]=o(d),Hc(e,this,s)}}function Yc(e){return function(){return e}}var Wc=Yt?function(e,n){return Yt(e,"toString",{configurable:!0,enumerable:!1,value:Yc(n),writable:!0})}:gn,Zc=800,Xc=16,Jc=Date.now;function Qc(e){var n=0,o=0;return function(){var r=Jc(),a=Xc-(r-o);if(o=r,a>0){if(++n>=Zc)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var em=Qc(Wc);function tm(e,n){return em(Gc(e,n,gn),e+"")}function nm(e,n,o){if(!Ee(o))return!1;var r=typeof n;return(r=="number"?vt(o)&&po(n,o.length):r=="string"&&n in o)?jt(o[n],e):!1}var Li=Object.prototype,om=Li.hasOwnProperty,im=tm(function(e,n){e=Object(e);var o=-1,r=n.length,a=r>2?n[2]:void 0;for(a&&nm(n[0],n[1],a)&&(r=1);++o<r;)for(var i=n[o],d=Zt(i),s=-1,f=d.length;++s<f;){var m=d[s],b=e[m];(b===void 0||jt(b,Li[m])&&!om.call(e,m))&&(e[m]=i[m])}return e}),am=Te.isFinite;function Pi(e){return typeof e=="number"&&am(e)}var vi=1/0,rm=17976931348623157e292;function lm(e){if(!e)return e===0?e:0;if(e=Fn(e),e===vi||e===-vi){var n=e<0?-1:1;return n*rm}return e===e?e:0}function sm(e){var n=lm(e),o=n%1;return n===n?o?n-o:n:0}function dm(e){return typeof e=="number"&&e==sm(e)}var cm="[object Number]";function Rn(e){return typeof e=="number"||ve(e)&&Pe(e)==cm}const ke={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:oe}=_e.createI18n("en-us",ke),de={fieldIsRequired:oe("validators.field_is_required"),invalidFormat:oe("validators.invalid_format"),numberTooSmall:oe("validators.number_too_small"),numberTooBig:oe("validators.number_too_large"),invalidNumber:oe("validators.invalid_number"),invalidInteger:oe("validators.invalid_integer"),textTooSmall:oe("validators.text_too_short"),textTooBig:oe("validators.text_too_long"),thisNotText:oe("validators.this_not_text"),thisNotArray:oe("validators.this_not_array"),selectMinItems:oe("validators.select_min_items"),selectMaxItems:oe("validators.select_max_items"),invalidDate:oe("validators.invalid_date"),dateIsEarly:oe("validators.date_is_early"),dateIsLate:oe("validators.date_is_late"),invalidEmail:oe("validators.invalid_email"),invalidURL:oe("validators.invalid_url"),invalidCard:oe("validators.invalid_card"),invalidCardNumber:oe("validators.invalid_card_number"),invalidTextContainNumber:oe("validators.invalid_text_contain_number"),invalidTextContainSpec:oe("validators.invalid_tex_contain_spec")},Z=(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},we=(e,n,o=de)=>ne(e)||e===""?n?[Z(o.fieldIsRequired)]:[]:null,nt={required:(e,n,o,r=de)=>we(e,n.required,r)||[],number:(e,n,o,r=de)=>{let a=we(e,n.required,r);return a!=null||(a=[],Pi(e)?(!ne(n.min)&&e<n.min,(r=de)&&a.push(Z(r.numberTooSmall,n.min)),!ne(n.max)&&e>n.max,(r=de)&&a.push(Z(r.numberTooBig,n.max))):a.push(Z(r.invalidNumber))),a},integer:(e,n,o,r=de)=>{let a=we(e,n.required,r);return a!=null||(a=[],a.concat(nt.number(e,n,o,r)),dm(e)||a.push(Z(r.invalidInteger))),a},double:(e,n,o,r=de)=>{const a=we(e,n.required,r);return a??(!Rn(e)||isNaN(e)?[Z(r.invalidNumber)]:[])},string:(e,n,o,r=de)=>{let a=we(e,n.required,r);return a!=null||(a=[],et(e)?(!ne(n.min)&&e.length<n.min&&a.push(Z(r.textTooSmall,e.length,n.min)),!ne(n.max)&&e.length>n.max&&a.push(Z(r.textTooBig,e.length,n.max))):a.push(Z(r.thisNotText))),a},array:(e,n,o,r=de)=>{if(n.required){if(!Array.isArray(e))return[Z(r.thisNotArray)];if(e.length===0)return[Z(r.fieldIsRequired)]}if(!ne(e)){if(!ne(n.min)&&e.length<n.min)return[Z(r.selectMinItems,n.min)];if(!ne(n.max)&&e.length>n.max)return[Z(r.selectMaxItems,n.max)]}return[]},date:(e,n,o,r=de)=>{let a=we(e,n.required,r);if(a!=null)return a;a=[];const i=new Date(e);if(isNaN(i.getDate()))return[Z(r.invalidDate)];if(!ne(n.min)){const d=new Date(n.min);i.valueOf()<d.valueOf()&&a.push(Z(r.dateIsEarly,ft.format(i),ft.format(d)))}if(!ne(n.max)){const d=new Date(n.max);i.valueOf()>d.valueOf()&&a.push(Z(r.dateIsLate,ft.format(i),ft.format(d)))}return a},regexp:(e,n,o,r=de)=>{const a=we(e,n.required,r);return a??(!ne(n.pattern)&&!new RegExp(n.pattern).test(e)?[Z(r.invalidFormat)]:[])},email:(e,n,o,r=de)=>{const a=we(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)?[]:[Z(r.invalidEmail)])},url:(e,n,o,r=de)=>{const a=we(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)?[]:[Z(r.invalidURL)])},creditCard:(e,n,o,r=de)=>{const a=we(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})$/,d=e.replace(/[^0-9]+/g,"");if(!i.test(d))return[Z(r.invalidCard)];let s=0,f,m,b;for(let u=d.length-1;u>=0;u--)f=d.substring(u,u+1),m=parseInt(f,10),b?(m*=2,m>=10?s+=m%10+1:s+=m):s+=m,b=!b;return s%10===0&&d?[]:[Z(r.invalidCardNumber)]},alpha:(e,n,o,r=de)=>{const a=we(e,n.required,r);return a??(/^[a-zA-Z]*$/.test(e)?[]:[Z(r.invalidTextContainNumber)])},alphaNumeric:(e,n,o,r=de)=>{const a=we(e,n.required,r);return a??(/^[a-zA-Z0-9]*$/.test(e)?[]:[Z(r.invalidTextContainSpec)])}};Object.keys(nt).forEach(e=>{const n=nt[e];q(n)&&(n.locale=o=>(r,a,i)=>n(r,a,i,im(o,de)))});function xi(e){return et(e)?nt[e]!=null?nt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function Dn(e,n,o){let r=K(o.context,"schema.attributes",{});const a=n.value||"input";et(a)&&(r=K(r,a)||r),ue(r,(i,d)=>{e.setAttribute(d,i)})}const Ie={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:Dn,updated:Dn,componentUpdated:Dn}},computed:{value:{cache:!1,get(){let e;return q(K(this.schema,"get"))?e=this.schema.get(this.model):e=K(this.model,this.schema.model),this.formatValueToField(e)},set(e){const n=this.value;e=this.formatValueToModel(e),q(e)?e(e,n):this.updateModelValue(e,n)}}},methods:{validate(e){this.clearValidationErrors();const n=K(this.formOptions,"validateAsync",!1);let o=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const a=[];Array.isArray(this.schema.validator)?ue(this.schema.validator,i=>{a.push(xi(i).bind(this))}):a.push(xi(this.schema.validator).bind(this)),ue(a,i=>{if(n)o.push(i(this.value,this.schema,this.model));else{const d=i(this.value,this.schema,this.model);d&&q(d.then)?d.then(s=>{s&&(this.errors=this.errors.concat(s));const f=this.errors.length===0;this.$emit("validated",f,this.errors,this)}):d&&(o=o.concat(d))}})}const r=a=>{let i=[];ue(Ci(a),s=>{Array.isArray(s)&&s.length>0?i=i.concat(s):et(s)&&i.push(s)}),q(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,i,this.schema);const d=i.length===0;return e||this.$emit("validated",d,i,this),this.errors=i,i};return n?Promise.all(o).then(r):r(o)},debouncedValidate(){q(this.debouncedValidateFunc)||(this.debouncedValidateFunc=ut(this.validate.bind(this),K(this.schema,"validateDebounceTime",K(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),K(this.formOptions,"validateAfterChanged",!1)===!0&&(K(this.schema,"validateDebounceTime",K(this.formOptions,"validateDebounceTime",0))>0?this.debouncedValidate():this.validate()))},clearValidationErrors(){this.errors.splice(0)},setModelValueByPath(e,n){let o=e.replace(/\[(\w+)\]/g,".$1");o=o.replace(/^\./,"");let r=this.model;const a=o.split(".");let i=0;const d=a.length;for(;i<d;){const s=a[i];if(i<d-1)r[s]!==void 0||(r[s]={}),r=r[s];else{r[s]=n;return}++i}},getFieldID(e,n=!1){const o=K(this.formOptions,"fieldIdPrefix","");return On(e,o)+(n?"-"+Si():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return K(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},mm=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"})),x=(e,n)=>{const o=e.__vccOpts||e;for(const[r,a]of n)o[r]=a;return o},um={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},fm={class:"material-icons"},pm=x(Object.assign({mixins:[Ie],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",um,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:o[0]||(o[0]=(...r)=>n.handleOpen&&n.handleOpen(...r))},[t.createElementVNode("i",fm,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(X,{model:n.model,options:{helpAsHtml:!0},schema:n.schema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])],2)]))}}),[["__scopeId","data-v-e8f66c8a"]]),hm={class:"array-card-container"},Ki=x(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",hm,[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]=d=>o.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ce.TrashIcon))]),_:1})])}}}),[["__scopeId","data-v-a8366ec5"]]),gm={class:"array-item-wrapper"},ym={class:"array-item"},bm={class:"array-item-after"},ji=x(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",gm,[t.createElementVNode("div",ym,[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(ce.TrashIcon))]),_:1})]),t.createElementVNode("div",bm,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),[["__scopeId","data-v-e6b6837c"]]),_m={class:"multi-item-wrapper"},zi=x(t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",_m,[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 Em=4;function $i(e){return It(e,Em)}const Cm="#6c7489",qi="12px",Sm="16px",Hi="20px",km=["data-testid","data-testlabel"],Tm={class:"item-label"},wm={class:"autosuggest__results_message"},Mm=x(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}=_e.createI18n("en-us",ke),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]=d=>o.value=d),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]=d=>r.$emit("change",d)),onQueryChange:a[2]||(a[2]=d=>r.$emit("query-change",d))},t.createSlots({"item-template":t.withCtx(({item:d})=>[t.renderSlot(r.$slots,"item",{item:d},()=>[t.createElementVNode("span",{class:"item-label","data-testid":d.id&&`${d.id}-0`,"data-testlabel":d.label},t.toDisplayString(d.label),9,km)],!0)]),"selected-item-template":t.withCtx(({item:d})=>[t.renderSlot(r.$slots,"selected-item",{item:d},()=>[t.createElementVNode("span",Tm,t.toDisplayString(d.label),1)],!0)]),empty:t.withCtx(()=>[t.createElementVNode("div",wm,[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"]]),Nm="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",Un=e=>e?e.length===36&&new RegExp(`^${Nm}$`).test(e):!1,Am={class:"selected-entity-item"},Im={class:"selected-entity-label"},Vm={class:"entity-suggestion-item"},Om={class:"entity-label"},Bm={class:"entity-id"},Fm=500,Rm=50,Dm=1e3,Gi=x(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(Ce,void 0),o=async(h,M)=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),[];const{data:R}=await n.getAllV2(e.entity,{name:h,size:Dm},M);return R.data},r=async h=>n?n.peek(e.entity,h):(console.warn("[@kong-ui-public/forms] No API service provided"),Promise.resolve({data:{data:[]}})),a=async h=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),{id:h};const M=await n.getOne(e.entity,h,{validateStatus:R=>R>=200&&R<300||R===404});if(M.status===404)throw new Error(`Entity of type ${e.entity} with id ${h} not found`);return M.data},i=e.transformItem??(h=>({...h,label:h[e.labelField],value:h.id})),d=t.ref(""),s=t.ref(!1),f=t.ref(!1),m=t.ref(""),b=t.ref([]),u=t.ref([]),p=t.ref([]),{t:k}=_e.createI18n("en-us",ke),T=t.ref(null);let _=null;const A=async(h,M)=>{if(!e.fieldDisabled){clearTimeout(_),_=setTimeout(()=>{s.value=!0},1500);try{const R=await h();u.value=R,b.value=u.value.map(i)}catch(R){if(M?.aborted)return;if(b.value=[],Ua.isAxiosError(R)&&R.status===404){console.warn("unable to search with UUID",m.value,"for entity type",e.entity);return}d.value=R.message}finally{clearTimeout(_),s.value=!1}}},N=ut(h=>{if(h=h||"",m.value=h,!h.trim()&&!f.value){b.value=O(p.value);return}T.value&&T.value.abort();const M=new AbortController;if(T.value=M,f.value){S(h);return}g(h,M)},Fm,{leading:!0}),L=async(h,M)=>await o(h,M),I=async()=>{const{data:{data:h,next:M,offset:R}}=await r(Rm);return(!M||!R)&&(f.value=!0),u.value=h,p.value=h.map(j=>({...i(j),group:k("fields.auto_suggest.recently_created",{entity:e.entity})})),h},E=async h=>[await a(h)],g=(h,M)=>{Un(h)&&e.allowUuidSearch?A(async()=>await E(h)):A(async()=>await L(h,M.signal),M.signal)},y=h=>{let M=[];M=O(p.value),h?.trim()?b.value=M.filter(R=>e.fields.some(j=>(R[j]||"").includes(h))):b.value=M},O=h=>e.selectedItem?h.some(M=>M.value===e.selectedItem.value)?h:[e.selectedItem,...h]:h,F=h=>{b.value=p.value.filter(M=>M.id===h)},S=h=>{Un(h)&&e.allowUuidSearch?F(h):y(h)};return t.onMounted(async()=>{await A(I);const h=t.watch(()=>e.selectedItem,M=>{M&&(b.value=O(p.value)),h()});b.value=O(p.value)}),(h,M)=>(t.openBlock(),t.createBlock(Mm,{id:e.id,disabled:e.fieldDisabled,"dom-id":e.domId,"empty-message":d.value,error:e.error,loading:e.selectedItemLoading||s.value,placeholder:e.placeholder,readonly:e.disabled,suggestions:b.value,onChange:M[0]||(M[0]=R=>h.$emit("change",R)),onQueryChange:t.unref(N)},{before:t.withCtx(()=>[t.renderSlot(h.$slots,"before",{},()=>[t.createVNode(t.unref(ce.SearchIcon),{color:`var(--kui-color-text-neutral, ${t.unref(Cm)})`,size:`var(--kui-icon-size-40, ${t.unref(Hi)})`},null,8,["color","size"])],!0)]),"selected-item":t.withCtx(({item:R})=>[t.renderSlot(h.$slots,"selected-item",{item:R},()=>[t.createElementVNode("span",Am,[t.createElementVNode("span",Im,t.toDisplayString(R.label??R.id),1)])],!0)]),item:t.withCtx(({item:R})=>[t.renderSlot(h.$slots,"item",{item:R},()=>[t.createElementVNode("div",Vm,[t.createElementVNode("span",Om,t.toDisplayString(R.label??t.unref(Mo)),1),t.createElementVNode("span",Bm,t.toDisplayString(R.id),1)])],!0)]),_:3},8,["id","disabled","dom-id","empty-message","error","loading","placeholder","readonly","suggestions","onQueryChange"]))}}),[["__scopeId","data-v-d8027156"]]);function Yi(e,n,o){return o?Ne.SET_REFERRAL_VALUE:e&&!n||!e&&n?Ne.UPDATE_ENTITY:e&&n?Ne.CREATE_FROM_ENTITY:Ne.CREATE_NOT_FROM_ENTITY}const Um={components:{FieldScopedEntitySelect:Gi},mixins:[Ie],inject:[Ce],emits:["model-updated"],setup(){const{t:e}=_e.createI18n("en-us",ke);return{t:e}},data(){return{idValue:"",error:null,initialItem:null,selectedItem:null,loading:!1}},computed:{fieldState(){return Yi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){const e=this.$route;return e&&e.params[this.entity]},entity(){return this.schema.entity},bypassSearch(){const e=this.$route;return e&&e.query&&e.query.no_search},inputFields(){return this.schema?.inputValues?.fields||[]},allowUuidSearch(){return this.inputFields.includes("id")},inputFieldsWithoutId(){return this.inputFields.filter(e=>e!=="id")},initialValueSelected(){return this.idValue===this.initialItem?.id}},async created(){await this.$nextTick();let e,n;this.error=null;try{switch(this.fieldState){case Ne.UPDATE_ENTITY:if(!this[Ce]){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 Ne.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Ne.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[Ce])return console.warn("[@kong-ui-public/forms] No API service provided"),{};const n=await this[Ce].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){const n=this.schema?.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?.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){const n=this.schema?.returnKey;return n?e[n]:e.id}}};function Lm(e,n,o,r,a,i){const d=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(d,{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 Wi=x(Um,[["render",Lm],["__scopeId","data-v-2e8d29f1"]]),Ln=50,Pm={mixins:[Ie],inject:[Ce],emits:["model-updated"],setup(){const{t:e}=_e.createI18n("en-us",ke);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return Yi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){const e=this.$route;return e&&e.params[this.entity]},entity(){return this.schema.entity},scope(){return this.schema.label.toLowerCase()},bypassSearch(){const e=this.$route;return e&&e.query&&e.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Ne.UPDATE_ENTITY:if(!this[Ce]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[Ce].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 Ne.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Ne.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=ut(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;Un(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(s=>{a.has(s.id)||(a.add(s.id),n.push({...s,label:this.getSuggestionLabel(s),value:s.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[Ce])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<Ln;){const r=await this[Ce].getAll(this.entity,{size:Ln,offset:o,...e});if(n.push(...r.data.data),o=r.data.offset,!o)break}return n.slice(0,Ln)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[Ce]?(await this[Ce].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){return this.schema?.inputValues?.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?.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){const n=this.schema?.returnKey;return n?e[n]:e.id}}},vm=["data-testid","data-testlabel"],xm=["data-testid"],Km={class:"autosuggest__results_message"};function jm(e,n,o,r,a,i){const d=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(d,{id:e.schema.model,ref:"suggestion",modelValue:a.idValue,"onUpdate:modelValue":n[0]||(n[0]=s=>a.idValue=s),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:s})=>[t.createElementVNode("span",{class:"first-part","data-testid":s.id&&`${s.id}-0`,"data-testlabel":s.label},t.toDisplayString(i.getSuggestionLabel(s).split(" - ")[0]),9,vm),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.getSuggestionLabel(s).split(" - ").slice(1),(f,m)=>(t.openBlock(),t.createElementBlock("span",{key:m,class:"field-span","data-testid":s.id&&`${s.id}-${m+1}`||m+1},t.toDisplayString(f),9,xm))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",Km,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Zi=x(Pm,[["render",jm],["__scopeId","data-v-c99420db"]]);function zm(e){const n=t.ref([]),o=t.ref(null),r=_=>et(_)?nt[_]!=null?nt[_]:(console.warn(`'${_}' is not a validator function!`),null):_,a=t.computed({get(){let _;return q(K(e.schema,"get"))?_=e.schema.get(e.model?.value):_=K(e.model?.value,e.schema.model),k(_)},set(_){const A=a;_=T(_),q(_)?_(_,A):s(_,A)}}),i=_=>{f();const A=K(e.formOptions,"validateAsync",!1);let N=[];if(e.schema.readonly!==!0&&e.disabled!==!0){const I=[],E=e.schema?.validator;E&&(Array.isArray(E)?ue(E,g=>{I.push(r(g))}):I.push(r(E))),q(e.externalValidator)&&I.push(e.externalValidator),ue(I,g=>{if(A)N.push(g(a.value,e.schema,e.model?.value));else{const y=g(a.value,e.schema,e.model?.value);y&&q(y.then)?y.then(O=>{O&&(n.value=n.value.concat(O));const F=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:F,errors:n.value,field:e.schema})}):y&&(N=N.concat(y))}})}const L=I=>{let E=[];if(ue(Ci(I),g=>{Array.isArray(g)&&g.length>0?E=E.concat(g):et(g)&&E.push(g)}),q(e.schema?.onValidated)&&e.schema.onValidated(e.model?.value,E,e.schema),!_){const g=E.length===0;e.emitValidated&&e.emitValidated({isValid:g,errors:E,field:e.schema})}return I=E,E};return A?Promise.all(N).then(L):L(N)},d=()=>{q(o.value)?o.value():o.value=ut(i,K(e.schema,"validateDebounceTime",K(e.formOptions,"validateDebounceTime",500)))},s=(_,A)=>{let N=!1;q(e.schema.set)?(e.schema.set(e.model?.value,_),N=!0):e.schema.model&&(m(e.schema.model,_),N=!0),N&&(e.emitModelUpdated&&e.model?.value&&e.emitModelUpdated({value:_,model:e.schema.model}),q(e.schema.onChanged)&&e.schema.onChanged(e.model?.value,_,A,e.schema),K(e.formOptions,"validateAfterChanged",!1)===!0&&(K(e.schema,"validateDebounceTime",K(e.formOptions,"validateDebounceTime",0))>0?d():i()))},f=()=>{n.value.splice(0)},m=(_,A)=>{let N=_.replace(/\[(\w+)\]/g,".$1");N=N.replace(/^\./,"");let L=e.model?.value||{},I=0;const E=N.split("."),g=E.length;for(;I<g;){const y=E[I];if(I<g-1)L[y]!==void 0||(L[y]={}),L=L[y];else{L[y]=A;return}++I}},b=(_,A=!1)=>{const N=K(e.formOptions,"fieldIdPrefix","");return On(_,N)+(A?"-"+Si():"")},u=_=>`${b(_)}-label`,p=()=>K(e.schema,"fieldClasses",[]),k=_=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(_):_,T=_=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(_):_;return{value:a,clearValidationErrors:f,getFieldID:b,getLabelId:u,getFieldClasses:p,updateModelValue:s}}function $m(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 qm(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(i=>{const d=i.model.match(o);return d&&!Object.keys(e).includes(d[0])}).map(i=>{const d=i.label.match(r);return{label:d?d[0]:i.label,key:i.model,value:"N/A",type:"text"}})}const Me={useAbstractFields:zm,useRedisPartial:$m,useRedisNonStandardFields:qm},Hm={class:"form-field-wrapper"},Xi=x(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),d=t.inject(he,void 0),{updateModelValue:s,getFieldID:f,clearValidationErrors:m,value:b}=Me.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:I=>{a("modelUpdated",I.value,I.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{const I=r.schema?.inputType.toLowerCase();if(I==="number"&&r.schema?.referenceable===!0)return"text";switch(I){case"string":return"text";case"datetime":return"datetime-local";default:return I||"text"}}),p={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},k=(I,E)=>{let g=I;const y=p[u.value]||"",O=ft.parse(I,y);O&&(r.schema?.format?g=ft.format(O,r.schema?.format):g=O.valueOf()),s(g,E)},T=(I,E)=>{Rn(I)||(I=NaN),s(I,E)},_=I=>{let E=I;switch(r.schema.inputType){case"number":case"range":Pi(parseFloat(I))&&(E=parseFloat(I));break}b.value=E,s(E,I)},A=I=>{b.value=I,s(I,I)},N=t.ref(null),L=()=>{q(N.value)&&N.value?.flush()};return t.onMounted(()=>{switch(u.value){case"number":case"range":N.value=ut((I,E)=>{T(I,E)},parseInt(K(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":N.value=ut((I,E)=>{k(I,E)},parseInt(K(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{u.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):u.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):u.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(I,E)=>{const g=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",Hm,[t.createVNode(g,t.mergeProps(I.$attrs,{id:t.unref(f)(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:L,"onUpdate:modelValue":_}),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(d)),{schema:e.schema,update:A,value:t.unref(b)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-c9bb165e"]]),Gm={name:"FieldMetric",components:{AddIcon:ce.AddIcon,TrashIcon:ce.TrashIcon},mixins:[Ie],emits:["remove-item"],data(){return{contentVisible:!1}}},Ym={key:0,class:"content"};function Wm(e,n,o,r,a,i){const d=t.resolveComponent("AddIcon"),s=t.resolveComponent("TrashIcon"),f=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(d,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[a.contentVisible?(t.openBlock(),t.createElementBlock("div",Ym,[t.renderSlot(e.$slots,"default"),t.createVNode(f,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=m=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(s)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const Ji=x(Gm,[["render",Wm]]),Zm={class:"field-object-container"},Xm={key:1},Jm=["id"],Qm={key:0},eu=["onUpdate:modelValue"],tu={key:1},nu=["onUpdate:modelValue"],ou={key:2},iu=["onUpdate:modelValue"],au=["onClick"],Qi=x(Object.assign({mixins:[Ie],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",Zm,[n.schema.schema?(t.openBlock(),t.createBlock(X,{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",Xm,[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",Qm,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,type:"text"},null,8,eu),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="boolean"?(t.openBlock(),t.createElementBlock("td",tu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,type:"checkbox"},null,8,nu),[[t.vModelCheckbox,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="number"?(t.openBlock(),t.createElementBlock("td",ou,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,type:"number"},null,8,iu),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:d=>n.removeElement(i)},null,8,au)])]))),128))],10,Jm),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"]]),ru=["id"],lu=["data-testid"],su={class:"item-wrapper"},du={class:"index-wrapper"},cu={key:0},mu={key:1},uu=["onUpdate:modelValue","placeholder","type","onInput"],fu={key:0,class:"hint"},pu={class:"input-item"},hu=["placeholder"],gu={key:0,class:"hint"},ea=x(Object.assign({mixins:[Ie],inject:{autofillSlot:{from:he,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(){return["number","integer"].includes(this.schema.values?.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 s=a.split("-").filter(m=>n.find(b=>b.model===m)),f=a.split(`-${s}`)[0].split(`${o}-`)[1];s.length?r[f]={...r[f],[s]:e[a]}:r[a.substring(i+`${o}-`.length)]=e[a]}else r[a.substring(`${o}-`.length)]=e[a];else{const s=a.split("-").filter(m=>m===this.schema.model),f=a.split(`-${s}`)[0].split(`${o}-`)[1];f&&(r[f]=e[a])}return a}),r},addKey(){const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=this.schema.values?.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",su,[t.createElementVNode("div",du,[t.createElementVNode("strong",null,t.toDisplayString(i),1),t.createElementVNode("div",null,[t.createVNode(r,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:d=>n.removeElement(i)},{default:t.withCtx(()=>[t.createVNode(t.unref(ce.TrashIcon))]),_:1},8,["onClick"])])]),o[1]||(o[1]=t.createElementVNode("hr",{class:"divider"},null,-1)),n.subSchema?(t.openBlock(),t.createElementBlock("div",cu,[t.createVNode(X,{model:n.transformedModel[i],options:{helpAsHtml:!0},schema:n.subSchema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",mu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,class:"form-control",placeholder:n.schema.fields&&n.schema.fields[0].schema.placeholder,type:n.valueInputType,onInput:d=>n.updateModel(n.value[i],n.model[n.schema.model])},null,40,uu),[[t.vModelDynamic,n.value[i]]]),n.schema.fields&&n.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",fu,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:d=>n.value[i]=d,value:n.value[i]},null,8,["schema","update","value"]))])),o[2]||(o[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,lu))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:n.hasObjectKeys}])},[t.createElementVNode("div",pu,[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,hu),[[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",gu,t.toDisplayString(n.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,ru)}}}),[["__scopeId","data-v-0faeec4d"]]),yu={class:"radio-selection-group"},ta=x(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:d,value:s,clearValidationErrors:f}=Me.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:b=>{a("modelUpdated",b.value,b.model)}});n({clearValidationErrors:f});const m=b=>{let u=b;typeof b=="string"&&(u=b.split(","),r.schema.array||(u=u.toString())),d(u,b)};return(b,u)=>{const p=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",yu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(k,T)=>(t.openBlock(),t.createBlock(p,{id:e.schema.name+"-"+T,key:k.value,modelValue:t.unref(s),"onUpdate:modelValue":u[0]||(u[0]=_=>t.isRef(s)?s.value=_:null),label:k.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":k.value,onChange:m},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),[["__scopeId","data-v-a070103e"]]),na=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||{}),d=_=>ne(_)?null:_,s=t.toRefs(r),{getFieldID:f,clearValidationErrors:m,value:b}=Me.useAbstractFields({model:s.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:d,emitModelUpdated:_=>{a("modelUpdated",_.value,_.model)}});n({clearValidationErrors:m});const u=t.computed(()=>{const _=r.schema.values;return p(typeof _=="function"?_.apply(this,[r.model,r.schema]):_)}),p=_=>{const A=[];return _.forEach(N=>{A.push({label:T(N),value:k(N),disabled:typeof N=="object"&&N.disabled||void 0,group:typeof N=="object"&&String(N.group||"").toUpperCase()||void 0})}),A},k=_=>{if(Ee(_)){if(i.value&&typeof i.value.value<"u")return _[i.value.value];if(typeof _.id<"u")return String(_.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 _},T=_=>{if(Ee(_)){if(i.value&&typeof i.value.name<"u")return _[i.value.name];if(typeof _.name<"u")return String(_.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(_)};return(_,A)=>{const N=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(N,{id:t.unref(f)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":A[0]||(A[0]=L=>t.isRef(b)?b.value=L: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(f)(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"])}}}),bu={class:"field-string-array"},oa=x(t.defineComponent({__name:"FieldStringArray",props:{formOptions:{},model:{},schema:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=o,{updateModelValue:a,getFieldID:i,getLabelId:d,clearValidationErrors:s,value:f}=Me.useAbstractFields({model:t.toRef(()=>e.model),schema:e.schema,formOptions:e.formOptions,emitModelUpdated:k=>{r("modelUpdated",k.value,k.model)}});n({clearValidationErrors:s});const m=t.ref("");function b(k){return Array.isArray(k)?k.map(T=>String(T).trim()).filter(Boolean).join(", "):""}function u(k){return k?k.trim().split(",").map(T=>T.trim()).filter(Boolean):[]}function p(k){m.value=k;const T=u(k);a(T,f.value)}return t.watch(f,k=>{const T=k?b(k):"";b(u(m.value))!==T&&(m.value=T)},{immediate:!0}),(k,T)=>{const _=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",bu,[t.createVNode(_,t.mergeProps(k.$attrs,{id:t.unref(i)(e.schema),"aria-labelledby":t.unref(d)(e.schema),class:e.schema.fieldClasses,help:"Use comma to separate values. eg: value1, value2","model-value":m.value,placeholder:e.schema.placeholder||"Comma separated values",type:"text","onUpdate:modelValue":p}),null,16,["id","aria-labelledby","class","model-value","placeholder"])])}}}),[["__scopeId","data-v-cf2eff67"]]),_u={name:"FieldArray",components:{FieldArrayItem:ji,FieldArrayMultiItem:zi,FieldSelect:na,FieldMetric:Ji,FieldObject:Qi,FieldObjectAdvanced:ea,FieldAutoSuggest:Wi,FieldAutoSuggestLegacy:Zi,FieldRadio:ta,FieldArrayCardContainer:Ki,FieldInput:Xi,FieldStringArray:oa,TrashIcon:ce.TrashIcon},mixins:[Ie],inject:{autofillSlot:{from:he,default:void 0}},props:{newElementButtonLabel:{type:String,default:"New Item"},removeElementButtonLabel:{type:String,default:"x"}},emits:["refreshModel"],methods:{generateSchema(e,n,o){let r;return n&&(r=JSON.parse(JSON.stringify(n)),n.schema?.fields&&r.schema?.fields?.forEach?.((a,i)=>{const d=n.schema.fields[i];d&&Object.keys(d).forEach(s=>{typeof d[s]=="function"&&(a[s]=d[s])})}),r.schema?.fields?.map?.(a=>(a.id=`${a.id||a.model}-${o}`,a))),{...r,set(a,i){e[o]=i},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){let o=e;this.schema?.inputAttributes?.type==="number"&&Rn(parseFloat(e))&&(o=parseFloat(e)),this.value=this.value.map((r,a)=>a===n?o:r)},isStringArrayItems(){const e=this.schema?.elements;return e?e.type==="array"&&e.elements?.type==="string":!1},generateStringArraySchema(e){return{model:String(e),id:`${this.schema.id||this.schema.model}-${e}`,placeholder:this.schema.placeholder,help:this.schema.help,fieldClasses:this.schema.inputAttributes?.class,get:()=>this.value[e]}},handleStringArrayUpdate(e,n){this.value=this.value.map((o,r)=>r===n?e:o),this.$emit("refreshModel")}}},Eu=["id"],Cu={key:0,class:"string-array-item"},Su={key:2},ku=["onUpdate:modelValue","aria-labelledby","type"],Tu=["onUpdate:modelValue","aria-labelledby"];function wu(e,n,o,r,a,i){const d=t.resolveComponent("FieldStringArray"),s=t.resolveComponent("TrashIcon"),f=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,p)=>(t.openBlock(),t.createElementBlock("div",{key:p,class:t.normalizeClass(e.schema.fieldItemsClasses)},[i.isStringArrayItems()?(t.openBlock(),t.createElementBlock("div",Cu,[t.createVNode(d,{"form-options":e.formOptions,model:e.value,schema:i.generateStringArraySchema(p),onModelUpdated:k=>i.handleStringArrayUpdate(k,p)},null,8,["form-options","model","schema","onModelUpdated"]),t.createVNode(f,{appearance:"tertiary",class:"string-array-remove-btn",icon:"",onClick:k=>i.removeElement(p)},{default:t.withCtx(()=>[t.createVNode(s,{decorative:""})]),_:1},8,["onClick"])])):e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:1,index:p,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onRemoveItem:k=>i.removeElement(p)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onModelUpdated:i.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))]),_:2},1064,["index","model","schema","onRemoveItem"])):e.schema.items?(t.openBlock(),t.createElementBlock("span",Su,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onModelUpdated:i.modelUpdated},null,40,["form-options","model","schema","onModelUpdated"]))])):e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:3,"data-testid":`${e.getFieldID(e.schema)}-item-${p}`,model:u,schema:i.generateSchema(e.value,e.schema.items,p),onRemoveItem:k=>i.removeElement(p)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:k=>e.value[p]=k,value:e.value[p]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(m,t.mergeProps({key:0,ref_for:!0},e.schema.inputAttributes,{id:e.getFieldID(e.schema),modelValue:e.value[p],"onUpdate:modelValue":k=>e.value[p]=k,"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[p],type:e.schema.inputAttributes&&e.schema.inputAttributes.type||"text",onInput:k=>{i.handleInput(k,p)}}),null,16,["aria-labelledby","model-value","type","onInput"])):t.withDirectives((t.openBlock(),t.createElementBlock("input",t.mergeProps({key:2,"onUpdate:modelValue":k=>e.value[p]=k,"aria-labelledby":e.getLabelId(e.schema)},{ref_for:!0},e.schema.inputAttributes,{type:e.schema.inputAttributes?.type||"text"}),null,16,ku)),[[t.vModelDynamic,e.value[p]]])]),_:2},1064,["data-testid","model","schema","onRemoveItem"])):(t.openBlock(),t.createElementBlock(t.Fragment,{key:4},[t.withDirectives(t.createElementVNode("input",t.mergeProps({ref_for:!0},e.schema.inputAttributes,{"onUpdate:modelValue":k=>e.value[p]=k,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Tu),[[t.vModelText,e.value[p]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:k=>e.value[p]=k,value:e.value[p]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(f,{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,Eu)):t.createCommentVNode("",!0)}const Mu=x(_u,[["render",wu],["__scopeId","data-v-64e1f575"]]),Nu={class:"form-field-wrapper field-checkbox"},Au=["innerHTML"],Iu=x(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:d,value:s,clearValidationErrors:f}=Me.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}}),m=t.computed(()=>r.schema.help?Gt.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:f}),(u,p)=>{const k=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",Nu,[t.createVNode(k,t.mergeProps(u.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(s),"onUpdate:modelValue":p[0]||(p[0]=T=>t.isRef(s)?s.value=T: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,Au)]),key:"0"}:void 0]),1040,["id","modelValue","autocomplete","class","description","disabled","help","label","label-attributes","name","readonly","required","width"])])}}}),[["__scopeId","data-v-39c92a17"]]),Vu={class:"wrapper"},Ou=["disabled"],Bu=["id","checked","disabled","onChange","name"],Fu=["disabled"],Ru={class:"info"},Du={class:"dropList"},Uu=["id","checked","disabled","onChange","name"];function Lu(e,n,o,r,a,i){const d=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Vu,[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,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(s)||null,disabled:e.disabled||null,onChange:f=>i.onChanged(f,s),name:i.getInputName(s)},null,40,Bu),[[d,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(s)),1)])],2))),256))],8,Ou)):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]=(...s)=>i.onExpandCombo&&i.onExpandCombo(...s))},[t.createElementVNode("div",Ru,t.toDisplayString(i.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",Du,[a.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(i.items,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(s)||null,disabled:e.disabled||null,onChange:f=>i.onChanged(f,s),name:i.getInputName(s)},null,40,Uu),[[d,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(s)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Fu))])),[[d,"wrapper"]])}const Pu=x({mixins:[Ie],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?yi(this.schema.inputName+"_"+this.getItemValue(e)):yi(this.getItemValue(e))},getItemValue(e){if(Ee(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(Ee(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((ne(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const o=$i(this.value);o.push(this.getItemValue(n)),this.value=o}else{const o=$i(this.value);o.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=o}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},[["render",Lu]]),vu={name:"FieldKeyValuePairs",components:{TrashIcon:ce.TrashIcon},mixins:[Ie],inject:{autofillSlot:{from:he,default:void 0}},data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){this.value||(this.value={});const e=this.model?.[this.schema?.model]??{};Object.keys(e).forEach(n=>{this.pairs.push({key:n,value:e[n]})})},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)}}},xu={class:"key-value-pairs-editor"},Ku={class:"pair-item-cell"},ju=["data-testid","placeholder","value","onInput"],zu={class:"pair-item-cell"},$u=["data-testid","placeholder","value","onInput"];function qu(e,n,o,r,a,i){const d=t.resolveComponent("TrashIcon"),s=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",xu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.pairs,(f,m)=>(t.openBlock(),t.createElementBlock("div",{key:m,class:"pair-item"},[t.createElementVNode("div",Ku,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${m}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:f.key,onInput:b=>{i.onInput(b,m,"key")}},null,40,ju),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:b=>i.onInput({target:{value:b}},m,"key"),value:f.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",zu,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${m}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:f.value,onInput:b=>{i.onInput(b,m,"value")}},null,40,$u),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:b=>i.onInput({target:{value:b}},m,"value"),value:f.value},null,8,["schema","update","value"]))]),t.createVNode(s,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${m}`,onClick:()=>{i.removePair(m)}},{default:t.withCtx(()=>[t.createVNode(d)]),_:1},8,["data-testid","onClick"])]))),128)),t.createVNode(s,{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 Hu=x(vu,[["render",qu],["__scopeId","data-v-be99d00c"]]),Gu=x(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}=Me.useAbstractFields({model:o.model,schema:n.schema,formOptions:n.formOptions});return(i,d)=>{const s=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(s,{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"]]),Yu=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:d,getFieldID:s,clearValidationErrors:f,value:m}=Me.useAbstractFields({model:i,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:u=>{a("modelUpdated",u.value,u.model)}});n({clearValidationErrors:f});const b=t.computed(()=>r.schema.values?r.schema.values:r.schema.elements?.one_of?.length?r.schema.elements.one_of.map(u=>({label:String(u),value:String(u)})):[]);return(u,p)=>{const k=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(k,{id:t.unref(s)(e.schema),modelValue:t.unref(m),"onUpdate:modelValue":p[0]||(p[0]=T=>t.isRef(m)?m.value=T:null),"aria-labelledby":t.unref(d)(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(s)(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"])}}}),Wu={class:"selection-group"},Zu={class:"form-group horizontal-radios"},Xu={class:"radio-group"},Ju=["disabled","value"],Qu={class:"control-help"},ef={key:0,class:"option-field"},tf={class:"option-field-container"},nf=x(Object.assign({mixins:[Ie],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=>{this.model[o.model]&&(this.checkedGroup=n,this.fieldSchema.push(o.model),this.scope=o.label?.toLowerCase())})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},{__name:"FieldSelectionGroup",setup(e){const{t:n}=_e.createI18n("en-us",ke);return(o,r)=>(t.openBlock(),t.createElementBlock("div",Wu,[(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",Zu,[t.createElementVNode("div",Xu,[(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]=d=>o.checkedGroup=d),class:"k-input",disabled:o.$props.disabled,type:"radio",value:i},null,8,Ju),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(a.label)+" ",1),t.createElementVNode("div",Qu,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",ef,[t.createElementVNode("div",tf,[t.createVNode(X,{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"]]),of={class:"form-field-wrapper"},af=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}=_e.createI18n("en-us",ke),d=p=>p!=null&&r.schema.valueOn?p===r.schema.valueOn:p,s=p=>p!=null&&r.schema.valueOn?p?r.schema.valueOn:r.schema.valueOff:p,f=t.toRefs(r),{getFieldID:m,value:b,clearValidationErrors:u}=Me.useAbstractFields({model:f.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:d,formatValueToModel:s,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});return n({clearValidationErrors:u}),(p,k)=>{const T=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",of,[t.createVNode(T,{id:t.unref(m)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":k[0]||(k[0]=_=>t.isRef(b)?b.value=_: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"])])}}}),rf={class:"field-textarea"},lf={name:"FormGroup",components:Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:pm,FieldArray:Mu,FieldArrayCardContainer:Ki,FieldArrayItem:ji,FieldArrayMultiItem:zi,FieldAutoSuggest:Wi,FieldAutoSuggestLegacy:Zi,FieldCheckbox:Iu,FieldChecklist:Pu,FieldInput:Xi,FieldKeyValuePairs:Hu,FieldLabel:Gu,FieldMetric:Ji,FieldMultiselect:Yu,FieldObject:Qi,FieldObjectAdvanced:ea,FieldRadio:ta,FieldSelect:na,FieldSelectionGroup:nf,FieldStringArray:oa,FieldSwitch:af,FieldTextArea:x(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),d=t.inject(he,void 0),{updateModelValue:s,getFieldID:f,clearValidationErrors:m,value:b}=Me.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});n({clearValidationErrors:m});const u=p=>{b.value=p,s(p,p)};return(p,k)=>{const T=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",rf,[t.createVNode(T,t.mergeProps(p.$attrs,{id:t.unref(f)(e.schema),modelValue:t.unref(b),"onUpdate:modelValue":k[0]||(k[0]=_=>t.isRef(b)?b.value=_: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(d)),{schema:e.schema,update:u,value:t.unref(b)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-609c18d6"]])},Symbol.toStringTag,{value:"Module"})),mixins:[bi],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(){if(!this.field?.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(n=>({...n,...n.id?{id:`${n.id}-${e}`}:void 0}))}}}},methods:{sanitize(e){return Gt.sanitize(e)},fieldTypeHasLabel(e){if(ne(e.label))return!1;let n="";switch(e.type==="input"?n=e.inputType:n=e.type,n){case"button":case"submit":case"reset":return!1;default:return!0}},getFieldID(e){const n=K(this.options,"fieldIdPrefix","");return On(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldComponent(e){return e.component?e.component:"field-"+e.type},getButtonType(e){return K(e,"type","button")},onFieldValidated(e,n,o){this.$emit("validated",e,n,o)},buttonVisibility(e){return e.buttons&&e.buttons.length>0},buttonClickHandler(e,n,o){return e.onclick.call(this,this.model,n,o,this)},fieldHint(e){return 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\./,""):""}}},sf=["innerHTML"],df={class:"icon-wrapper"},cf={key:0,class:"link-wrapper"},mf={class:"field-wrap"},uf={key:0,class:"buttons"},ff=["type","onClick","textContent"],pf={key:1,class:"hint"},hf={key:2,class:"errors help-block"};function gf(e,n,o,r,a,i){const d=t.resolveComponent("KExternalLink"),s=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(s,{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",df,[t.createElementVNode("span",null,t.toDisplayString(i.formattedLabel(o.field.label)),1)]),o.field.link?(t.openBlock(),t.createElementBlock("div",cf,[t.createVNode(d,{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,sf)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",mf,[(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",uf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.field.buttons,(f,m)=>(t.openBlock(),t.createElementBlock("button",{key:m,class:t.normalizeClass(f.classes),type:i.getButtonType(f),onClick:b=>i.buttonClickHandler(f,o.field,b),textContent:t.toDisplayString(f.label)},null,10,ff))),128))])):t.createCommentVNode("",!0)]),o.field.hint&&o.field.type!=="input"?(t.openBlock(),t.createElementBlock("div",pf,t.toDisplayString(i.fieldHint(o.field)),1)):t.createCommentVNode("",!0),i.fieldErrors(o.field).length>0?(t.openBlock(),t.createElementBlock("div",hf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fieldErrors(o.field),(f,m)=>(t.openBlock(),t.createElementBlock("span",{key:m},t.toDisplayString(f),1))),128))])):t.createCommentVNode("",!0)],2)}const ia=x(lf,[["render",gf],["__scopeId","data-v-87df5b50"]]);var Ot=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ot||{});const yf=e=>e.type===Ot.REDIS_CE?"Host/Port":e.config.sentinel_nodes?.length?"Sentinel":e.config.cluster_nodes?.length?"Cluster":"Host/Port",bf={[Ot.REDIS_CE]:"open source",[Ot.REDIS_EE]:"enterprise"},aa=e=>bf[e]??"",pt={KONNECT_MANAGED:"konnect-managed",SELF_MANAGED:"self-managed"},_f="managed_cache.v0";function Ef(e){const o=(Array.isArray(e.tags)?e.tags:[]).filter(r=>typeof r=="string").map(r=>r.toLowerCase());return o.includes(pt.KONNECT_MANAGED)||o.includes(_f)?pt.KONNECT_MANAGED:pt.SELF_MANAGED}function Cf(e){return e.app==="konnect"&&!!e.isKonnectManagedRedisEnabled}const Sf={class:"partial-config-card"},kf={class:"config-card-row-label"},Tf={class:"label-text"},wf=["data-testid"],Mf=["data-testid"],Nf={key:1},Af=["data-testid"],If=["data-testid"],Vf=x(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{type:Object,required:!0},pluginRedisFields:{type:Array,required:!0}},setup(e){const{t:n,formatUnixTimeStamp:o}=_e.createI18n("en-us",ke),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,d=(u,p)=>i(p)&&["password","sentinel_password"].includes(u)?"password":"text",{convertKeyToTitle:s}=at.useStringHelpers(),f=t.computed(()=>Object.entries(a.configFields).map(([u,p])=>({key:u,label:r[u]?.label??s(u),value:r[u]?.formatter?r[u].formatter(p):p,type:r[u]?.type??d(u,p),order:r[u]?.order??100})).sort((u,p)=>u.order-p.order).filter(u=>u.type!=="hidden")),m=Me.useRedisNonStandardFields(a.configFields,a.pluginRedisFields),b=t.computed(()=>f.value.concat(m));return(u,p)=>{const k=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",Sf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(b.value,({key:T,label:_,value:A,type:N})=>(t.openBlock(),t.createElementBlock("div",{key:T,class:"partial-config-card-row"},[t.createElementVNode("div",kf,[t.createElementVNode("div",Tf,t.toDisplayString(_),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${T}-property-value`},[i(A)?(t.openBlock(),t.createElementBlock("div",Nf,[N==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${T}-copy-password`},[t.createVNode(k,{format:"redacted",text:String(A)},null,8,["text"])],8,Af)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${T}-plain-text`},t.toDisplayString(A),9,If))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${T}-no-value`}," – ",8,Mf))],8,wf)]))),128))])}}}),[["__scopeId","data-v-57f78095"]]),Of={class:"redis-config-select","data-testid":"redis-config-select"},Bf={class:"selected-redis-config"},Ff=["data-testid"],Rf={class:"select-item-name","data-testid":"selected-redis-config"},Df={class:"empty-redis-config","data-testid":"empty-redis-config"},Uf={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},Lf="1000",ra=x(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}=_e.createI18n("en-us",ke),o=t.inject(wo),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:d}=at.useErrors(),s=t.inject(qt),{debouncedQueryChange:f,loading:m,error:b,loadItems:u,results:p}=at.useDebouncedFilter(s,r[s.app].getAll,Lf,{fetchedItemsKey:"data",searchKeys:["id","name"]}),k=t.computed(()=>b.value?d(b.value):""),T=t.computed(()=>a.isCustomPlugin?n("redis.custom_plugin.tooltip"):n("redis.shared_configuration.tooltip",{type:aa(a.redisType)})),_=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.title"):n("redis.shared_configuration.title")),A=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.selector.placeholder"):n("redis.shared_configuration.selector.placeholder")),N=t.computed(()=>a.isKonnectManagedRedisEnabled?n("redis.managed_ui.shared_configuration.create_new_configuration"):n("redis.shared_configuration.create_new_configuration",{type:aa(a.redisType)})),L=t.computed(()=>k.value||n("redis.shared_configuration.error")),I=F=>{let S=`${s.apiBaseUrl}${r[s.app].getOne}`;return s.app==="konnect"&&(S=S.replace(/{controlPlaneId}/gi,s?.controlPlaneId||"")),S=S.replace(/\/{workspace}/gi,s?.workspace?`/${s.workspace}`:"").replace(/{id}/gi,String(F)),S},E=t.computed(()=>{const F=(p.value||[]).map(S=>{const h=S,M=a.isKonnectManagedRedisEnabled?Ef(h):void 0,R=M===pt.KONNECT_MANAGED;return{...a.isKonnectManagedRedisEnabled&&M?{source:M}:{},label:S.id,name:S.name,value:S.id,type:S.type,tag:a.isKonnectManagedRedisEnabled&&R?void 0:yf(h)}}).filter(S=>S.type==="redis-ce"||S.type==="redis-ee");return a.redisType!=="all"?F.filter(S=>S.type===a.redisType):F}),g=t.computed(()=>{const F=E.value;if(!a.isKonnectManagedRedisEnabled)return F;const S=F.filter(R=>R.source===pt.KONNECT_MANAGED),h=F.filter(R=>R.source===pt.SELF_MANAGED),M=[];return S.length>0&&M.push({label:n("redis.managed_ui.groups.konnect_managed"),items:S}),h.length>0&&M.push({label:n("redis.managed_ui.groups.self_managed"),items:h}),M}),{axiosInstance:y}=at.useAxios(s?.axiosRequestConfig),O=async F=>{if(F){a.updateRedisModel(F);try{const S=await y.get(I(F));if(S.data.config){const h=Object.assign(S.data,S.data.config);delete h.config,i.value=h}}catch(S){console.error(S)}}};return t.watch(()=>o?.value,async F=>{F&&await u()}),t.onBeforeMount(()=>{u(),a.defaultRedisConfigItem&&O(a.defaultRedisConfigItem)}),(F,S)=>{const h=t.resolveComponent("KLabel"),M=t.resolveComponent("KBadge"),R=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Of,[t.createVNode(h,{info:T.value,"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(_.value),1)]),_:1},8,["info"]),S[2]||(S[2]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(R,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:g.value,loading:t.unref(m),"model-value":e.defaultRedisConfigItem,placeholder:A.value,onChange:S[1]||(S[1]=j=>O(j?.value)),onQueryChange:t.unref(f)},t.createSlots({"selected-item-template":t.withCtx(({item:j})=>[t.createElementVNode("div",Bf,t.toDisplayString(j.name),1)]),"item-template":t.withCtx(({item:j})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${j.name}`},[t.createElementVNode("span",Rf,t.toDisplayString(j.name),1),j.tag?(t.openBlock(),t.createBlock(M,{key:0,appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(j.tag),1)]),_:2},1024)):t.createCommentVNode("",!0)],8,Ff)]),empty:t.withCtx(()=>[t.createElementVNode("div",Df,t.toDisplayString(t.unref(n)("redis.shared_configuration.empty_state")),1)]),_:2},[t.unref(Cf)(t.unref(s))?void 0:{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:S[0]||(S[0]=j=>F.$emit("showNewPartialModal"))},[t.createVNode(t.unref(ce.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(qi)})`},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(N.value),1)])]),key:"0"}]),1032,["items","loading","model-value","placeholder","onQueryChange"])]),i.value?(t.openBlock(),t.createBlock(Vf,{key:0,"config-fields":i.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),k.value?(t.openBlock(),t.createElementBlock("p",Uf,t.toDisplayString(L.value),1)):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-8017e218"]]),Pf={key:0},vf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},xf={key:0,class:"shared-redis-config"},Kf={key:1,class:"dedicated-redis-config"},jf={class:"dedicated-redis-config-title"},zf={name:"VueFormGenerator",components:{formGroup:ia,formRedis:x(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}=_e.createI18n("en-us",ke),i=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.title"):a("redis.title")),d=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.description"):a("redis.shared_configuration.description")),s=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.label"):a("redis.shared_configuration.label")),f=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),p=t.ref(),k=t.ref({}),T=t.ref(),_=E=>q(E.visible)?E.visible.call(this,o.model,E,this):ne(E.visible)?!0:E.visible,A=async E=>{r("modelUpdated",[{id:E,path:o.redisPath}],"partials"),T.value=[{id:E,path:o.redisPath}],p.value=E},N=(E,g)=>{k.value={...k.value,[g]:E},r("modelUpdated",E,g)},L=()=>{r("refreshModel")},I=(E,g,y)=>{r("validated",E,g,y)};return t.watch(()=>u.value,E=>{E?T.value&&r("partialToggled","redis",{partials:T.value}):r("partialToggled","partials",k.value)}),t.onBeforeMount(()=>{if(o.model&&(k.value=o.field.fields.reduce((E,g)=>(Object.keys(o.model).includes(g.model)&&(E[g.model]=o.model[g.model]),E),{})),o?.model?.partials?.[0]?.id){const E=o.model.partials[0].id;u.value=!0,p.value=E}}),(E,g)=>{const y=t.resolveComponent("KAlert"),O=t.resolveComponent("KBadge"),F=t.resolveComponent("KRadio"),S=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[b.value?(t.openBlock(),t.createElementBlock("div",Pf,[t.createVNode(y,{"data-testid":"custom-plugin-redis-config-note",message:t.unref(a)("redis.custom_plugin.alert")},null,8,["message"]),t.createVNode(ra,{"default-redis-config-item":p.value,"is-custom-plugin":"","is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"update-redis-model":A,onShowNewPartialModal:g[0]||(g[0]=h=>E.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(S,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:i.value},{default:t.withCtx(()=>[t.createElementVNode("div",vf,[t.createVNode(F,{modelValue:u.value,"onUpdate:modelValue":g[1]||(g[1]=h=>u.value=h),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:d.value,label:s.value,"selected-value":!0},{default:t.withCtx(()=>[e.isKonnectManagedRedisEnabled?(t.openBlock(),t.createBlock(O,{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(F,{modelValue:u.value,"onUpdate:modelValue":g[2]||(g[2]=h=>u.value=h),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:f.value,label:m.value,"selected-value":!1},null,8,["modelValue","description","label"])]),u.value?(t.openBlock(),t.createElementBlock("div",xf,[t.createVNode(ra,{"default-redis-config-item":p.value,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,"plugin-redis-fields":e.field.fields,"redis-type":e.field.redisType,"update-redis-model":A,onShowNewPartialModal:g[3]||(g[3]=h=>E.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",Kf,[t.createElementVNode("div",jf,t.toDisplayString(t.unref(a)("redis.dedicated_configuration.title")),1),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.tag),null,{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.field.fields,h=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:h.model},[_(h)?(t.openBlock(),t.createBlock(ia,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:h,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:N,onRefreshModel:L,onValidated:I},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),[["__scopeId","data-v-58023d89"]])},mixins:[bi],inject:{autofillSlot:{from:he,default:void 0}},provide(){return{...!this.autofillSlot&&{[he]:this.$slots?.[Je]}}},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&&ue(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&ue(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):ne(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&&ue(n,a=>{this.errors.push({field:o.schema,error:a})});const r=this.errors.length===0;this.$emit("validated",r,this.errors,this)},onRefreshModel(){this.$emit("refreshModel")},onModelUpdated(e,n){this.$emit("modelUpdated",e,n)},onPartialToggled(e,n){this.$emit("partialToggled",e,n)},validate(e=null){e===null&&(e=K(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],o=[];ue(this.$refs.children,a=>{q(a.validate)&&(n.push(a.$refs.child),o.push(a.$refs.child.validate(!0)))});const r=a=>{const i=[];ue(a,(s,f)=>{Array.isArray(s)&&s.length>0&&ue(s,m=>{i.push({field:n[f].schema,error:m})})}),this.errors=i;const d=i.length===0;return this.$emit("validated",d,i,this),e?i:d};return e?Promise.all(o).then(r):r(o)},clearValidationErrors(){this.errors.splice(0),ue(this.$refs.children,e=>{e.clearValidationErrors()})}}},$f={key:0,class:"vue-form-generator"},qf={key:0};function Hf(e,n,o,r,a,i){const d=t.resolveComponent("form-redis"),s=t.resolveComponent("form-group"),f=t.resolveComponent("KCollapse");return o.schema!=null?(t.openBlock(),t.createElementBlock("div",$f,[o.schema.fields?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:0},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fields,m=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:m.model},[m.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(d,{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(s,{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(f,{key:0,class:"root-level-collapse","model-value":!1,title:m.collapsible.title},t.createSlots({default:t.withCtx(()=>[m.slots?.beforeContent?t.renderSlot(e.$slots,m.slots?.beforeContent,{key:0}):t.createCommentVNode("",!0),m.fields.length===0&&m.slots?.emptyState?t.renderSlot(e.$slots,m.slots?.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,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[i.fieldVisible(u)?(t.openBlock(),t.createBlock(s,{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"])),m.collapsible!==!0&&m.collapsible.nestedCollapsible&&m.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(f,{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":u=>a.collapseStates[`group-${b}-nested`]=u},{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,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[u.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(d,{key:0,errors:a.errors,field:u,"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:p=>e.$emit("showNewPartialModal",u.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(u)?(t.openBlock(),t.createBlock(s,{key:1,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"]))]),_: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",qf,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(s,{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 X=x(zf,[["render",Hf]]),Gf=[{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."}],la=e=>e==null||e===""?!1:Array.isArray(e)?e.length>0:!0,Yf=e=>la(e["config-principals-principal_by"])?"custom-identity":"kong-identity",Wf={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:Gf,selectedLookupMethod:Yf(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}`}},created(){la(this.formModel["config-principals-principal_claim"])||this.updateField("config-principals-principal_claim",["sub"])},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:""},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()}}},Zf={key:1,class:"principals-field-group"},Xf={class:"principals-field-group"},Jf={class:"lookup-method-item"},Qf={class:"lookup-method-item-label"},ep={class:"lookup-method-item-description"},tp={class:"principals-field-group"},np={class:"principals-field-group"},op={class:"principals-field-group"};function ip(e,n,o,r,a,i){const d=t.resolveComponent("KAlert"),s=t.resolveComponent("KLabel"),f=t.resolveComponent("KInputSwitch"),m=t.resolveComponent("KSelect"),b=t.resolveComponent("KInput"),u=t.resolveComponent("KRadio"),p=t.resolveComponent("KCheckbox"),k=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(k,{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(d,{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",Zf,[t.createVNode(f,{"data-testid":"use-principal-lookup",disabled:o.disabled,"model-value":i.lookupEnabled,"onUpdate:modelValue":i.handleEnableToggle},{label:t.withCtx(()=>[t.createVNode(s,{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",Xf,[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:T})=>[t.createElementVNode("div",Jf,[t.createElementVNode("div",Qf,t.toDisplayString(T.label),1),t.createElementVNode("div",ep,t.toDisplayString(T.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]=T=>i.updateField("config-principals-principal_by",T))},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]=T=>i.handleTokenClaimChange(T))},null,8,["disabled","help","model-value"])]),t.createElementVNode("div",tp,[t.createVNode(s,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]=T=>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]=T=>i.updateField("config-principals-error_on_miss",!1))},null,8,["disabled","model-value"])]),t.createElementVNode("div",np,[t.createVNode(p,{"data-testid":"principals-match-consumer",disabled:i.fieldsDisabled,"model-value":o.formModel["config-principals-match_consumer"],"onUpdate:modelValue":n[4]||(n[4]=T=>i.handleMatchConsumerChange(T))},{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",op,[t.createVNode(p,{"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]=T=>i.updateField("config-principals-match_consumer_groups",T))},{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 ap=x(Wf,[["render",ip],["__scopeId","data-v-41092dbd"]]),Bt="kong-identity",sa="external",rp="/v1/auth-servers/_computed",lp="identity.konghq",sp=e=>typeof e=="string"&&e.includes(lp),Pn={major:3,minor:15},dp=e=>{const[n,o]=e.split(".").map(Number);return Number.isNaN(n)||Number.isNaN(o)?!1:n!==Pn.major?n<Pn.major:o<Pn.minor},cp=(e,n)=>n?sp(e["config-issuer"])?Bt:sa:Bt,mp={name:"OIDCPrincipals",components:{VueFormGenerator:X,PrincipalLookupSettings:ap,AddIcon:ce.AddIcon,BookIcon:ce.BookIcon,CloseIcon:ce.CloseIcon,KeyIcon:ce.KeyIcon,WorldIcon:ce.WorldIcon},inject:{formsConfig:{from:qt,default:()=>({})},autofillSlot:{from:he,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=cp(this.formModel,this.isEditing);return{MODE_KONG_IDENTITY:Bt,MODE_EXTERNAL:sa,KUI_ICON_SIZE_20:qi,KUI_ICON_SIZE_30:Sm,KUI_ICON_SIZE_40:Hi,selectedMode:e,kongIdentityServers:[],kongIdentityServersLoading:!1,clients:[],clientsLoading:!1,selectedServer:null,restoringServer:!1,leavePromptType:null}},computed:{issuerFieldsSchema(){const e=(this.commonFieldsSchema?.fields??[]).filter(n=>n.model==="config-issuer");return{...this.commonFieldsSchema,fields:e}},externalClientIdField(){return(this.commonFieldsSchema?.fields??[]).find(e=>e.model==="config-client_id")},externalClientSecretField(){return(this.commonFieldsSchema?.fields??[]).find(e=>e.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(){return this.formsConfig?.app==="konnect"},hasAuthServersAccess(){return this.formsConfig?.isKongIdentityAuthServersAvailable!==!1},canCreateAuthServer(){return this.formsConfig?.canCreateAuthServer!==!1},canCreateAuthServerClient(){return this.formsConfig?.canCreateAuthServerClient!==!1},hasIncompatibleDataPlane(){return(this.formsConfig?.dataPlaneVersions??[]).some(dp)},principalsEnabled(){return this.formModel["config-principals-enabled"]===!0},principalsGuideVisible(){return this.isKonnect&&this.formsConfig?.principalsCreationGuideVisible===!0},principalsSkeletonVisible(){return this.isKonnect&&this.formsConfig?.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(){if(this.formsConfig?.isKongIdentityAuthServersAvailable!==!1)try{this.kongIdentityServersLoading=!0;const{axiosInstance:e}=at.useAxios(this.formsConfig?.axiosRequestConfig),n=`${this.formsConfig.apiBaseUrl}${rp}`,o=await e.get(n);this.kongIdentityServers=o.data?.data??[];const r=this.formModel["config-issuer"];if(r&&!this.selectedServer){const a=this.kongIdentityServers.find(i=>i.issuer===r)||null;a&&(this.restoringServer=!0,this.selectedServer=a,this.fetchClients(a.id))}}catch{this.kongIdentityServers=[]}finally{this.kongIdentityServersLoading=!1}},async fetchClients(e){try{this.clientsLoading=!0;const{axiosInstance:n}=at.useAxios(this.formsConfig?.axiosRequestConfig),o=`${this.formsConfig.apiBaseUrl}/v1/auth-servers/${e}/clients`,r=await n.get(o);this.clients=r.data?.data??[]}catch{this.clients=[]}finally{this.clientsLoading=!1}},handleServerChange(e){if(this.restoringServer){this.restoringServer=!1;return}this.selectedServer=this.kongIdentityServers.find(n=>n.id===e)||null,this.selectedServer?.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 Gt.sanitize(e)},handleUsePrincipalLookupChange(e){this.updateField("config-principals-enabled",e)},handleLeaveConfirmed(){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:this.selectedServer?.id}):e==="principal"&&this.$emit("click:create-entity",{type:"principal"})},handleModeChange(e){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 n=this.formsConfig?.principalsDirectoryName;n!=null&&(this.formModel["config-principals-directory"]=n)}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)}}},up={class:"oidc-principals-section","data-testid":"oidc-principals-section"},fp={class:"principals-description"},pp={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},hp={class:"auth-mode-card-content"},gp={class:"auth-mode-card-content"},yp={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},bp={class:"principals-create-guide-actions"},_p={class:"principals-client-secret-wrapper"},Ep=["disabled","onClick"],Cp={class:"external-client-field"},Sp=["innerHTML"],kp={class:"external-client-field"},Tp=["innerHTML"],wp=["disabled","onClick"],Mp={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Np={class:"principals-create-guide-actions"};function Ap(e,n,o,r,a,i){const d=t.resolveComponent("KExternalLink"),s=t.resolveComponent("KeyIcon"),f=t.resolveComponent("KRadio"),m=t.resolveComponent("WorldIcon"),b=t.resolveComponent("KSkeleton"),u=t.resolveComponent("AddIcon"),p=t.resolveComponent("KButton"),k=t.resolveComponent("BookIcon"),T=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput"),A=t.resolveComponent("CloseIcon"),N=t.resolveComponent("PrincipalLookupSettings"),L=t.resolveComponent("VueFormGenerator"),I=t.resolveComponent("KPrompt");return t.openBlock(),t.createElementBlock("div",up,[n[28]||(n[28]=t.createElementVNode("div",{class:"principals-header"}," Who should manage authentication and credentials? ",-1)),t.createElementVNode("div",fp,[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(d,{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[...n[12]||(n[12]=[t.createTextVNode(" Learn more. ",-1)])]),_:1})]),t.createElementVNode("div",pp,[t.createVNode(f,{modelValue:a.selectedMode,"onUpdate:modelValue":n[0]||(n[0]=E=>a.selectedMode=E),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",hp,[t.createVNode(s,{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(f,{modelValue:a.selectedMode,"onUpdate:modelValue":n[1]||(n[1]=E=>a.selectedMode=E),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":a.MODE_EXTERNAL,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",gp,[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",yp,[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",bp,[t.createVNode(p,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[2]||(n[2]=E=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(u,{decorative:""}),n[18]||(n[18]=t.createTextVNode(" Create principal ",-1))]),_:1}),t.createVNode(p,{appearance:"secondary","data-testid":"principals-learn-more",onClick:n[3]||(n[3]=E=>e.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(k,{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(T,{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":a.selectedServer?.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(E=>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(_,{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]=E=>i.updateField("config-issuer",E))},null,8,["model-value"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(E,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(T,{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":E,placeholder:"Select a client","onUpdate:modelValue":y=>i.handleClientChange(g,y)},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(y=>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(_,{key:0,class:"principals-client-select","data-testid":"principals-client-id-input",label:g===0?"Client":void 0,"model-value":E,placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":y=>i.handleClientChange(g,y)},null,8,["label","model-value","onUpdate:modelValue"])),t.createElementVNode("div",_p,[t.createVNode(_,{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":y=>i.handleClientSecretChange(g,y)},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:y=>i.handleClientSecretChange(g,y),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:y=>i.removeClientRow(g)},[t.createVNode(A,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,Ep)],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]=E=>i.hasAuthServersAccess&&!a.selectedServer?null:i.addClientRow())}," + Add client ",2),t.createVNode(N,{"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,(E,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(["client-row",{"client-row-with-label":g===0}])},[t.createElementVNode("div",Cp,[t.createVNode(_,{class:"external-client-input","data-testid":"external-client-id",label:g===0?"Client id":void 0,"label-attributes":{info:o.formOptions?.helpAsHtml?void 0:i.externalClientIdField?.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientIdArray[g],placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":y=>i.handleClientChange(g,y)},t.createSlots({_:2},[o.formOptions?.helpAsHtml&&i.externalClientIdField?.help?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientIdField.help)},null,8,Sp)]),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:y=>i.handleClientChange(g,y),value:i.clientIdArray[g]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",kp,[t.createVNode(_,{class:"external-client-input","data-testid":"external-client-secret",label:g===0?"Client secret":void 0,"label-attributes":{info:o.formOptions?.helpAsHtml?void 0:i.externalClientSecretField?.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientSecretArray[g],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":y=>i.handleClientSecretChange(g,y)},t.createSlots({_:2},[o.formOptions?.helpAsHtml&&i.externalClientSecretField?.help?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientSecretField.help)},null,8,Tp)]),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:y=>i.handleClientSecretChange(g,y),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:y=>i.removeClientRow(g)},[t.createVNode(A,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,wp)],2))),128)),t.createElementVNode("div",{class:"add-client-inline","data-testid":"add-external-client-action",onClick:n[8]||(n[8]=E=>i.addClientRow())}," + Add client "),t.createVNode(L,{model:o.formModel,options:o.formOptions,schema:i.issuerFieldsSchema,onModelUpdated:o.onModelUpdated},null,8,["model","options","schema","onModelUpdated"]),t.createVNode(N,{"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(()=>[i.isKonnect&&i.formsConfig?.principalsCreationGuideVisible===void 0?(t.openBlock(),t.createBlock(b,{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):i.isKonnect&&i.formsConfig?.principalsCreationGuideVisible?(t.openBlock(),t.createElementBlock("div",Mp,[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",Np,[t.createVNode(p,{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(p,{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(k,{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(I,{"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]=E=>a.leavePromptType=null),onProceed:i.handleLeaveConfirmed},null,8,["visible","onProceed"])])}const Ip=x(mp,[["render",Ap],["__scopeId","data-v-9929477d"]]),Vp={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"]},Op={class:"oidc-auth-methods"},Bp={class:"session-management-section"},Fp={class:"session-radio-group"};function Rp(e,n,o,r,a,i){const d=t.resolveComponent("KLabel"),s=t.resolveComponent("KMultiselect"),f=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Op,[t.createVNode(d,null,{default:t.withCtx(()=>[...n[3]||(n[3]=[t.createTextVNode("Authentication methods",-1)])]),_:1}),(t.openBlock(),t.createBlock(s,{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",Bp,[t.createVNode(d,null,{default:t.withCtx(()=>[...n[4]||(n[4]=[t.createTextVNode("Session management",-1)])]),_:1}),t.createElementVNode("div",Fp,[t.createVNode(f,{"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(f,{"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 Dp=x(Vp,[["render",Rp],["__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"},da=new Set(["config-client_id","config-client_secret","config-issuer"]),ca=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"]),ma=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"]),vn=["bearer","client_credentials","introspection","userinfo"],Up="identity.konghq",Lp=e=>typeof e=="string"&&e.includes(Up),Pp={name:"OIDCForm",components:{VueFormGenerator:X,OIDCPrincipals:Ip,OIDCAuthMethods:Dp},provide(){return{[he]:this.$slots?.[Je]}},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(){return this.identityPrincipalsUiEnabled&&this.formSchema.fields?.some(e=>ca.has(e.model))},isKonnect(){return this.formsConfig?.app==="konnect"},useNewAuthMethodsField(){return this.isKonnect},authMethodItems(){return((this.principalsMode!==null?this.principalsMode==="kong-identity":Lp(this.formModel["config-issuer"]))?this.authMethods.filter(o=>vn.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(){if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(a=>!a.model.startsWith("config")&&a.model!=="tags")};const e=this.formSchema.fields.reduce((a,i)=>(a[i.model]=i,a),{});this.commonFieldsSchema={fields:Array.from(da).reduce((a,i)=>(e[i]&&a.push(e[i]),a),[])},this.authFieldsSchema={fields:Array.from(ma).reduce((a,i)=>(e[i]&&a.push(e[i]),a),[])};const{redis:n,redisModels:o}=Me.useRedisPartial(this.formSchema);this.advancedFieldsSchema={fields:this.formSchema.fields.filter(a=>a.model.startsWith("config")&&a.model!=="config-auth_methods"&&!da.has(a.model)&&!ma.has(a.model)&&!ca.has(a.model)&&(!this.enableRedisPartial||!o.includes(a.model))||a.model==="tags").reduce((a,i)=>{switch(i.model){case"config-client_jwk":{if(Array.isArray(i.items?.schema?.fields))for(const d of i.items.schema.fields)d.label=d.model;a.push({...i,link:this.openIdConnectJWKLink,newElementButtonLabel:"+ Add Client JWK",...Array.isArray(i.items?.schema?.fields)&&i.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-token_exchange-subject_token_issuers":{if(Array.isArray(i.items?.schema?.fields)){const d=i.items.schema.fields,s=d.find(m=>m.model==="verify_signature"),f=d.find(m=>m.model==="jwks_uri");if(s&&(s.checkboxLabel=s.label,s.label=void 0,s.checkboxDescription=m=>m.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),f&&(f.visible=m=>m.verify_signature===!0),s&&f){const m=d.indexOf(s),b=d.indexOf(f);b!==m+1&&(d.splice(b,1),d.splice(m+1,0,f))}}a.push(i);break}case"config-session_redis_cluster_nodes":{a.push({...i,link:this.openIdConnectClusterNodesLink,newElementButtonLabel:"+ Add Cluster Node"});break}default:a.push(i)}return a},[])},this.enableRedisPartial&&this.advancedFieldsSchema.fields.unshift(n),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 a of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const i of a.fields){const d=e[i.model]?.help;i.help===void 0&&typeof d=="string"&&(i.help=d)}const r=this.formModel["config-consumer_claim"];if(r!=null&&r!==""&&(!this.formModel["config-consumer_claims"]||this.formModel["config-consumer_claims"].length===0)){const a=Array.isArray(r)?r:[r];this.formModel["config-consumer_claims"]=[a],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=vn.includes(o.value);const n=[...vn];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()}}}},vp={class:"general-settings"},xp={class:"link-wrapper"},Kp={class:"auth-method-container"},jp={class:"general-settings"},zp={class:"link-wrapper"},$p={class:"general-settings"},qp={class:"link-wrapper"};function Hp(e,n,o,r,a,i){const d=t.resolveComponent("VueFormGenerator"),s=t.resolveComponent("KExternalLink"),f=t.resolveComponent("OIDCAuthMethods"),m=t.resolveComponent("OIDCPrincipals"),b=t.resolveComponent("KLabel"),u=t.resolveComponent("KCheckbox"),p=t.resolveComponent("KInputSwitch"),k=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[o.formModel.id&&o.isEditing||!o.isEditing?(t.openBlock(),t.createBlock(d,{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(k,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",vp,[t.createElementVNode("div",xp,[t.createVNode(s,{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]=T=>e.$emit("click:create-entity",T)),"onClick:learnMore":n[1]||(n[1]=T=>e.$emit("click:learn-more",T)),onModeChange:i.handlePrincipalsModeChange},{"advanced-fields":t.withCtx(()=>[t.createVNode(f,{"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(d,{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(f,{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",Kp,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,T=>(t.openBlock(),t.createElementBlock("div",{key:T.value,class:"auth-method"},[t.createVNode(u,{modelValue:T.prop,"onUpdate:modelValue":_=>T.prop=_,"data-testid":`auth-method-checkbox-${T.value}`,onChange:_=>i.handleUpdate(_,T.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(T.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","onChange"])]))),128))]),t.createVNode(p,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[2]||(n[2]=T=>a.sessionManagement=T),"data-testid":"session-management-switch",label:"Enable Session Management",onChange:i.handleUpdate},null,8,["modelValue","onChange"])],64))],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",jp,[t.createElementVNode("div",zp,[t.createVNode(s,{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(d,{key:0,model:o.formModel,options:o.formOptions,schema:a.authFieldsSchema,onModelUpdated:o.onModelUpdated},{"autofill-provider":t.withCtx(T=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(T)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",$p,[t.createElementVNode("div",qp,[t.createVNode(s,{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(d,{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 Gp=x(Pp,[["render",Hp],["__scopeId","data-v-e20914ca"]]),Yp=x(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){t.provide(he,t.useSlots()?.[Je]);const{t:n,te:o}=_e.createI18n("en-us",ke),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(s=>{const f=`post-function.${s.model}`;return s.hint=o(`${f}.hint`)&&n(`${f}.hint`)||s.hint,s.help=o(`${f}.help`)&&n(`${f}.help`)||s.help,s.newElementButtonLabel=o(`${f}.newElementButtonLabel`)&&n(`${f}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="post-function-array-item-container",s.fieldItemsClasses="post-function-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),d});return(d,s)=>a.value?(t.openBlock(),t.createBlock(X,{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"]]),Wp=x(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){t.provide(he,t.useSlots()?.[Je]);const{t:n,te:o}=_e.createI18n("en-us",ke),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(s=>{const f=`exit-transformer.${s.model}`;return s.hint=o(`${f}.hint`)&&n(`${f}.hint`)||s.hint,s.help=o(`${f}.help`)&&n(`${f}.help`)||s.help,s.newElementButtonLabel=o(`${f}.newElementButtonLabel`)&&n(`${f}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="exit-transformer-array-item-container",s.fieldItemsClasses="exit-transformer-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),d});return(d,s)=>a.value?(t.openBlock(),t.createBlock(X,{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"]]),Zp={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}]},Xp={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}]},Jp={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}]},Qp={class:"general-settings"},eh={class:"sub-form"},th={class:"general-settings"},nh={class:"sub-form"},oh={class:"general-settings"},ih=x(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){t.provide(he,t.useSlots()?.[Je]);const n=e,o=t.ref("zeroSsl"),r=t.ref("shm"),a=t.computed(()=>{const g={};if(n.formSchema?.fields)for(const y of n.formSchema.fields)g[y.model]=y;return g}),i=t.computed(()=>{const g=Ue(Zp);for(const y of g.fields){const O=a.value[y.model]?.help;y.help===void 0&&typeof O=="string"&&(y.help=O)}return g}),d=t.computed(()=>{const g=Ue(Xp);for(const y of g.fields){const O=a.value[y.model]?.help;y.help===void 0&&typeof O=="string"&&(y.help=O)}return g}),s=t.computed(()=>{const g=Ue(Jp);for(const y of g.fields){const O=a.value[y.model]?.help;y.help===void 0&&typeof O=="string"&&(y.help=O)}return g}),f=t.computed(()=>({fields:n.formSchema.fields.filter(g=>!g.model.startsWith("config")&&g.model!=="tags")})),m=t.computed(()=>({fields:i.value.fields.filter(y=>!d.value.fields.some(O=>O.model===y.model)&&!s.value.fields.some(O=>O.model===y.model))})),b=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage")&&!y.model.startsWith("config-storage_config-consul")&&!y.model.startsWith("config-storage_config-redis")&&!y.model.startsWith("config-storage_config-shm")&&!y.model.startsWith("config-storage_config-vault"))})),u=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-consul"))})),p=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-redis"))})),k=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-shm"))})),T=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-vault"))})),_=t.computed(()=>({fields:n.formSchema.fields.filter(g=>g.model.startsWith("config")&&!m.value.fields.filter(y=>y.model===g.model).length&&!b.value.fields.filter(y=>y.model===g.model).length||g.model==="tags")})),A=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),N=[{hash:"#general",title:"General"},{hash:"#storage",title:"Storage"},{hash:"#advanced",title:"Advanced"}],L=[{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 I=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()},E=(g,y)=>{y==="config-storage"&&(r.value=g),n.onModelUpdated()};return(g,y)=>{const O=t.resolveComponent("KSelect"),F=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(X,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:f.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(F,{tabs:N},{general:t.withCtx(()=>[t.createElementVNode("div",Qp,[y[0]||(y[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),y[1]||(y[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),A.value?(t.openBlock(),t.createBlock(X,{key:0,model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),y[2]||(y[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(O,{class:"issuer-select",items:L,label:"Issuer",onChange:I}),t.createElementVNode("div",eh,[o.value==="letsEncrypt"?(t.openBlock(),t.createBlock(X,{key:0,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="zeroSsl"||o.value==="other"?(t.openBlock(),t.createBlock(X,{key:1,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",th,[y[3]||(y[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),y[4]||(y[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),A.value?(t.openBlock(),t.createBlock(X,{key:0,model:e.formModel,options:e.formOptions,schema:b.value,onModelUpdated:E},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",nh,[r.value==="consul"?(t.openBlock(),t.createBlock(X,{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(X,{key:1,model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="shm"?(t.openBlock(),t.createBlock(X,{key:2,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(X,{key:3,model:e.formModel,options:e.formOptions,schema:T.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",oh,[y[5]||(y[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),y[6]||(y[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),A.value?(t.openBlock(),t.createBlock(X,{key:0,model:e.formModel,options:e.formOptions,schema:_.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),[["__scopeId","data-v-07cecf5b"]]),ah={class:"rla-form-basic-fields"},rh={class:"rla-form-request-limits-subtitle"},lh={class:"rla-form-request-limits-content"},sh={class:"rla-form-window-type"},dh=["innerHTML"],ch={class:"rla-form-window-type-radios"},mh={class:"rla-form-request-limits-items"},uh={class:"rla-form-request-limits-row"},fh=["id"],ph={class:"rla-form-request-limits-actions"},hh={key:0,class:"rla-form-request-limits-examples"},gh={class:"rla-form-request-limits-examples-badges"},yh=["innerHTML"],bh={id:"rla-form-error-legend",class:"rla-form-error-inputs"},_h=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:ih,ExitTransformer:Wp,OIDCForm:Gp,PostFunction:Yp,RLAForm:x(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){t.provide(he,t.useSlots()?.[Je]);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.
1
+ (function(D,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):(D=typeof globalThis<"u"?globalThis:D||self,t(D["kong-ui-public-forms"]={},D.Vue,D["kong-ui-public-i18n"],D.KongIcons,D.axios,D["kong-ui-public-entities-shared"]))})(this,(function(D,t,Ee,ue,xa,mt){"use strict";function ao(e,n){for(var o=-1,r=e==null?0:e.length;++o<r&&n(e[o],o,e)!==!1;);return e}function Ka(e){return function(n,o,r){for(var a=-1,i=Object(n),d=r(n),s=d.length;s--;){var m=d[++a];if(o(i[m],m,i)===!1)break}return n}}var ja=Ka();function za(e,n){for(var o=-1,r=Array(e);++o<e;)r[o]=n(o);return r}var ro=typeof global=="object"&&global&&global.Object===Object&&global,$a=typeof self=="object"&&self&&self.Object===Object&&self,we=ro||$a||Function("return this")(),xe=we.Symbol,lo=Object.prototype,qa=lo.hasOwnProperty,Ha=lo.toString,Nt=xe?xe.toStringTag:void 0;function Ga(e){var n=qa.call(e,Nt),o=e[Nt];try{e[Nt]=void 0;var r=!0}catch{}var a=Ha.call(e);return r&&(n?e[Nt]=o:delete e[Nt]),a}var Ya=Object.prototype,Wa=Ya.toString;function Za(e){return Wa.call(e)}var Xa="[object Null]",Ja="[object Undefined]",so=xe?xe.toStringTag:void 0;function Ke(e){return e==null?e===void 0?Ja:Xa:so&&so in Object(e)?Ga(e):Za(e)}function je(e){return e!=null&&typeof e=="object"}var Qa="[object Arguments]";function co(e){return je(e)&&Ke(e)==Qa}var mo=Object.prototype,er=mo.hasOwnProperty,tr=mo.propertyIsEnumerable,nr=co((function(){return arguments})())?co:function(e){return je(e)&&er.call(e,"callee")&&!tr.call(e,"callee")},ze=Array.isArray;function or(){return!1}var uo=typeof D=="object"&&D&&!D.nodeType&&D,fo=uo&&typeof module=="object"&&module&&!module.nodeType&&module,ir=fo&&fo.exports===uo,po=ir?we.Buffer:void 0,ar=po?po.isBuffer:void 0,ho=ar||or,rr=9007199254740991,lr=/^(?:0|[1-9]\d*)$/;function go(e,n){var o=typeof e;return n=n??rr,!!n&&(o=="number"||o!="symbol"&&lr.test(e))&&e>-1&&e%1==0&&e<n}var sr=9007199254740991;function yo(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=sr}var dr="[object Arguments]",cr="[object Array]",mr="[object Boolean]",ur="[object Date]",fr="[object Error]",pr="[object Function]",hr="[object Map]",gr="[object Number]",yr="[object Object]",br="[object RegExp]",_r="[object Set]",Er="[object String]",Cr="[object WeakMap]",Sr="[object ArrayBuffer]",kr="[object DataView]",Tr="[object Float32Array]",wr="[object Float64Array]",Mr="[object Int8Array]",Nr="[object Int16Array]",Ar="[object Int32Array]",Ir="[object Uint8Array]",Vr="[object Uint8ClampedArray]",Or="[object Uint16Array]",Br="[object Uint32Array]",G={};G[Tr]=G[wr]=G[Mr]=G[Nr]=G[Ar]=G[Ir]=G[Vr]=G[Or]=G[Br]=!0,G[dr]=G[cr]=G[Sr]=G[mr]=G[kr]=G[ur]=G[fr]=G[pr]=G[hr]=G[gr]=G[yr]=G[br]=G[_r]=G[Er]=G[Cr]=!1;function Fr(e){return je(e)&&yo(e.length)&&!!G[Ke(e)]}function gn(e){return function(n){return e(n)}}var bo=typeof D=="object"&&D&&!D.nodeType&&D,At=bo&&typeof module=="object"&&module&&!module.nodeType&&module,Rr=At&&At.exports===bo,yn=Rr&&ro.process,ut=(function(){try{var e=At&&At.require&&At.require("util").types;return e||yn&&yn.binding&&yn.binding("util")}catch{}})(),_o=ut&&ut.isTypedArray,Dr=_o?gn(_o):Fr,Ur=Object.prototype,Lr=Ur.hasOwnProperty;function Eo(e,n){var o=ze(e),r=!o&&nr(e),a=!o&&!r&&ho(e),i=!o&&!r&&!a&&Dr(e),d=o||r||a||i,s=d?za(e.length,String):[],m=s.length;for(var u in e)(n||Lr.call(e,u))&&!(d&&(u=="length"||a&&(u=="offset"||u=="parent")||i&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||go(u,m)))&&s.push(u);return s}var Pr=Object.prototype;function bn(e){var n=e&&e.constructor,o=typeof n=="function"&&n.prototype||Pr;return e===o}function Co(e,n){return function(o){return e(n(o))}}var vr=Co(Object.keys,Object),xr=Object.prototype,Kr=xr.hasOwnProperty;function jr(e){if(!bn(e))return vr(e);var n=[];for(var o in Object(e))Kr.call(e,o)&&o!="constructor"&&n.push(o);return n}function Ce(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")}var zr="[object AsyncFunction]",$r="[object Function]",qr="[object GeneratorFunction]",Hr="[object Proxy]";function q(e){if(!Ce(e))return!1;var n=Ke(e);return n==$r||n==qr||n==zr||n==Hr}function zt(e){return e!=null&&yo(e.length)&&!q(e)}function $t(e){return zt(e)?Eo(e):jr(e)}function Gr(e,n){return e&&ja(e,n,$t)}function Yr(e,n){return function(o,r){if(o==null)return o;if(!zt(o))return e(o,r);for(var a=o.length,i=-1,d=Object(o);++i<a&&r(d[i],i,d)!==!1;);return o}}var Wr=Yr(Gr);function _n(e){return e}function Zr(e){return typeof e=="function"?e:_n}function pe(e,n){var o=ze(e)?ao:Wr;return o(e,Zr(n))}var Xr="[object Symbol]";function qt(e){return typeof e=="symbol"||je(e)&&Ke(e)==Xr}var Jr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Qr=/^\w*$/;function el(e,n){if(ze(e))return!1;var o=typeof e;return o=="number"||o=="symbol"||o=="boolean"||e==null||qt(e)?!0:Qr.test(e)||!Jr.test(e)||n!=null&&e in Object(n)}var En=we["__core-js_shared__"],So=(function(){var e=/[^.]+$/.exec(En&&En.keys&&En.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""})();function tl(e){return!!So&&So in e}var nl=Function.prototype,ol=nl.toString;function et(e){if(e!=null){try{return ol.call(e)}catch{}try{return e+""}catch{}}return""}var il=/[\\^$.*+?()[\]{}|]/g,al=/^\[object .+?Constructor\]$/,rl=Function.prototype,ll=Object.prototype,sl=rl.toString,dl=ll.hasOwnProperty,cl=RegExp("^"+sl.call(dl).replace(il,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ml(e){if(!Ce(e)||tl(e))return!1;var n=q(e)?cl:al;return n.test(et(e))}function ul(e,n){return e?.[n]}function tt(e,n){var o=ul(e,n);return ml(o)?o:void 0}var It=tt(Object,"create");function fl(){this.__data__=It?It(null):{},this.size=0}function pl(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n}var hl="__lodash_hash_undefined__",gl=Object.prototype,yl=gl.hasOwnProperty;function bl(e){var n=this.__data__;if(It){var o=n[e];return o===hl?void 0:o}return yl.call(n,e)?n[e]:void 0}var _l=Object.prototype,El=_l.hasOwnProperty;function Cl(e){var n=this.__data__;return It?n[e]!==void 0:El.call(n,e)}var Sl="__lodash_hash_undefined__";function kl(e,n){var o=this.__data__;return this.size+=this.has(e)?0:1,o[e]=It&&n===void 0?Sl:n,this}function nt(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])}}nt.prototype.clear=fl,nt.prototype.delete=pl,nt.prototype.get=bl,nt.prototype.has=Cl,nt.prototype.set=kl;function Tl(){this.__data__=[],this.size=0}function Ht(e,n){return e===n||e!==e&&n!==n}function Gt(e,n){for(var o=e.length;o--;)if(Ht(e[o][0],n))return o;return-1}var wl=Array.prototype,Ml=wl.splice;function Nl(e){var n=this.__data__,o=Gt(n,e);if(o<0)return!1;var r=n.length-1;return o==r?n.pop():Ml.call(n,o,1),--this.size,!0}function Al(e){var n=this.__data__,o=Gt(n,e);return o<0?void 0:n[o][1]}function Il(e){return Gt(this.__data__,e)>-1}function Vl(e,n){var o=this.__data__,r=Gt(o,e);return r<0?(++this.size,o.push([e,n])):o[r][1]=n,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=Nl,De.prototype.get=Al,De.prototype.has=Il,De.prototype.set=Vl;var Vt=tt(we,"Map");function Ol(){this.size=0,this.__data__={hash:new nt,map:new(Vt||De),string:new nt}}function Bl(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null}function Yt(e,n){var o=e.__data__;return Bl(n)?o[typeof n=="string"?"string":"hash"]:o.map}function Fl(e){var n=Yt(this,e).delete(e);return this.size-=n?1:0,n}function Rl(e){return Yt(this,e).get(e)}function Dl(e){return Yt(this,e).has(e)}function Ul(e,n){var o=Yt(this,e),r=o.size;return o.set(e,n),this.size+=o.size==r?0:1,this}function Ue(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])}}Ue.prototype.clear=Ol,Ue.prototype.delete=Fl,Ue.prototype.get=Rl,Ue.prototype.has=Dl,Ue.prototype.set=Ul;var Ll="Expected a function";function Cn(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError(Ll);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 d=e.apply(this,r);return o.cache=i.set(a,d)||i,d};return o.cache=new(Cn.Cache||Ue),o}Cn.Cache=Ue;var Pl=500;function vl(e){var n=Cn(e,function(r){return o.size===Pl&&o.clear(),r}),o=n.cache;return n}var xl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Kl=/\\(\\)?/g,jl=vl(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(xl,function(o,r,a,i){n.push(a?i.replace(Kl,"$1"):r||o)}),n});function zl(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 ko=xe?xe.prototype:void 0,To=ko?ko.toString:void 0;function wo(e){if(typeof e=="string")return e;if(ze(e))return zl(e,wo)+"";if(qt(e))return To?To.call(e):"";var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Mo(e){return e==null?"":wo(e)}function $l(e,n){return ze(e)?e:el(e,n)?[e]:jl(Mo(e))}function ql(e){if(typeof e=="string"||qt(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n}function Hl(e,n){n=$l(n,e);for(var o=0,r=n.length;e!=null&&o<r;)e=e[ql(n[o++])];return o&&o==r?e:void 0}function j(e,n,o){var r=e==null?void 0:Hl(e,n);return r===void 0?o:r}function ne(e){return e==null}const Se="kong-ui-forms-api",Wt="kong-ui-forms-config",No="redis-partial-list-fetcher-key",Gl="redis-partial-info",Ao="redis-create-slideout",ot="autofill",ge="autofillSlot",Ae={CREATE_NOT_FROM_ENTITY:"CREATE_NOT_FROM_ENTITY",CREATE_FROM_ENTITY:"CREATE_FROM_ENTITY",UPDATE_ENTITY:"UPDATE_ENTITY",SET_REFERRAL_VALUE:"SET_REFERRAL_VALUE"},Io="—";function Vo(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 Yl(e){if(Array.isArray(e))return e}function Wl(e,n){var o=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(o!=null){var r,a,i,d,s=[],m=!0,u=!1;try{if(i=(o=o.call(e)).next,n!==0)for(;!(m=(r=i.call(o)).done)&&(s.push(r.value),s.length!==n);m=!0);}catch(p){u=!0,a=p}finally{try{if(!m&&o.return!=null&&(d=o.return(),Object(d)!==d))return}finally{if(u)throw a}}return s}}function Zl(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Xl(e,n){return Yl(e)||Wl(e,n)||Jl(e,n)||Zl()}function Jl(e,n){if(e){if(typeof e=="string")return Vo(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)?Vo(e,n):void 0}}const Oo=Object.entries,Bo=Object.setPrototypeOf,Ql=Object.isFrozen,es=Object.getPrototypeOf,ts=Object.getOwnPropertyDescriptor;let de=Object.freeze,ce=Object.seal,ft=Object.create,Fo=typeof Reflect<"u"&&Reflect,Sn=Fo.apply,kn=Fo.construct;de||(de=function(n){return n}),ce||(ce=function(n){return n}),Sn||(Sn=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)}),kn||(kn=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 pt=ae(Array.prototype.forEach),ns=ae(Array.prototype.lastIndexOf),Ro=ae(Array.prototype.pop),ht=ae(Array.prototype.push),os=ae(Array.prototype.splice),$e=Array.isArray,Ot=ae(String.prototype.toLowerCase),Tn=ae(String.prototype.toString),Do=ae(String.prototype.match),Bt=ae(String.prototype.replace),Uo=ae(String.prototype.indexOf),is=ae(String.prototype.trim),as=ae(Number.prototype.toString),rs=ae(Boolean.prototype.toString),Lo=typeof BigInt>"u"?null:ae(BigInt.prototype.toString),Po=typeof Symbol>"u"?null:ae(Symbol.prototype.toString),le=ae(Object.prototype.hasOwnProperty),Ft=ae(Object.prototype.toString),se=ae(RegExp.prototype.test),it=ls(TypeError);function ae(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 Sn(e,n,r)}}function ls(e){return function(){for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return kn(e,o)}}function v(e,n){let o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Ot;if(Bo&&Bo(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&&(Ql(n)||(n[r]=i),a=i)}e[a]=!0}return e}function ss(e){for(let n=0;n<e.length;n++)le(e,n)||(e[n]=null);return e}function fe(e){const n=ft(null);for(const r of Oo(e)){var o=Xl(r,2);const a=o[0],i=o[1];le(e,a)&&($e(i)?n[a]=ss(i):i&&typeof i=="object"&&i.constructor===Object?n[a]=fe(i):n[a]=i)}return n}function ds(e){switch(typeof e){case"string":return e;case"number":return as(e);case"boolean":return rs(e);case"bigint":return Lo?Lo(e):"0";case"symbol":return Po?Po(e):"Symbol()";case"undefined":return Ft(e);case"function":case"object":{if(e===null)return Ft(e);const n=e,o=Ie(n,"toString");if(typeof o=="function"){const r=o(n);return typeof r=="string"?r:Ft(r)}return Ft(e)}default:return Ft(e)}}function Ie(e,n){for(;e!==null;){const r=ts(e,n);if(r){if(r.get)return ae(r.get);if(typeof r.value=="function")return ae(r.value)}e=es(e)}function o(){return null}return o}function cs(e){try{return se(e,""),!0}catch{return!1}}const vo=de(["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"]),wn=de(["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"]),Mn=de(["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"]),ms=de(["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"]),Nn=de(["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"]),us=de(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),xo=de(["#text"]),Ko=de(["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"]),An=de(["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","dominant-baseline","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-orientation","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"]),jo=de(["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"]),Zt=de(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),fs=ce(/{{[\w\W]*|^[\w\W]*}}/g),ps=ce(/<%[\w\W]*|^[\w\W]*%>/g),hs=ce(/\${[\w\W]*/g),gs=ce(/^data-[\-\w.\u00B7-\uFFFF]+$/),ys=ce(/^aria-[\-\w]+$/),zo=ce(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),bs=ce(/^(?:\w+script|data):/i),_s=ce(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Es=ce(/^html$/i),Cs=ce(/^[a-z][.\w]*(-[.\w]+)+$/i),$o=ce(/<[/\w!]/g),qo=ce(/<[/\w]/g),Ss=ce(/<\/no(script|embed|frames)/i),ks=ce(/\/>/i),ke={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Ts=function(){return typeof window>"u"?null:window},ws=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(d){return d},createScriptURL(d){return d}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},Ho=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},qe=function(n,o,r,a){return le(n,o)&&$e(n[o])?v(a.base?fe(a.base):{},n[o],a.transform):r};function Go(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ts();const n=T=>Go(T);if(n.version="3.4.13",n.removed=[],!e||!e.document||e.document.nodeType!==ke.document||!e.Element)return n.isSupported=!1,n;let o=e.document;const r=o,a=r.currentScript;e.DocumentFragment;const i=e.HTMLTemplateElement,d=e.Node,s=e.Element,m=e.NodeFilter,u=e.NamedNodeMap;u===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const p=e.DOMParser,f=e.trustedTypes,h=s.prototype,S=Ie(h,"cloneNode"),k=Ie(h,"remove"),_=Ie(h,"nextSibling"),I=Ie(h,"childNodes"),w=Ie(h,"parentNode"),U=Ie(h,"shadowRoot"),V=Ie(h,"attributes"),E=d&&d.prototype?Ie(d.prototype,"nodeType"):null,g=d&&d.prototype?Ie(d.prototype,"nodeName"):null,y=d&&d.prototype?Ie(d.prototype,"ownerDocument"):null;if(typeof i=="function"){const T=o.createElement("template");T.content&&T.content.ownerDocument&&(o=T.content.ownerDocument)}let B,z="",A,b=!1,M=0;const P=function(){if(M>0)throw it('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.')},re=function(l){P(),M++;try{return B.createHTML(l)}finally{M--}},ie=function(l){P(),M++;try{return B.createScriptURL(l)}finally{M--}},Ye=function(){return b||(A=ws(f,a),b=!0),A},We=o,st=We.implementation,Ct=We.createNodeIterator,Y=We.createDocumentFragment,N=We.getElementsByTagName,K=r.importNode;let L=Ho();n.isSupported=typeof Oo=="function"&&typeof w=="function"&&st&&st.createHTMLDocument!==void 0;const ve=fs,Oe=ps,wh=hs,Mh=gs,Nh=ys,Ah=bs,ga=_s,Ih=Cs;let ya=zo,W=null;const zn=v({},[...vo,...wn,...Mn,...Nn,...xo]);let Z=null;const $n=v({},[...Ko,...An,...jo,...Zt]);let te=Object.seal(ft(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}})),vt=null,ba=null;const Ze=Object.seal(ft(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let _a=!0,qn=!0,Ea=!1,Ca=!0,Xe=!1,Je=!0,dt=!1,Hn=!1,an=null,rn=null,Gn=!1,St=!1,ln=!1,sn=!1,Sa=!0,ka=!1;const Ta="user-content-";let Yn=!0,dn=!1,kt={},Be=null;const Wn=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 wa=null;const Ma=v({},["audio","video","img","source","image","track"]);let Zn=null;const Na=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),cn="http://www.w3.org/1998/Math/MathML",mn="http://www.w3.org/2000/svg",Fe="http://www.w3.org/1999/xhtml";let Tt=Fe,Xn=!1,Jn=null;const Vh=v({},[cn,mn,Fe],Tn),Aa=de(["mi","mo","mn","ms","mtext"]);let Qn=v({},Aa);const Ia=de(["annotation-xml"]);let eo=v({},Ia);const Oh=v({},["title","style","font","a","script"]);let xt=null;const Bh=["application/xhtml+xml","text/html"],Fh="text/html";let Q=null,wt=null;const Rh=o.createElement("form"),Va=function(l){return l instanceof RegExp||l instanceof Function},to=function(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(wt&&wt===l)return;(!l||typeof l!="object")&&(l={}),l=fe(l),xt=Bh.indexOf(l.PARSER_MEDIA_TYPE)===-1?Fh:l.PARSER_MEDIA_TYPE,Q=xt==="application/xhtml+xml"?Tn:Ot,W=qe(l,"ALLOWED_TAGS",zn,{transform:Q}),Z=qe(l,"ALLOWED_ATTR",$n,{transform:Q}),Jn=qe(l,"ALLOWED_NAMESPACES",Vh,{transform:Tn}),Zn=qe(l,"ADD_URI_SAFE_ATTR",Na,{transform:Q,base:Na}),wa=qe(l,"ADD_DATA_URI_TAGS",Ma,{transform:Q,base:Ma}),Be=qe(l,"FORBID_CONTENTS",Wn,{transform:Q}),vt=qe(l,"FORBID_TAGS",fe({}),{transform:Q}),ba=qe(l,"FORBID_ATTR",fe({}),{transform:Q}),kt=le(l,"USE_PROFILES")?l.USE_PROFILES&&typeof l.USE_PROFILES=="object"?fe(l.USE_PROFILES):l.USE_PROFILES:!1,_a=l.ALLOW_ARIA_ATTR!==!1,qn=l.ALLOW_DATA_ATTR!==!1,Ea=l.ALLOW_UNKNOWN_PROTOCOLS||!1,Ca=l.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Xe=l.SAFE_FOR_TEMPLATES||!1,Je=l.SAFE_FOR_XML!==!1,dt=l.WHOLE_DOCUMENT||!1,St=l.RETURN_DOM||!1,ln=l.RETURN_DOM_FRAGMENT||!1,sn=l.RETURN_TRUSTED_TYPE||!1,Gn=l.FORCE_BODY||!1,Sa=l.SANITIZE_DOM!==!1,ka=l.SANITIZE_NAMED_PROPS||!1,Yn=l.KEEP_CONTENT!==!1,dn=l.IN_PLACE||!1,ya=cs(l.ALLOWED_URI_REGEXP)?l.ALLOWED_URI_REGEXP:zo,Tt=typeof l.NAMESPACE=="string"?l.NAMESPACE:Fe,Qn=le(l,"MATHML_TEXT_INTEGRATION_POINTS")&&l.MATHML_TEXT_INTEGRATION_POINTS&&typeof l.MATHML_TEXT_INTEGRATION_POINTS=="object"?fe(l.MATHML_TEXT_INTEGRATION_POINTS):v({},Aa),eo=le(l,"HTML_INTEGRATION_POINTS")&&l.HTML_INTEGRATION_POINTS&&typeof l.HTML_INTEGRATION_POINTS=="object"?fe(l.HTML_INTEGRATION_POINTS):v({},Ia);const c=le(l,"CUSTOM_ELEMENT_HANDLING")&&l.CUSTOM_ELEMENT_HANDLING&&typeof l.CUSTOM_ELEMENT_HANDLING=="object"?fe(l.CUSTOM_ELEMENT_HANDLING):ft(null);if(te=ft(null),le(c,"tagNameCheck")&&Va(c.tagNameCheck)&&(te.tagNameCheck=c.tagNameCheck),le(c,"attributeNameCheck")&&Va(c.attributeNameCheck)&&(te.attributeNameCheck=c.attributeNameCheck),le(c,"allowCustomizedBuiltInElements")&&typeof c.allowCustomizedBuiltInElements=="boolean"&&(te.allowCustomizedBuiltInElements=c.allowCustomizedBuiltInElements),ce(te),Xe&&(qn=!1),ln&&(St=!0),kt&&(W=v({},xo),Z=ft(null),kt.html===!0&&(v(W,vo),v(Z,Ko)),kt.svg===!0&&(v(W,wn),v(Z,An),v(Z,Zt)),kt.svgFilters===!0&&(v(W,Mn),v(Z,An),v(Z,Zt)),kt.mathMl===!0&&(v(W,Nn),v(Z,jo),v(Z,Zt))),Ze.tagCheck=null,Ze.attributeCheck=null,le(l,"ADD_TAGS")&&(typeof l.ADD_TAGS=="function"?Ze.tagCheck=l.ADD_TAGS:$e(l.ADD_TAGS)&&(W===zn&&(W=fe(W)),v(W,l.ADD_TAGS,Q))),le(l,"ADD_ATTR")&&(typeof l.ADD_ATTR=="function"?Ze.attributeCheck=l.ADD_ATTR:$e(l.ADD_ATTR)&&(Z===$n&&(Z=fe(Z)),v(Z,l.ADD_ATTR,Q))),le(l,"ADD_URI_SAFE_ATTR")&&$e(l.ADD_URI_SAFE_ATTR)&&v(Zn,l.ADD_URI_SAFE_ATTR,Q),le(l,"FORBID_CONTENTS")&&$e(l.FORBID_CONTENTS)&&(Be===Wn&&(Be=fe(Be)),v(Be,l.FORBID_CONTENTS,Q)),le(l,"ADD_FORBID_CONTENTS")&&$e(l.ADD_FORBID_CONTENTS)&&(Be===Wn&&(Be=fe(Be)),v(Be,l.ADD_FORBID_CONTENTS,Q)),Yn&&(W["#text"]=!0),dt&&v(W,["html","head","body"]),W.table&&(v(W,["tbody"]),delete vt.tbody),l.TRUSTED_TYPES_POLICY){if(typeof l.TRUSTED_TYPES_POLICY.createHTML!="function")throw it('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof l.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw it('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const C=B;B=l.TRUSTED_TYPES_POLICY;try{z=re("")}catch(O){throw B=C,O}}else l.TRUSTED_TYPES_POLICY===null?(B=void 0,z=""):(B===void 0&&(B=Ye()),B&&typeof z=="string"&&(z=re("")));de&&de(l),wt=l},Oa=v({},[...wn,...Mn,...ms]),Ba=v({},[...Nn,...us]),Dh=function(l,c,C){return c.namespaceURI===Fe?l==="svg":c.namespaceURI===cn?l==="svg"&&(C==="annotation-xml"||Qn[C]):!!Oa[l]},Uh=function(l,c,C){return c.namespaceURI===Fe?l==="math":c.namespaceURI===mn?l==="math"&&eo[C]:!!Ba[l]},Lh=function(l,c,C){return c.namespaceURI===mn&&!eo[C]||c.namespaceURI===cn&&!Qn[C]?!1:!Ba[l]&&(Oh[l]||!Oa[l])},Ph=function(l){let c=w(l);(!c||!c.tagName)&&(c={namespaceURI:Tt,tagName:"template"});const C=Ot(l.tagName),O=Ot(c.tagName);return Jn[l.namespaceURI]?l.namespaceURI===mn?Dh(C,c,O):l.namespaceURI===cn?Uh(C,c,O):l.namespaceURI===Fe?Lh(C,c,O):!!(xt==="application/xhtml+xml"&&Jn[l.namespaceURI]):!1},Qe=function(l){ht(n.removed,{element:l});try{w(l).removeChild(l)}catch{if(k(l),!w(l))throw it("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},un=function(l){Kt(l);const c=I(l);if(c){const O=[];pt(c,F=>{ht(O,F)}),pt(O,F=>{try{k(F)}catch{}})}const C=V(l);if(C)for(let O=C.length-1;O>=0;--O){const F=C[O],R=F&&F.name;if(typeof R=="string")try{l.removeAttribute(R)}catch{}}},ct=function(l,c){try{ht(n.removed,{attribute:c.getAttributeNode(l),from:c})}catch{ht(n.removed,{attribute:null,from:c})}if(c.removeAttribute(l),l==="is")if(St||ln)try{Qe(c)}catch{}else try{c.setAttribute(l,"")}catch{}},vh=function(l){const c=V(l);if(c)for(let C=c.length-1;C>=0;--C){const O=c[C],F=O&&O.name;if(!(typeof F!="string"||Z[Q(F)]))try{l.removeAttribute(F)}catch{}}},Kt=function(l){const c=[l];for(;c.length>0;){const C=c.pop();(E?E(C):C.nodeType)===ke.element&&vh(C);const F=I(C);if(F)for(let R=F.length-1;R>=0;--R)c.push(F[R])}},xh=function(l){if(!Je)return;const c=[l];for(;c.length>0;){const C=c.pop(),O=E?E(C):C.nodeType;if(O===ke.processingInstruction||O===ke.comment&&se(qo,C.data)){try{k(C)}catch{}continue}if(O===ke.element){const R=C,$=Q(g?g(C):C.nodeName);try{R.hasAttribute&&R.hasAttribute("patchsrc")&&R.removeAttribute("patchsrc"),R.hasAttribute&&R.hasAttribute("for")&&$!=="label"&&$!=="output"&&R.removeAttribute("for")}catch{}}const F=I(C);if(F)for(let R=F.length-1;R>=0;--R)c.push(F[R])}},Fa=function(l){let c=null,C=null;if(Gn)l="<remove></remove>"+l;else{const R=Do(l,/^[\r\n\t ]+/);C=R&&R[0]}xt==="application/xhtml+xml"&&Tt===Fe&&(l='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+l+"</body></html>");const O=B?re(l):l;if(Tt===Fe)try{c=new p().parseFromString(O,xt)}catch{}if(!c||!c.documentElement){c=st.createDocument(Tt,"template",null);try{c.documentElement.innerHTML=Xn?z:O}catch{}}const F=c.body||c.documentElement;return l&&C&&F.insertBefore(o.createTextNode(C),F.childNodes[0]||null),Tt===Fe?N.call(c,dt?"html":"body")[0]:dt?c.documentElement:F},Ra=function(l){const c=y?y(l):l.ownerDocument;return Ct.call(c||l,l,m.SHOW_ELEMENT|m.SHOW_COMMENT|m.SHOW_TEXT|m.SHOW_PROCESSING_INSTRUCTION|m.SHOW_CDATA_SECTION,null)},fn=function(l){return l=Bt(l,ve," "),l=Bt(l,Oe," "),l=Bt(l,wh," "),l},no=function(l){var c;l.normalize();const C=y?y(l):l.ownerDocument,O=Ct.call(C||l,l,m.SHOW_TEXT|m.SHOW_COMMENT|m.SHOW_CDATA_SECTION|m.SHOW_PROCESSING_INSTRUCTION,null);let F=O.nextNode();for(;F;)F.data=fn(F.data),F=O.nextNode();const R=(c=l.querySelectorAll)===null||c===void 0?void 0:c.call(l,"template");R&&pt(R,$=>{Mt($.content)&&no($.content)})},pn=function(l){const c=g?g(l):null;return typeof c!="string"||Q(c)!=="form"?!1:typeof l.nodeName!="string"||typeof l.textContent!="string"||typeof l.removeChild!="function"||l.attributes!==V(l)||typeof l.removeAttribute!="function"||typeof l.setAttribute!="function"||typeof l.namespaceURI!="string"||typeof l.insertBefore!="function"||typeof l.hasChildNodes!="function"||l.nodeType!==E(l)||l.childNodes!==I(l)},Mt=function(l){if(!E||typeof l!="object"||l===null)return!1;try{return E(l)===ke.documentFragment}catch{return!1}},jt=function(l){if(!E||typeof l!="object"||l===null)return!1;try{return typeof E(l)=="number"}catch{return!1}};function Re(T,l,c){T.length!==0&&pt(T,C=>{C.call(n,l,c,wt)})}const Kh=function(l,c){return!!(Je&&l.hasChildNodes()&&!jt(l.firstElementChild)&&se($o,l.textContent)&&se($o,l.innerHTML)||Je&&l.namespaceURI===Fe&&c==="style"&&jt(l.firstElementChild)||l.nodeType===ke.processingInstruction||Je&&l.nodeType===ke.comment&&se(qo,l.data))},jh=function(l,c,C){if(!vt[c]&&Pa(c)&&(te.tagNameCheck instanceof RegExp&&se(te.tagNameCheck,c)||te.tagNameCheck instanceof Function&&te.tagNameCheck(c)))return!1;if(Yn&&!Be[c]){const O=w(l),F=I(l);if(F&&O){const R=F.length;for(let $=R-1;$>=0;--$){const ee=l===C?S(F[$],!0):F[$];O.insertBefore(ee,_(l))}}}return Qe(l),!0},Da=function(l,c,C,O){return l.length===0?c:c===C||c===O?fe(c):c},Ua=function(l,c){if(Re(L.beforeSanitizeElements,l,null),l!==c&&w(l)===null)return dn&&Kt(l),!0;if(pn(l))return Qe(l),!0;const C=Q(g?g(l):l.nodeName);if(W=Da(L.uponSanitizeElement,W,zn,an),Re(L.uponSanitizeElement,l,{tagName:C,allowedTags:W}),l!==c&&w(l)===null)return dn&&Kt(l),!0;if(Kh(l,C))return Qe(l),!0;if(vt[C]||!(Ze.tagCheck instanceof Function&&Ze.tagCheck(C))&&!W[C]){const F=jh(l,C,c);return F===!1&&Re(L.afterSanitizeElements,l,null),F}if((E?E(l):l.nodeType)===ke.element&&!Ph(l)||(C==="noscript"||C==="noembed"||C==="noframes")&&se(Ss,l.innerHTML))return Qe(l),!0;if(Xe&&l.nodeType===ke.text){const F=fn(l.textContent);l.textContent!==F&&(ht(n.removed,{element:l.cloneNode()}),l.textContent=F)}return Re(L.afterSanitizeElements,l,null),!1},La=function(l,c,C){if(ba[c]||Je&&c==="patchsrc"||Je&&c==="for"&&l!=="label"&&l!=="output"||Sa&&(c==="id"||c==="name")&&(C in o||C in Rh))return!1;const O=Z[c]||Ze.attributeCheck instanceof Function&&Ze.attributeCheck(c,l);if(!(qn&&se(Mh,c))){if(!(_a&&se(Nh,c))){if(O){if(!Zn[c]){if(!se(ya,Bt(C,ga,""))){if(!((c==="src"||c==="xlink:href"||c==="href")&&l!=="script"&&Uo(C,"data:")===0&&wa[l])){if(!(Ea&&!se(Ah,Bt(C,ga,"")))){if(C)return!1}}}}}else if(!(Pa(l)&&(te.tagNameCheck instanceof RegExp&&se(te.tagNameCheck,l)||te.tagNameCheck instanceof Function&&te.tagNameCheck(l))&&(te.attributeNameCheck instanceof RegExp&&se(te.attributeNameCheck,c)||te.attributeNameCheck instanceof Function&&te.attributeNameCheck(c,l))||c==="is"&&te.allowCustomizedBuiltInElements&&(te.tagNameCheck instanceof RegExp&&se(te.tagNameCheck,C)||te.tagNameCheck instanceof Function&&te.tagNameCheck(C))))return!1}}return!0},zh=v({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Pa=function(l){return!zh[Ot(l)]&&se(Ih,l)},$h=function(l,c,C,O){if(B&&typeof f=="object"&&typeof f.getAttributeType=="function"&&!C)switch(f.getAttributeType(l,c)){case"TrustedHTML":return re(O);case"TrustedScriptURL":return ie(O)}return O},qh=function(l,c,C,O){try{C?l.setAttributeNS(C,c,O):l.setAttribute(c,O),pn(l)?Qe(l):Ro(n.removed)}catch{ct(c,l)}},va=function(l){Re(L.beforeSanitizeAttributes,l,null);const c=l.attributes;if(!c||pn(l))return;Z=Da(L.uponSanitizeAttribute,Z,$n,rn);const C={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Z,forceKeepAttr:void 0};let O=c.length;const F=Q(l.nodeName);for(;O--;){const R=c[O],$=R.name,ee=R.namespaceURI,be=R.value,_e=Q($),io=be;let he=$==="value"?io:is(io);if(C.attrName=_e,C.attrValue=he,C.keepAttr=!0,C.forceKeepAttr=void 0,Re(L.uponSanitizeAttribute,l,C),he=C.attrValue,ka&&(_e==="id"||_e==="name")&&Uo(he,Ta)!==0&&(ct($,l),he=Ta+he),Je&&se(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,he)){ct($,l);continue}if(_e==="attributename"&&Do(he,"href")){ct($,l);continue}if(!C.forceKeepAttr){if(!C.keepAttr){ct($,l);continue}if(!Ca&&se(ks,he)){ct($,l);continue}if(Xe&&(he=fn(he)),!La(F,_e,he)){ct($,l);continue}he=$h(F,_e,ee,he),he!==io&&qh(l,$,ee,he)}}Re(L.afterSanitizeAttributes,l,null)},hn=function(l){let c=null;const C=Ra(l);for(Re(L.beforeSanitizeShadowDOM,l,null);c=C.nextNode();)if(Re(L.uponSanitizeShadowNode,c,null),Ua(c,l),va(c),Mt(c.content)&&hn(c.content),(E?E(c):c.nodeType)===ke.element){const F=U(c);Mt(F)&&(oo(F),hn(F))}Re(L.afterSanitizeShadowDOM,l,null)},oo=function(l){const c=[{node:l,shadow:null}];for(;c.length>0;){const C=c.pop();if(C.shadow){hn(C.shadow);continue}const O=C.node,R=(E?E(O):O.nodeType)===ke.element,$=I(O);if($)for(let ee=$.length-1;ee>=0;--ee)c.push({node:$[ee],shadow:null});if(R){const ee=g?g(O):null;if(typeof ee=="string"&&Q(ee)==="template"){const be=O.content;Mt(be)&&c.push({node:be,shadow:null})}}if(R){const ee=U(O);Mt(ee)&&c.push({node:null,shadow:ee},{node:ee,shadow:null})}}};return n.sanitize=function(T){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},c=null,C=null,O=null,F=null;if(Xn=!T,Xn&&(T="<!-->"),typeof T!="string"&&!jt(T)&&(T=ds(T),typeof T!="string"))throw it("dirty is not a string, aborting");if(!n.isSupported)return T;Hn?(W=an,Z=rn):to(l),(L.uponSanitizeElement.length>0||L.uponSanitizeAttribute.length>0)&&(W=fe(W)),L.uponSanitizeAttribute.length>0&&(Z=fe(Z)),n.removed=[];const R=dn&&typeof T!="string"&&jt(T);if(R){xh(T);const be=g?g(T):T.nodeName;if(typeof be=="string"){const _e=Q(be);if(!W[_e]||vt[_e])throw un(T),it("root node is forbidden and cannot be sanitized in-place")}if(pn(T))throw un(T),it("root node is clobbered and cannot be sanitized in-place");try{oo(T)}catch(_e){throw un(T),_e}}else if(jt(T))c=Fa("<!---->"),C=c.ownerDocument.importNode(T,!0),C.nodeType===ke.element&&C.nodeName==="BODY"||C.nodeName==="HTML"?c=C:c.appendChild(C),oo(C);else{if(!St&&!Xe&&!dt&&T.indexOf("<")===-1)return B&&sn?re(T):T;if(c=Fa(T),!c)return St?null:sn?z:""}c&&Gn&&Qe(c.firstChild);const $=R?T:c;try{const be=Ra($);for(;O=be.nextNode();)Ua(O,$),va(O),Mt(O.content)&&hn(O.content)}catch(be){throw R&&(un(T),pt(n.removed,_e=>{_e.element&&Kt(_e.element)})),be}if(R)return pt(n.removed,be=>{be.element&&Kt(be.element)}),Xe&&no(T),T;if(St){if(Xe&&no(c),ln)for(F=Y.call(c.ownerDocument);c.firstChild;)F.appendChild(c.firstChild);else F=c;return(Z.shadowroot||Z.shadowrootmode)&&(F=K.call(r,F,!0)),F}let ee=dt?c.outerHTML:c.innerHTML;return dt&&W["!doctype"]&&c.ownerDocument&&c.ownerDocument.doctype&&c.ownerDocument.doctype.name&&se(Es,c.ownerDocument.doctype.name)&&(ee="<!DOCTYPE "+c.ownerDocument.doctype.name+`>
3
+ `+ee),Xe&&(ee=fn(ee)),B&&sn?re(ee):ee},n.setConfig=function(){let T=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};to(T),Hn=!0,an=W,rn=Z},n.clearConfig=function(){wt=null,Hn=!1,an=null,rn=null,B=A,z=""},n.isValidAttribute=function(T,l,c){wt||to({});const C=Q(T),O=Q(l);return La(C,O,c)},n.addHook=function(T,l){typeof l=="function"&&le(L,T)&&ht(L[T],l)},n.removeHook=function(T,l){if(le(L,T)){if(l!==void 0){const c=ns(L[T],l);return c===-1?void 0:os(L[T],c,1)[0]}return Ro(L[T])}},n.removeHooks=function(T){le(L,T)&&(L[T]=[])},n.removeAllHooks=function(){L=Ho()},n}var Xt=Go();function Ms(){this.__data__=new De,this.size=0}function Ns(e){var n=this.__data__,o=n.delete(e);return this.size=n.size,o}function As(e){return this.__data__.get(e)}function Is(e){return this.__data__.has(e)}var Vs=200;function Os(e,n){var o=this.__data__;if(o instanceof De){var r=o.__data__;if(!Vt||r.length<Vs-1)return r.push([e,n]),this.size=++o.size,this;o=this.__data__=new Ue(r)}return o.set(e,n),this.size=o.size,this}function gt(e){var n=this.__data__=new De(e);this.size=n.size}gt.prototype.clear=Ms,gt.prototype.delete=Ns,gt.prototype.get=As,gt.prototype.has=Is,gt.prototype.set=Os;var Jt=(function(){try{var e=tt(Object,"defineProperty");return e({},"",{}),e}catch{}})();function Yo(e,n,o){n=="__proto__"&&Jt?Jt(e,n,{configurable:!0,enumerable:!0,value:o,writable:!0}):e[n]=o}var Bs=Object.prototype,Fs=Bs.hasOwnProperty;function Wo(e,n,o){var r=e[n];(!(Fs.call(e,n)&&Ht(r,o))||o===void 0&&!(n in e))&&Yo(e,n,o)}function Qt(e,n,o,r){var a=!o;o||(o={});for(var i=-1,d=n.length;++i<d;){var s=n[i],m=void 0;m===void 0&&(m=e[s]),a?Yo(o,s,m):Wo(o,s,m)}return o}function Rs(e,n){return e&&Qt(n,$t(n),e)}function Ds(e){var n=[];if(e!=null)for(var o in Object(e))n.push(o);return n}var Us=Object.prototype,Ls=Us.hasOwnProperty;function Ps(e){if(!Ce(e))return Ds(e);var n=bn(e),o=[];for(var r in e)r=="constructor"&&(n||!Ls.call(e,r))||o.push(r);return o}function en(e){return zt(e)?Eo(e,!0):Ps(e)}function vs(e,n){return e&&Qt(n,en(n),e)}var Zo=typeof D=="object"&&D&&!D.nodeType&&D,Xo=Zo&&typeof module=="object"&&module&&!module.nodeType&&module,xs=Xo&&Xo.exports===Zo,Jo=xs?we.Buffer:void 0,Qo=Jo?Jo.allocUnsafe:void 0;function Ks(e,n){if(n)return e.slice();var o=e.length,r=Qo?Qo(o):new e.constructor(o);return e.copy(r),r}function js(e,n){var o=-1,r=e.length;for(n||(n=Array(r));++o<r;)n[o]=e[o];return n}function zs(e,n){for(var o=-1,r=e==null?0:e.length,a=0,i=[];++o<r;){var d=e[o];n(d,o,e)&&(i[a++]=d)}return i}function ei(){return[]}var $s=Object.prototype,qs=$s.propertyIsEnumerable,ti=Object.getOwnPropertySymbols,In=ti?function(e){return e==null?[]:(e=Object(e),zs(ti(e),function(n){return qs.call(e,n)}))}:ei;function Hs(e,n){return Qt(e,In(e),n)}function ni(e,n){for(var o=-1,r=n.length,a=e.length;++o<r;)e[a+o]=n[o];return e}var oi=Co(Object.getPrototypeOf,Object),Gs=Object.getOwnPropertySymbols,ii=Gs?function(e){for(var n=[];e;)ni(n,In(e)),e=oi(e);return n}:ei;function Ys(e,n){return Qt(e,ii(e),n)}function ai(e,n,o){var r=n(e);return ze(e)?r:ni(r,o(e))}function Ws(e){return ai(e,$t,In)}function Zs(e){return ai(e,en,ii)}var Vn=tt(we,"DataView"),On=tt(we,"Promise"),yt=tt(we,"Set"),Bn=tt(we,"WeakMap"),ri="[object Map]",Xs="[object Object]",li="[object Promise]",si="[object Set]",di="[object WeakMap]",ci="[object DataView]",Js=et(Vn),Qs=et(Vt),ed=et(On),td=et(yt),nd=et(Bn),Le=Ke;(Vn&&Le(new Vn(new ArrayBuffer(1)))!=ci||Vt&&Le(new Vt)!=ri||On&&Le(On.resolve())!=li||yt&&Le(new yt)!=si||Bn&&Le(new Bn)!=di)&&(Le=function(e){var n=Ke(e),o=n==Xs?e.constructor:void 0,r=o?et(o):"";if(r)switch(r){case Js:return ci;case Qs:return ri;case ed:return li;case td:return si;case nd:return di}return n});var od=Object.prototype,id=od.hasOwnProperty;function ad(e){var n=e.length,o=new e.constructor(n);return n&&typeof e[0]=="string"&&id.call(e,"index")&&(o.index=e.index,o.input=e.input),o}var mi=we.Uint8Array;function Fn(e){var n=new e.constructor(e.byteLength);return new mi(n).set(new mi(e)),n}function rd(e,n){var o=n?Fn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.byteLength)}var ld=/\w*$/;function sd(e){var n=new e.constructor(e.source,ld.exec(e));return n.lastIndex=e.lastIndex,n}var ui=xe?xe.prototype:void 0,fi=ui?ui.valueOf:void 0;function dd(e){return fi?Object(fi.call(e)):{}}function cd(e,n){var o=n?Fn(e.buffer):e.buffer;return new e.constructor(o,e.byteOffset,e.length)}var md="[object Boolean]",ud="[object Date]",fd="[object Map]",pd="[object Number]",hd="[object RegExp]",gd="[object Set]",yd="[object String]",bd="[object Symbol]",_d="[object ArrayBuffer]",Ed="[object DataView]",Cd="[object Float32Array]",Sd="[object Float64Array]",kd="[object Int8Array]",Td="[object Int16Array]",wd="[object Int32Array]",Md="[object Uint8Array]",Nd="[object Uint8ClampedArray]",Ad="[object Uint16Array]",Id="[object Uint32Array]";function Vd(e,n,o){var r=e.constructor;switch(n){case _d:return Fn(e);case md:case ud:return new r(+e);case Ed:return rd(e,o);case Cd:case Sd:case kd:case Td:case wd:case Md:case Nd:case Ad:case Id:return cd(e,o);case fd:return new r;case pd:case yd:return new r(e);case hd:return sd(e);case gd:return new r;case bd:return dd(e)}}var pi=Object.create,Od=(function(){function e(){}return function(n){if(!Ce(n))return{};if(pi)return pi(n);e.prototype=n;var o=new e;return e.prototype=void 0,o}})();function Bd(e){return typeof e.constructor=="function"&&!bn(e)?Od(oi(e)):{}}var Fd="[object Map]";function Rd(e){return je(e)&&Le(e)==Fd}var hi=ut&&ut.isMap,Dd=hi?gn(hi):Rd,Ud="[object Set]";function Ld(e){return je(e)&&Le(e)==Ud}var gi=ut&&ut.isSet,Pd=gi?gn(gi):Ld,vd=1,xd=2,Kd=4,yi="[object Arguments]",jd="[object Array]",zd="[object Boolean]",$d="[object Date]",qd="[object Error]",bi="[object Function]",Hd="[object GeneratorFunction]",Gd="[object Map]",Yd="[object Number]",_i="[object Object]",Wd="[object RegExp]",Zd="[object Set]",Xd="[object String]",Jd="[object Symbol]",Qd="[object WeakMap]",ec="[object ArrayBuffer]",tc="[object DataView]",nc="[object Float32Array]",oc="[object Float64Array]",ic="[object Int8Array]",ac="[object Int16Array]",rc="[object Int32Array]",lc="[object Uint8Array]",sc="[object Uint8ClampedArray]",dc="[object Uint16Array]",cc="[object Uint32Array]",H={};H[yi]=H[jd]=H[ec]=H[tc]=H[zd]=H[$d]=H[nc]=H[oc]=H[ic]=H[ac]=H[rc]=H[Gd]=H[Yd]=H[_i]=H[Wd]=H[Zd]=H[Xd]=H[Jd]=H[lc]=H[sc]=H[dc]=H[cc]=!0,H[qd]=H[bi]=H[Qd]=!1;function Rt(e,n,o,r,a,i){var d,s=n&vd,m=n&xd,u=n&Kd;if(d!==void 0)return d;if(!Ce(e))return e;var p=ze(e);if(p){if(d=ad(e),!s)return js(e,d)}else{var f=Le(e),h=f==bi||f==Hd;if(ho(e))return Ks(e,s);if(f==_i||f==yi||h&&!a){if(d=m||h?{}:Bd(e),!s)return m?Ys(e,vs(d,e)):Hs(e,Rs(d,e))}else{if(!H[f])return a?e:{};d=Vd(e,f,s)}}i||(i=new gt);var S=i.get(e);if(S)return S;i.set(e,d),Pd(e)?e.forEach(function(I){d.add(Rt(I,n,o,I,e,i))}):Dd(e)&&e.forEach(function(I,w){d.set(w,Rt(I,n,o,w,e,i))});var k=u?m?Zs:Ws:m?en:$t,_=p?void 0:k(e);return ao(_||e,function(I,w){_&&(w=I,I=e[w]),Wo(d,w,Rt(I,n,o,w,e,i))}),d}var mc=1,uc=4;function Pe(e){return Rt(e,mc|uc)}const Rn=(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,""),Ei=(e="")=>e.toString().trim().replace(/ /g,"-").replace(/-{2,}/g,"-").replace(/^-+|-+$/g,"").replace(/([^a-zA-Z0-9-_/./:]+)/g,"");var fc="[object String]";function at(e){return typeof e=="string"||!ze(e)&&je(e)&&Ke(e)==fc}const Ci={methods:{getFieldRowClasses(e){const n=this.fieldErrors(e).length>0,o={[j(this.options,"validationErrorClass","error")]:n,[j(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)?pe(e.styleClasses,r=>o[r]=!0):at(e.styleClasses)&&(o[e.styleClasses]=!0),ne(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):ne(e.disabled)?!1:e.disabled},fieldReadonly(e){return q(e.readonly)?e.readonly.call(this,this.model,e,this):ne(e.readonly)?!1:e.readonly},fieldFeatured(e){return q(e.featured)?e.featured.call(this,this.model,e,this):ne(e.featured)?!1:e.featured},fieldRequired(e){return q(e.required)?e.required.call(this,this.model,e,this):ne(e.required)?!1:e.required}}};var Dn=function(){return we.Date.now()},pc=/\s/;function hc(e){for(var n=e.length;n--&&pc.test(e.charAt(n)););return n}var gc=/^\s+/;function yc(e){return e&&e.slice(0,hc(e)+1).replace(gc,"")}var Si=NaN,bc=/^[-+]0x[0-9a-f]+$/i,_c=/^0b[01]+$/i,Ec=/^0o[0-7]+$/i,Cc=parseInt;function Un(e){if(typeof e=="number")return e;if(qt(e))return Si;if(Ce(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ce(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=yc(e);var o=_c.test(e);return o||Ec.test(e)?Cc(e.slice(2),o?2:8):bc.test(e)?Si:+e}var Sc="Expected a function",kc=Math.max,Tc=Math.min;function bt(e,n,o){var r,a,i,d,s,m,u=0,p=!1,f=!1,h=!0;if(typeof e!="function")throw new TypeError(Sc);n=Un(n)||0,Ce(o)&&(p=!!o.leading,f="maxWait"in o,i=f?kc(Un(o.maxWait)||0,n):i,h="trailing"in o?!!o.trailing:h);function S(y){var B=r,z=a;return r=a=void 0,u=y,d=e.apply(z,B),d}function k(y){return u=y,s=setTimeout(w,n),p?S(y):d}function _(y){var B=y-m,z=y-u,A=n-B;return f?Tc(A,i-z):A}function I(y){var B=y-m,z=y-u;return m===void 0||B>=n||B<0||f&&z>=i}function w(){var y=Dn();if(I(y))return U(y);s=setTimeout(w,_(y))}function U(y){return s=void 0,h&&r?S(y):(r=a=void 0,d)}function V(){s!==void 0&&clearTimeout(s),u=0,r=m=a=s=void 0}function E(){return s===void 0?d:U(Dn())}function g(){var y=Dn(),B=I(y);if(r=arguments,a=this,m=y,B){if(s===void 0)return k(m);if(f)return clearTimeout(s),s=setTimeout(w,n),S(m)}return s===void 0&&(s=setTimeout(w,n)),d}return g.cancel=V,g.flush=E,g}var wc="__lodash_hash_undefined__";function Mc(e){return this.__data__.set(e,wc),this}function Nc(e){return this.__data__.has(e)}function tn(e){var n=-1,o=e==null?0:e.length;for(this.__data__=new Ue;++n<o;)this.add(e[n])}tn.prototype.add=tn.prototype.push=Mc,tn.prototype.has=Nc;function Ac(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 Ic(e){return e!==e}function Vc(e,n,o){for(var r=o-1,a=e.length;++r<a;)if(e[r]===n)return r;return-1}function Oc(e,n,o){return n===n?Vc(e,n,o):Ac(e,Ic,o)}function Bc(e,n){var o=e==null?0:e.length;return!!o&&Oc(e,n,0)>-1}function Fc(e,n){return e.has(n)}function Rc(){}function ki(e){var n=-1,o=Array(e.size);return e.forEach(function(r){o[++n]=r}),o}var Dc=1/0,Uc=yt&&1/ki(new yt([,-0]))[1]==Dc?function(e){return new yt(e)}:Rc,Lc=200;function Pc(e,n,o){var r=-1,a=Bc,i=e.length,d=!0,s=[],m=s;if(i>=Lc){var u=Uc(e);if(u)return ki(u);d=!1,a=Fc,m=new tn}else m=s;e:for(;++r<i;){var p=e[r],f=p;if(p=p!==0?p:0,d&&f===f){for(var h=m.length;h--;)if(m[h]===f)continue e;s.push(p)}else a(m,f,o)||(m!==s&&m.push(f),s.push(p))}return s}function Ti(e){return e&&e.length?Pc(e):[]}var vc=0;function wi(e){var n=++vc;return Mo(e)+n}var Mi=/d{1,4}|M{1,4}|YY(?:YY)?|S{1,3}|Do|ZZ|Z|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,He="\\d\\d?",Ge="\\d\\d",xc="\\d{3}",Kc="\\d{4}",Dt="[^\\s]+",Ni=/\[([^]*?)\]/gm;function Ai(e,n){for(var o=[],r=0,a=e.length;r<a;r++)o.push(e[r].substr(0,n));return o}var Ii=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 rt(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 d in i)e[d]=i[d]}return e}var Vi=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Oi=["January","February","March","April","May","June","July","August","September","October","November","December"],jc=Ai(Oi,3),zc=Ai(Vi,3),Bi={dayNamesShort:zc,dayNames:Vi,monthNamesShort:jc,monthNames:Oi,amPm:["am","pm"],DoFn:function(e){return e+["th","st","nd","rd"][e%10>3?0:(e-e%10!==10?1:0)*e%10]}},nn=rt({},Bi),$c=function(e){return nn=rt(nn,e)},Fi=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},qc={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)}},Ri=function(e){return+e-1},Di=[null,He],Ui=[null,Dt],Li=["isPm",Dt,function(e,n){var o=e.toLowerCase();return o===n.amPm[0]?0:o===n.amPm[1]?1:null}],Pi=["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}],Hc={D:["day",He],DD:["day",Ge],Do:["day",He+Dt,function(e){return parseInt(e,10)}],M:["month",He,Ri],MM:["month",Ge,Ri],YY:["year",Ge,function(e){var n=new Date,o=+(""+n.getFullYear()).substr(0,2);return+(""+(+e>68?o-1:o)+e)}],h:["hour",He,void 0,"isPm"],hh:["hour",Ge,void 0,"isPm"],H:["hour",He],HH:["hour",Ge],m:["minute",He],mm:["minute",Ge],s:["second",He],ss:["second",Ge],YYYY:["year",Kc],S:["millisecond","\\d",function(e){return+e*100}],SS:["millisecond",Ge,function(e){return+e*10}],SSS:["millisecond",xc],d:Di,dd:Di,ddd:Ui,dddd:Ui,MMM:["month",Dt,Ii("monthNamesShort")],MMMM:["month",Dt,Ii("monthNames")],a:Li,A:Li,ZZ:Pi,Z:Pi},on={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"},Gc=function(e){return rt(on,e)},Yc=function(e,n,o){if(n===void 0&&(n=on.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=on[n]||n;var r=[];n=n.replace(Ni,function(i,d){return r.push(d),"@@@"});var a=rt(rt({},nn),o);return n=n.replace(Mi,function(i){return qc[i](e,a)}),n.replace(/@@@/g,function(){return r.shift()})};function Wc(e,n,o){if(o===void 0&&(o={}),typeof n!="string")throw new Error("Invalid format in fecha parse");if(n=on[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=[],d=[],s=n.replace(Ni,function(E,g){return d.push(Fi(g)),"@@@"}),m={},u={};s=Fi(s).replace(Mi,function(E){var g=Hc[E],y=g[0],B=g[1],z=g[3];if(m[y])throw new Error("Invalid format. "+y+" specified twice in format");return m[y]=!0,z&&(u[z]=!0),i.push(g),"("+B+")"}),Object.keys(u).forEach(function(E){if(!m[E])throw new Error("Invalid format. "+E+" is required in specified format")}),s=s.replace(/@@@/g,function(){return d.shift()});var p=e.match(new RegExp(s,"i"));if(!p)return null;for(var f=rt(rt({},nn),o),h=1;h<p.length;h++){var S=i[h-1],k=S[0],_=S[2],I=_?_(p[h],f):+p[h];if(I==null)return null;a[k]=I}a.isPm===1&&a.hour!=null&&+a.hour!=12?a.hour=+a.hour+12:a.isPm===0&&+a.hour==12&&(a.hour=0);var w;if(a.timezoneOffset==null){w=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,V=U.length;h<V;h++)if(m[U[h][0]]&&a[U[h][0]]!==w[U[h][1]]())return null}else if(w=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 w}var _t={format:Yc,parse:Wc,defaultI18n:Bi,setGlobalDateI18n:$c,setGlobalDateMasks:Gc};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 vi=Math.max;function Xc(e,n,o){return n=vi(n===void 0?e.length-1:n,0),function(){for(var r=arguments,a=-1,i=vi(r.length-n,0),d=Array(i);++a<i;)d[a]=r[n+a];a=-1;for(var s=Array(n+1);++a<n;)s[a]=r[a];return s[n]=o(d),Zc(e,this,s)}}function Jc(e){return function(){return e}}var Qc=Jt?function(e,n){return Jt(e,"toString",{configurable:!0,enumerable:!1,value:Jc(n),writable:!0})}:_n,em=800,tm=16,nm=Date.now;function om(e){var n=0,o=0;return function(){var r=nm(),a=tm-(r-o);if(o=r,a>0){if(++n>=em)return arguments[0]}else n=0;return e.apply(void 0,arguments)}}var im=om(Qc);function am(e,n){return im(Xc(e,n,_n),e+"")}function rm(e,n,o){if(!Ce(o))return!1;var r=typeof n;return(r=="number"?zt(o)&&go(n,o.length):r=="string"&&n in o)?Ht(o[n],e):!1}var xi=Object.prototype,lm=xi.hasOwnProperty,sm=am(function(e,n){e=Object(e);var o=-1,r=n.length,a=r>2?n[2]:void 0;for(a&&rm(n[0],n[1],a)&&(r=1);++o<r;)for(var i=n[o],d=en(i),s=-1,m=d.length;++s<m;){var u=d[s],p=e[u];(p===void 0||Ht(p,xi[u])&&!lm.call(e,u))&&(e[u]=i[u])}return e}),dm=we.isFinite;function Ki(e){return typeof e=="number"&&dm(e)}var ji=1/0,cm=17976931348623157e292;function mm(e){if(!e)return e===0?e:0;if(e=Un(e),e===ji||e===-ji){var n=e<0?-1:1;return n*cm}return e===e?e:0}function um(e){var n=mm(e),o=n%1;return n===n?o?n-o:n:0}function fm(e){return typeof e=="number"&&e==um(e)}var pm="[object Number]";function Ln(e){return typeof e=="number"||je(e)&&Ke(e)==pm}const Te={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:oe}=Ee.createI18n("en-us",Te),me={fieldIsRequired:oe("validators.field_is_required"),invalidFormat:oe("validators.invalid_format"),numberTooSmall:oe("validators.number_too_small"),numberTooBig:oe("validators.number_too_large"),invalidNumber:oe("validators.invalid_number"),invalidInteger:oe("validators.invalid_integer"),textTooSmall:oe("validators.text_too_short"),textTooBig:oe("validators.text_too_long"),thisNotText:oe("validators.this_not_text"),thisNotArray:oe("validators.this_not_array"),selectMinItems:oe("validators.select_min_items"),selectMaxItems:oe("validators.select_max_items"),invalidDate:oe("validators.invalid_date"),dateIsEarly:oe("validators.date_is_early"),dateIsLate:oe("validators.date_is_late"),invalidEmail:oe("validators.invalid_email"),invalidURL:oe("validators.invalid_url"),invalidCard:oe("validators.invalid_card"),invalidCardNumber:oe("validators.invalid_card_number"),invalidTextContainNumber:oe("validators.invalid_text_contain_number"),invalidTextContainSpec:oe("validators.invalid_tex_contain_spec")},X=(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},Me=(e,n,o=me)=>ne(e)||e===""?n?[X(o.fieldIsRequired)]:[]:null,lt={required:(e,n,o,r=me)=>Me(e,n.required,r)||[],number:(e,n,o,r=me)=>{let a=Me(e,n.required,r);return a!=null||(a=[],Ki(e)?(!ne(n.min)&&e<n.min,(r=me)&&a.push(X(r.numberTooSmall,n.min)),!ne(n.max)&&e>n.max,(r=me)&&a.push(X(r.numberTooBig,n.max))):a.push(X(r.invalidNumber))),a},integer:(e,n,o,r=me)=>{let a=Me(e,n.required,r);return a!=null||(a=[],a.concat(lt.number(e,n,o,r)),fm(e)||a.push(X(r.invalidInteger))),a},double:(e,n,o,r=me)=>{const a=Me(e,n.required,r);return a??(!Ln(e)||isNaN(e)?[X(r.invalidNumber)]:[])},string:(e,n,o,r=me)=>{let a=Me(e,n.required,r);return a!=null||(a=[],at(e)?(!ne(n.min)&&e.length<n.min&&a.push(X(r.textTooSmall,e.length,n.min)),!ne(n.max)&&e.length>n.max&&a.push(X(r.textTooBig,e.length,n.max))):a.push(X(r.thisNotText))),a},array:(e,n,o,r=me)=>{if(n.required){if(!Array.isArray(e))return[X(r.thisNotArray)];if(e.length===0)return[X(r.fieldIsRequired)]}if(!ne(e)){if(!ne(n.min)&&e.length<n.min)return[X(r.selectMinItems,n.min)];if(!ne(n.max)&&e.length>n.max)return[X(r.selectMaxItems,n.max)]}return[]},date:(e,n,o,r=me)=>{let a=Me(e,n.required,r);if(a!=null)return a;a=[];const i=new Date(e);if(isNaN(i.getDate()))return[X(r.invalidDate)];if(!ne(n.min)){const d=new Date(n.min);i.valueOf()<d.valueOf()&&a.push(X(r.dateIsEarly,_t.format(i),_t.format(d)))}if(!ne(n.max)){const d=new Date(n.max);i.valueOf()>d.valueOf()&&a.push(X(r.dateIsLate,_t.format(i),_t.format(d)))}return a},regexp:(e,n,o,r=me)=>{const a=Me(e,n.required,r);return a??(!ne(n.pattern)&&!new RegExp(n.pattern).test(e)?[X(r.invalidFormat)]:[])},email:(e,n,o,r=me)=>{const a=Me(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)?[]:[X(r.invalidEmail)])},url:(e,n,o,r=me)=>{const a=Me(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)?[]:[X(r.invalidURL)])},creditCard:(e,n,o,r=me)=>{const a=Me(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})$/,d=e.replace(/[^0-9]+/g,"");if(!i.test(d))return[X(r.invalidCard)];let s=0,m,u,p;for(let f=d.length-1;f>=0;f--)m=d.substring(f,f+1),u=parseInt(m,10),p?(u*=2,u>=10?s+=u%10+1:s+=u):s+=u,p=!p;return s%10===0&&d?[]:[X(r.invalidCardNumber)]},alpha:(e,n,o,r=me)=>{const a=Me(e,n.required,r);return a??(/^[a-zA-Z]*$/.test(e)?[]:[X(r.invalidTextContainNumber)])},alphaNumeric:(e,n,o,r=me)=>{const a=Me(e,n.required,r);return a??(/^[a-zA-Z0-9]*$/.test(e)?[]:[X(r.invalidTextContainSpec)])}};Object.keys(lt).forEach(e=>{const n=lt[e];q(n)&&(n.locale=o=>(r,a,i)=>n(r,a,i,sm(o,me)))});function zi(e){return at(e)?lt[e]!=null?lt[e]:(console.warn(`'${e}' is not a validator function!`),null):e}function Pn(e,n,o){let r=j(o.context,"schema.attributes",{});const a=n.value||"input";at(a)&&(r=j(r,a)||r),pe(r,(i,d)=>{e.setAttribute(d,i)})}const Ve={name:"abstractField",props:["vfg","model","schema","formOptions","disabled"],emits:["validated","modelUpdated"],data(){return{errors:[],debouncedValidateFunc:null,debouncedFormatFunc:null}},directives:{attributes:{beforeMount:Pn,updated:Pn,componentUpdated:Pn}},computed:{value:{cache:!1,get(){let e;return q(j(this.schema,"get"))?e=this.schema.get(this.model):e=j(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=j(this.formOptions,"validateAsync",!1);let o=[];if(this.schema.validator&&this.schema.readonly!==!0&&this.disabled!==!0){const a=[];Array.isArray(this.schema.validator)?pe(this.schema.validator,i=>{a.push(zi(i).bind(this))}):a.push(zi(this.schema.validator).bind(this)),pe(a,i=>{if(n)o.push(i(this.value,this.schema,this.model));else{const d=i(this.value,this.schema,this.model);d&&q(d.then)?d.then(s=>{s&&(this.errors=this.errors.concat(s));const m=this.errors.length===0;this.$emit("validated",m,this.errors,this)}):d&&(o=o.concat(d))}})}const r=a=>{let i=[];pe(Ti(a),s=>{Array.isArray(s)&&s.length>0?i=i.concat(s):at(s)&&i.push(s)}),q(this.schema.onValidated)&&this.schema.onValidated.call(this,this.model,i,this.schema);const d=i.length===0;return e||this.$emit("validated",d,i,this),this.errors=i,i};return n?Promise.all(o).then(r):r(o)},debouncedValidate(){q(this.debouncedValidateFunc)||(this.debouncedValidateFunc=bt(this.validate.bind(this),j(this.schema,"validateDebounceTime",j(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),j(this.formOptions,"validateAfterChanged",!1)===!0&&(j(this.schema,"validateDebounceTime",j(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 d=a.length;for(;i<d;){const s=a[i];if(i<d-1)r[s]!==void 0||(r[s]={}),r=r[s];else{r[s]=n;return}++i}},getFieldID(e,n=!1){const o=j(this.formOptions,"fieldIdPrefix","");return Rn(e,o)+(n?"-"+wi():"")},getLabelId(e){return`${this.getFieldID(e)}-label`},getFieldClasses(){return j(this.schema,"fieldClasses",[])},formatValueToField(e){return e},formatValueToModel(e){return e}}},hm=Object.freeze(Object.defineProperty({__proto__:null,default:Ve},Symbol.toStringTag,{value:"Module"})),x=(e,n)=>{const o=e.__vccOpts||e;for(const[r,a]of n)o[r]=a;return o},gm={class:"advanced-field-dropdown-wrapper","data-testid":"advanced-field-dropdown-wrapper"},ym={class:"material-icons"},bm=x(Object.assign({mixins:[Ve],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",gm,[t.createElementVNode("button",{class:"advanced-field-title",type:"button",onClick:o[0]||(o[0]=(...r)=>n.handleOpen&&n.handleOpen(...r))},[t.createElementVNode("i",ym,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(J,{model:n.model,options:{helpAsHtml:!0},schema:n.schema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])],2)]))}}),[["__scopeId","data-v-e8f66c8a"]]),_m={class:"array-card-container"},$i=x(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",_m,[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]=d=>o.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.TrashIcon))]),_:1})])}}}),[["__scopeId","data-v-a8366ec5"]]),Em={class:"array-item-wrapper"},Cm={class:"array-item"},Sm={class:"array-item-after"},qi=x(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",Em,[t.createElementVNode("div",Cm,[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",Sm,[t.renderSlot(n.$slots,"after",{},void 0,!0)])])}}}),[["__scopeId","data-v-e6b6837c"]]),km={class:"multi-item-wrapper"},Hi=x(t.defineComponent({__name:"FieldArrayMultiItem",emits:["remove-item"],setup(e){return(n,o)=>{const r=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",km,[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 Tm=4;function Gi(e){return Rt(e,Tm)}const wm="#6c7489",Yi="12px",Mm="16px",Wi="20px",Nm=["data-testid","data-testlabel"],Am={class:"item-label"},Im={class:"autosuggest__results_message"},Vm=x(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}=Ee.createI18n("en-us",Te),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]=d=>o.value=d),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]=d=>r.$emit("change",d)),onQueryChange:a[2]||(a[2]=d=>r.$emit("query-change",d))},t.createSlots({"item-template":t.withCtx(({item:d})=>[t.renderSlot(r.$slots,"item",{item:d},()=>[t.createElementVNode("span",{class:"item-label","data-testid":d.id&&`${d.id}-0`,"data-testlabel":d.label},t.toDisplayString(d.label),9,Nm)],!0)]),"selected-item-template":t.withCtx(({item:d})=>[t.renderSlot(r.$slots,"selected-item",{item:d},()=>[t.createElementVNode("span",Am,t.toDisplayString(d.label),1)],!0)]),empty:t.withCtx(()=>[t.createElementVNode("div",Im,[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"]]),Om="[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}",vn=e=>e?e.length===36&&new RegExp(`^${Om}$`).test(e):!1,Bm={class:"selected-entity-item"},Fm={class:"selected-entity-label"},Rm={class:"entity-suggestion-item"},Dm={class:"entity-label"},Um={class:"entity-id"},Lm=500,Pm=50,vm=1e3,Zi=x(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(Se,void 0),o=async(b,M)=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),[];const{data:P}=await n.getAllV2(e.entity,{name:b,size:vm},M);return P.data},r=async b=>n?n.peek(e.entity,b):(console.warn("[@kong-ui-public/forms] No API service provided"),Promise.resolve({data:{data:[]}})),a=async b=>{if(!n)return console.warn("[@kong-ui-public/forms] No API service provided"),{id:b};const M=await n.getOne(e.entity,b,{validateStatus:P=>P>=200&&P<300||P===404});if(M.status===404)throw new Error(`Entity of type ${e.entity} with id ${b} not found`);return M.data},i=e.transformItem??(b=>({...b,label:b[e.labelField],value:b.id})),d=t.ref(""),s=t.ref(!1),m=t.ref(!1),u=t.ref(""),p=t.ref([]),f=t.ref([]),h=t.ref([]),{t:S}=Ee.createI18n("en-us",Te),k=t.ref(null);let _=null;const I=async(b,M)=>{if(!e.fieldDisabled){clearTimeout(_),_=setTimeout(()=>{s.value=!0},1500);try{const P=await b();f.value=P,p.value=f.value.map(i)}catch(P){if(M?.aborted)return;if(p.value=[],xa.isAxiosError(P)&&P.status===404){console.warn("unable to search with UUID",u.value,"for entity type",e.entity);return}d.value=P.message}finally{clearTimeout(_),s.value=!1}}},w=bt(b=>{if(b=b||"",u.value=b,!b.trim()&&!m.value){p.value=B(h.value);return}k.value&&k.value.abort();const M=new AbortController;if(k.value=M,m.value){A(b);return}g(b,M)},Lm,{leading:!0}),U=async(b,M)=>await o(b,M),V=async()=>{const{data:{data:b,next:M,offset:P}}=await r(Pm);return(!M||!P)&&(m.value=!0),f.value=b,h.value=b.map(re=>({...i(re),group:S("fields.auto_suggest.recently_created",{entity:e.entity})})),b},E=async b=>[await a(b)],g=(b,M)=>{vn(b)&&e.allowUuidSearch?I(async()=>await E(b)):I(async()=>await U(b,M.signal),M.signal)},y=b=>{let M=[];M=B(h.value),b?.trim()?p.value=M.filter(P=>e.fields.some(re=>(P[re]||"").includes(b))):p.value=M},B=b=>e.selectedItem?b.some(M=>M.value===e.selectedItem.value)?b:[e.selectedItem,...b]:b,z=b=>{p.value=h.value.filter(M=>M.id===b)},A=b=>{vn(b)&&e.allowUuidSearch?z(b):y(b)};return t.onMounted(async()=>{await I(V);const b=t.watch(()=>e.selectedItem,M=>{M&&(p.value=B(h.value)),b()});p.value=B(h.value)}),(b,M)=>(t.openBlock(),t.createBlock(Vm,{id:e.id,disabled:e.fieldDisabled,"dom-id":e.domId,"empty-message":d.value,error:e.error,loading:e.selectedItemLoading||s.value,placeholder:e.placeholder,readonly:e.disabled,suggestions:p.value,onChange:M[0]||(M[0]=P=>b.$emit("change",P)),onQueryChange:t.unref(w)},{before:t.withCtx(()=>[t.renderSlot(b.$slots,"before",{},()=>[t.createVNode(t.unref(ue.SearchIcon),{color:`var(--kui-color-text-neutral, ${t.unref(wm)})`,size:`var(--kui-icon-size-40, ${t.unref(Wi)})`},null,8,["color","size"])],!0)]),"selected-item":t.withCtx(({item:P})=>[t.renderSlot(b.$slots,"selected-item",{item:P},()=>[t.createElementVNode("span",Bm,[t.createElementVNode("span",Fm,t.toDisplayString(P.label??P.id),1)])],!0)]),item:t.withCtx(({item:P})=>[t.renderSlot(b.$slots,"item",{item:P},()=>[t.createElementVNode("div",Rm,[t.createElementVNode("span",Dm,t.toDisplayString(P.label??t.unref(Io)),1),t.createElementVNode("span",Um,t.toDisplayString(P.id),1)])],!0)]),_:3},8,["id","disabled","dom-id","empty-message","error","loading","placeholder","readonly","suggestions","onQueryChange"]))}}),[["__scopeId","data-v-d8027156"]]);function Xi(e,n,o){return o?Ae.SET_REFERRAL_VALUE:e&&!n||!e&&n?Ae.UPDATE_ENTITY:e&&n?Ae.CREATE_FROM_ENTITY:Ae.CREATE_NOT_FROM_ENTITY}const xm={components:{FieldScopedEntitySelect:Zi},mixins:[Ve],inject:[Se],emits:["model-updated"],setup(){const{t:e}=Ee.createI18n("en-us",Te);return{t:e}},data(){return{idValue:"",error:null,initialItem:null,selectedItem:null,loading:!1}},computed:{fieldState(){return Xi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){const e=this.$route;return e&&e.params[this.entity]},entity(){return this.schema.entity},bypassSearch(){const e=this.$route;return e&&e.query&&e.query.no_search},inputFields(){return this.schema?.inputValues?.fields||[]},allowUuidSearch(){return this.inputFields.includes("id")},inputFieldsWithoutId(){return this.inputFields.filter(e=>e!=="id")},initialValueSelected(){return this.idValue===this.initialItem?.id}},async created(){await this.$nextTick();let e,n;this.error=null;try{switch(this.fieldState){case Ae.UPDATE_ENTITY:if(!this[Se]){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 Ae.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Ae.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[Se])return console.warn("[@kong-ui-public/forms] No API service provided"),{};const n=await this[Se].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){const n=this.schema?.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?.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){const n=this.schema?.returnKey;return n?e[n]:e.id}}};function Km(e,n,o,r,a,i){const d=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(d,{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 Ji=x(xm,[["render",Km],["__scopeId","data-v-2e8d29f1"]]),xn=50,jm={mixins:[Ve],inject:[Se],emits:["model-updated"],setup(){const{t:e}=Ee.createI18n("en-us",Te);return{t:e}},data(){return{suggestions:[],idValue:"",message:"Type something to search",items:[],initialItems:[],loading:!1}},computed:{fieldState(){return Xi(this.model[this.schema.model],this.associatedEntity||this.entityId,this.bypassSearch)},associatedEntity(){const e=this.$route;return e&&e.params[this.entity]},entity(){return this.schema.entity},scope(){return this.schema.label.toLowerCase()},bypassSearch(){const e=this.$route;return e&&e.query&&e.query.no_search}},async created(){await this.$nextTick();let e,n;switch(this.fieldState){case Ae.UPDATE_ENTITY:if(!this[Se]){console.warn("[@kong-ui-public/forms] No API service provided");break}n=(await this[Se].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 Ae.CREATE_FROM_ENTITY:this.idValue=this.associatedEntity.id;break;case Ae.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=bt(this.search,500)),this.performSearch(e)},async search(e){if(e.trim().length===0)return;this.loading=!0;const n=[],o=[],r=this.getInputFields(),a=new Set;vn(e)&&r.includes("id")?o.push((async()=>{const i=await this.fetchExact(e);n.push({...i,label:this.getSuggestionLabel(i),value:i.id})})()):o.push(...r.filter(i=>i!=="id").map(async i=>{(await this.fetchSuggestions(e,i)).forEach(s=>{a.has(s.id)||(a.add(s.id),n.push({...s,label:this.getSuggestionLabel(s),value:s.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[Se])return console.warn("[@kong-ui-public/forms] No API service provided"),[];for(;n.length<xn;){const r=await this[Se].getAll(this.entity,{size:xn,offset:o,...e});if(n.push(...r.data.data),o=r.data.offset,!o)break}return n.slice(0,xn)},async fetchSuggestions(e,n){return this.fetchUntilLimit({[n]:e})},async fetchExact(e){return this[Se]?(await this[Se].getOne(this.entity,e)).data:(console.warn("[@kong-ui-public/forms] No API service provided"),{})},getInputFields(){return this.schema?.inputValues?.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?.length?e:null,this.schema.model)},onSelected(e){this.idValue=e&&e.id,this.updateModel(this.getReturnValue(e||{}))},getReturnValue(e){const n=this.schema?.returnKey;return n?e[n]:e.id}}},zm=["data-testid","data-testlabel"],$m=["data-testid"],qm={class:"autosuggest__results_message"};function Hm(e,n,o,r,a,i){const d=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(d,{id:e.schema.model,ref:"suggestion",modelValue:a.idValue,"onUpdate:modelValue":n[0]||(n[0]=s=>a.idValue=s),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:s})=>[t.createElementVNode("span",{class:"first-part","data-testid":s.id&&`${s.id}-0`,"data-testlabel":s.label},t.toDisplayString(i.getSuggestionLabel(s).split(" - ")[0]),9,zm),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.getSuggestionLabel(s).split(" - ").slice(1),(m,u)=>(t.openBlock(),t.createElementBlock("span",{key:u,class:"field-span","data-testid":s.id&&`${s.id}-${u+1}`||u+1},t.toDisplayString(m),9,$m))),128))]),empty:t.withCtx(()=>[t.createElementVNode("div",qm,[t.createElementVNode("span",null,t.toDisplayString(a.message),1)])]),_:1},8,["id","modelValue","disabled","items","loading","placeholder","onChange","onQueryChange"])]),_:1},8,["text"])}const Qi=x(jm,[["render",Hm],["__scopeId","data-v-c99420db"]]);function Gm(e){const n=t.ref([]),o=t.ref(null),r=_=>at(_)?lt[_]!=null?lt[_]:(console.warn(`'${_}' is not a validator function!`),null):_,a=t.computed({get(){let _;return q(j(e.schema,"get"))?_=e.schema.get(e.model?.value):_=j(e.model?.value,e.schema.model),S(_)},set(_){const I=a;_=k(_),q(_)?_(_,I):s(_,I)}}),i=_=>{m();const I=j(e.formOptions,"validateAsync",!1);let w=[];if(e.schema.readonly!==!0&&e.disabled!==!0){const V=[],E=e.schema?.validator;E&&(Array.isArray(E)?pe(E,g=>{V.push(r(g))}):V.push(r(E))),q(e.externalValidator)&&V.push(e.externalValidator),pe(V,g=>{if(I)w.push(g(a.value,e.schema,e.model?.value));else{const y=g(a.value,e.schema,e.model?.value);y&&q(y.then)?y.then(B=>{B&&(n.value=n.value.concat(B));const z=n.value.length===0;e.emitValidated&&e.emitValidated({isValid:z,errors:n.value,field:e.schema})}):y&&(w=w.concat(y))}})}const U=V=>{let E=[];if(pe(Ti(V),g=>{Array.isArray(g)&&g.length>0?E=E.concat(g):at(g)&&E.push(g)}),q(e.schema?.onValidated)&&e.schema.onValidated(e.model?.value,E,e.schema),!_){const g=E.length===0;e.emitValidated&&e.emitValidated({isValid:g,errors:E,field:e.schema})}return V=E,E};return I?Promise.all(w).then(U):U(w)},d=()=>{q(o.value)?o.value():o.value=bt(i,j(e.schema,"validateDebounceTime",j(e.formOptions,"validateDebounceTime",500)))},s=(_,I)=>{let w=!1;q(e.schema.set)?(e.schema.set(e.model?.value,_),w=!0):e.schema.model&&(u(e.schema.model,_),w=!0),w&&(e.emitModelUpdated&&e.model?.value&&e.emitModelUpdated({value:_,model:e.schema.model}),q(e.schema.onChanged)&&e.schema.onChanged(e.model?.value,_,I,e.schema),j(e.formOptions,"validateAfterChanged",!1)===!0&&(j(e.schema,"validateDebounceTime",j(e.formOptions,"validateDebounceTime",0))>0?d():i()))},m=()=>{n.value.splice(0)},u=(_,I)=>{let w=_.replace(/\[(\w+)\]/g,".$1");w=w.replace(/^\./,"");let U=e.model?.value||{},V=0;const E=w.split("."),g=E.length;for(;V<g;){const y=E[V];if(V<g-1)U[y]!==void 0||(U[y]={}),U=U[y];else{U[y]=I;return}++V}},p=(_,I=!1)=>{const w=j(e.formOptions,"fieldIdPrefix","");return Rn(_,w)+(I?"-"+wi():"")},f=_=>`${p(_)}-label`,h=()=>j(e.schema,"fieldClasses",[]),S=_=>e.formatValueToField&&typeof e.formatValueToField=="function"?e.formatValueToField(_):_,k=_=>e.formatValueToModel&&typeof e.formatValueToModel=="function"?e.formatValueToModel(_):_;return{value:a,clearValidationErrors:m,getFieldID:p,getLabelId:f,getFieldClasses:h,updateModelValue:s}}function Ym(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 Wm(e,n){const o=new RegExp("(?<=config-redis-).*"),r=/Config\.Redis.*/;return n.filter(i=>{const d=i.model.match(o);return d&&!Object.keys(e).includes(d[0])}).map(i=>{const d=i.label.match(r);return{label:d?d[0]:i.label,key:i.model,value:"N/A",type:"text"}})}const Ne={useAbstractFields:Gm,useRedisPartial:Ym,useRedisNonStandardFields:Wm},Zm={class:"form-field-wrapper"},ea=x(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),d=t.inject(ge,void 0),{updateModelValue:s,getFieldID:m,clearValidationErrors:u,value:p}=Ne.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:V=>{a("modelUpdated",V.value,V.model)}});n({clearValidationErrors:u});const f=t.computed(()=>{const V=r.schema?.inputType.toLowerCase();if(V==="number"&&r.schema?.referenceable===!0)return"text";switch(V){case"string":return"text";case"datetime":return"datetime-local";default:return V||"text"}}),h={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss","datetime-local":"YYYY-MM-DDTHH:mm:ss"},S=(V,E)=>{let g=V;const y=h[f.value]||"",B=_t.parse(V,y);B&&(r.schema?.format?g=_t.format(B,r.schema?.format):g=B.valueOf()),s(g,E)},k=(V,E)=>{Ln(V)||(V=NaN),s(V,E)},_=V=>{let E=V;switch(r.schema.inputType){case"number":case"range":Ki(parseFloat(V))&&(E=parseFloat(V));break}p.value=E,s(E,V)},I=V=>{p.value=V,s(V,V)},w=t.ref(null),U=()=>{q(w.value)&&w.value?.flush()};return t.onMounted(()=>{switch(f.value){case"number":case"range":w.value=bt((V,E)=>{k(V,E)},parseInt(j(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break;case"date":case"datetime":case"datetime-local":w.value=bt((V,E)=>{S(V,E)},parseInt(j(r.schema,"debounceFormatTimeout",1e3)),{trailing:!0,leading:!1});break}}),t.onBeforeMount(()=>{f.value==="checkbox"?console.warn("The use of 'checkbox' inputType with 'input' type fields is deprecated. Use 'checkbox' type instead."):f.value==="radio"?console.warn("The use of 'radio' inputType with 'input' type fields is deprecated. Use 'radio' type instead."):f.value==="file"&&console.warn("The 'file' type in input field is deprecated. Use 'file' field instead.")}),(V,E)=>{const g=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",Zm,[t.createVNode(g,t.mergeProps(V.$attrs,{id:t.unref(m)(e.schema),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,disabled:e.disabled||void 0,help:e.hint?e.hint:f.value==="color"||f.value==="range"?t.unref(p):void 0,max:e.schema.max,maxlength:e.schema.maxlength,min:e.schema.min,minlength:e.schema.minlength,"model-value":t.unref(p),name:e.schema.inputName,pattern:e.schema.pattern,placeholder:e.schema.placeholder,readonly:e.schema.readonly,required:e.schema.required,"show-password-mask-toggle":f.value==="password",type:f.value,width:e.schema.width,onBlur:U,"onUpdate:modelValue":_}),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(d)),{schema:e.schema,update:I,value:t.unref(p)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-c9bb165e"]]),Xm={name:"FieldMetric",components:{AddIcon:ue.AddIcon,TrashIcon:ue.TrashIcon},mixins:[Ve],emits:["remove-item"],data(){return{contentVisible:!1}}},Jm={key:0,class:"content"};function Qm(e,n,o,r,a,i){const d=t.resolveComponent("AddIcon"),s=t.resolveComponent("TrashIcon"),m=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]=u=>a.contentVisible=!a.contentVisible)},[t.createTextVNode(t.toDisplayString(e.model.name?e.model.name:"New Item")+" ",1),t.createVNode(d,{class:"metric-add-icon"})]),t.createVNode(t.Transition,{name:"slide-fade"},{default:t.withCtx(()=>[a.contentVisible?(t.openBlock(),t.createElementBlock("div",Jm,[t.renderSlot(e.$slots,"default"),t.createVNode(m,{appearance:"tertiary",class:"metric-remove-button",onClick:n[1]||(n[1]=u=>e.$emit("remove-item"))},{default:t.withCtx(()=>[t.createVNode(s)]),_:1})])):t.createCommentVNode("",!0)]),_:3})],2)}const ta=x(Xm,[["render",Qm]]),eu={class:"field-object-container"},tu={key:1},nu=["id"],ou={key:0},iu=["onUpdate:modelValue"],au={key:1},ru=["onUpdate:modelValue"],lu={key:2},su=["onUpdate:modelValue"],du=["onClick"],na=x(Object.assign({mixins:[Ve],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",eu,[n.schema.schema?(t.openBlock(),t.createBlock(J,{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",tu,[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",ou,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,type:"text"},null,8,iu),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="boolean"?(t.openBlock(),t.createElementBlock("td",au,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,type:"checkbox"},null,8,ru),[[t.vModelCheckbox,n.value[i]]])])):t.createCommentVNode("",!0),n.keyTypes[i]==="number"?(t.openBlock(),t.createElementBlock("td",lu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,type:"number"},null,8,su),[[t.vModelText,n.value[i]]])])):t.createCommentVNode("",!0),t.createElementVNode("td",null,[t.createElementVNode("input",{type:"button",value:"x",onClick:d=>n.removeElement(i)},null,8,du)])]))),128))],10,nu),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"]]),cu=["id"],mu=["data-testid"],uu={class:"item-wrapper"},fu={class:"index-wrapper"},pu={key:0},hu={key:1},gu=["onUpdate:modelValue","placeholder","type","onInput"],yu={key:0,class:"hint"},bu={class:"input-item"},_u=["placeholder"],Eu={key:0,class:"hint"},oa=x(Object.assign({mixins:[Ve],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(){return["number","integer"].includes(this.schema.values?.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 s=a.split("-").filter(u=>n.find(p=>p.model===u)),m=a.split(`-${s}`)[0].split(`${o}-`)[1];s.length?r[m]={...r[m],[s]:e[a]}:r[a.substring(i+`${o}-`.length)]=e[a]}else r[a.substring(`${o}-`.length)]=e[a];else{const s=a.split("-").filter(u=>u===this.schema.model),m=a.split(`-${s}`)[0].split(`${o}-`)[1];m&&(r[m]=e[a])}return a}),r},addKey(){const e=this.subSchema&&Array.isArray(this.subSchema.fields)&&this.subSchema.fields.length===1&&this.subSchema.fields[0].type==="array",n=this.schema.values?.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",uu,[t.createElementVNode("div",fu,[t.createElementVNode("strong",null,t.toDisplayString(i),1),t.createElementVNode("div",null,[t.createVNode(r,{appearance:"tertiary",class:"delete",icon:"",type:"button",onClick:d=>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",pu,[t.createVNode(J,{model:n.transformedModel[i],options:{helpAsHtml:!0},schema:n.subSchema,onModelUpdated:n.updateModel},null,8,["model","schema","onModelUpdated"])])):(t.openBlock(),t.createElementBlock("div",hu,[t.withDirectives(t.createElementVNode("input",{"onUpdate:modelValue":d=>n.value[i]=d,class:"form-control",placeholder:n.schema.fields&&n.schema.fields[0].schema.placeholder,type:n.valueInputType,onInput:d=>n.updateModel(n.value[i],n.model[n.schema.model])},null,40,gu),[[t.vModelDynamic,n.value[i]]]),n.schema.fields&&n.schema.fields[0].schema.hint?(t.openBlock(),t.createElementBlock("p",yu,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:d=>n.value[i]=d,value:n.value[i]},null,8,["schema","update","value"]))])),o[2]||(o[2]=t.createElementVNode("hr",{class:"wide-divider"},null,-1))])])],8,mu))),128)),t.createElementVNode("div",{class:t.normalizeClass(["input-wrapper",{indent:n.hasObjectKeys}])},[t.createElementVNode("div",bu,[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,_u),[[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",Eu,t.toDisplayString(n.schema.hintText),1)):t.createCommentVNode("",!0)],2)],10,cu)}}}),[["__scopeId","data-v-0faeec4d"]]),Cu={class:"radio-selection-group"},ia=x(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:d,value:s,clearValidationErrors:m}=Ne.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:p=>{a("modelUpdated",p.value,p.model)}});n({clearValidationErrors:m});const u=p=>{let f=p;typeof p=="string"&&(f=p.split(","),r.schema.array||(f=f.toString())),d(f,p)};return(p,f)=>{const h=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Cu,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.schema.values,(S,k)=>(t.openBlock(),t.createBlock(h,{id:e.schema.name+"-"+k,key:S.value,modelValue:t.unref(s),"onUpdate:modelValue":f[0]||(f[0]=_=>t.isRef(s)?s.value=_:null),label:S.name,"label-attributes":{info:e.schema.help},name:e.schema.name,required:e.schema.required||void 0,"selected-value":S.value,onChange:u},null,8,["id","modelValue","label","label-attributes","name","required","selected-value"]))),128))])}}}),[["__scopeId","data-v-a070103e"]]),aa=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||{}),d=_=>ne(_)?null:_,s=t.toRefs(r),{getFieldID:m,clearValidationErrors:u,value:p}=Ne.useAbstractFields({model:s.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:d,emitModelUpdated:_=>{a("modelUpdated",_.value,_.model)}});n({clearValidationErrors:u});const f=t.computed(()=>{const _=r.schema.values;return h(typeof _=="function"?_.apply(this,[r.model,r.schema]):_)}),h=_=>{const I=[];return _.forEach(w=>{I.push({label:k(w),value:S(w),disabled:typeof w=="object"&&w.disabled||void 0,group:typeof w=="object"&&String(w.group||"").toUpperCase()||void 0})}),I},S=_=>{if(Ce(_)){if(i.value&&typeof i.value.value<"u")return _[i.value.value];if(typeof _.id<"u")return String(_.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 _},k=_=>{if(Ce(_)){if(i.value&&typeof i.value.name<"u")return _[i.value.name];if(typeof _.name<"u")return String(_.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(_)};return(_,I)=>{const w=t.resolveComponent("KSelect");return t.openBlock(),t.createBlock(w,{id:t.unref(m)(e.schema),modelValue:t.unref(p),"onUpdate:modelValue":I[0]||(I[0]=U=>t.isRef(p)?p.value=U:null),class:t.normalizeClass(e.schema.fieldClasses),clearable:!e.schema.required,disabled:e.disabled||void 0,items:f.value,"kpop-attributes":{"data-testid":`${t.unref(m)(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"])}}}),Su={class:"field-string-array"},ra=x(t.defineComponent({__name:"FieldStringArray",props:{formOptions:{},model:{},schema:{}},emits:["modelUpdated"],setup(e,{expose:n,emit:o}){const r=o,{updateModelValue:a,getFieldID:i,getLabelId:d,clearValidationErrors:s,value:m}=Ne.useAbstractFields({model:t.toRef(()=>e.model),schema:e.schema,formOptions:e.formOptions,emitModelUpdated:S=>{r("modelUpdated",S.value,S.model)}});n({clearValidationErrors:s});const u=t.ref("");function p(S){return Array.isArray(S)?S.map(k=>String(k).trim()).filter(Boolean).join(", "):""}function f(S){return S?S.trim().split(",").map(k=>k.trim()).filter(Boolean):[]}function h(S){u.value=S;const k=f(S);a(k,m.value)}return t.watch(m,S=>{const k=S?p(S):"";p(f(u.value))!==k&&(u.value=k)},{immediate:!0}),(S,k)=>{const _=t.resolveComponent("KInput");return t.openBlock(),t.createElementBlock("div",Su,[t.createVNode(_,t.mergeProps(S.$attrs,{id:t.unref(i)(e.schema),"aria-labelledby":t.unref(d)(e.schema),class:e.schema.fieldClasses,help:"Use comma to separate values. eg: value1, value2","model-value":u.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"]]),ku={name:"FieldArray",components:{FieldArrayItem:qi,FieldArrayMultiItem:Hi,FieldSelect:aa,FieldMetric:ta,FieldObject:na,FieldObjectAdvanced:oa,FieldAutoSuggest:Ji,FieldAutoSuggestLegacy:Qi,FieldRadio:ia,FieldArrayCardContainer:$i,FieldInput:ea,FieldStringArray:ra,TrashIcon:ue.TrashIcon},mixins:[Ve],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){let r;return n&&(r=JSON.parse(JSON.stringify(n)),n.schema?.fields&&r.schema?.fields?.forEach?.((a,i)=>{const d=n.schema.fields[i];d&&Object.keys(d).forEach(s=>{typeof d[s]=="function"&&(a[s]=d[s])})}),r.schema?.fields?.map?.(a=>(a.id=`${a.id||a.model}-${o}`,a))),{...r,set(a,i){e[o]=i},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){let o=e;this.schema?.inputAttributes?.type==="number"&&Ln(parseFloat(e))&&(o=parseFloat(e)),this.value=this.value.map((r,a)=>a===n?o:r)},isStringArrayItems(){const e=this.schema?.elements;return e?e.type==="array"&&e.elements?.type==="string":!1},generateStringArraySchema(e){return{model:String(e),id:`${this.schema.id||this.schema.model}-${e}`,placeholder:this.schema.placeholder,help:this.schema.help,fieldClasses:this.schema.inputAttributes?.class,get:()=>this.value[e]}},handleStringArrayUpdate(e,n){this.value=this.value.map((o,r)=>r===n?e:o),this.$emit("refreshModel")}}},Tu=["id"],wu={key:0,class:"string-array-item"},Mu={key:2},Nu=["onUpdate:modelValue","aria-labelledby","type"],Au=["onUpdate:modelValue","aria-labelledby"];function Iu(e,n,o,r,a,i){const d=t.resolveComponent("FieldStringArray"),s=t.resolveComponent("TrashIcon"),m=t.resolveComponent("KButton"),u=t.resolveComponent("KTextArea"),p=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,(f,h)=>(t.openBlock(),t.createElementBlock("div",{key:h,class:t.normalizeClass(e.schema.fieldItemsClasses)},[i.isStringArrayItems()?(t.openBlock(),t.createElementBlock("div",wu,[t.createVNode(d,{"form-options":e.formOptions,model:e.value,schema:i.generateStringArraySchema(h),onModelUpdated:S=>i.handleStringArrayUpdate(S,h)},null,8,["form-options","model","schema","onModelUpdated"]),t.createVNode(m,{appearance:"tertiary",class:"string-array-remove-btn",icon:"",onClick:S=>i.removeElement(h)},{default:t.withCtx(()=>[t.createVNode(s,{decorative:""})]),_:1},8,["onClick"])])):e.schema.items&&e.schema.itemContainerComponent?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.schema.itemContainerComponent),{key:1,index:h,model:f,schema:i.generateSchema(e.value,e.schema.items,h),onRemoveItem:S=>i.removeElement(h)},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:f,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",Mu,[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.getFieldComponent(e.schema.items)),{"form-options":e.formOptions,model:f,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:f,schema:i.generateSchema(e.value,e.schema.items,h),onRemoveItem:S=>i.removeElement(h)},{after:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:S=>e.value[h]=S,value:e.value[h]},null,8,["schema","update","value"]))]),default:t.withCtx(()=>[e.schema.inputAttributes&&e.schema.inputAttributes.type==="textarea"?(t.openBlock(),t.createBlock(u,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(p,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:e.schema.inputAttributes?.type||"text"}),null,16,Nu)),[[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":S=>e.value[h]=S,"aria-labelledby":e.getLabelId(e.schema),type:"text"}),null,16,Au),[[t.vModelText,e.value[h]]]),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:S=>e.value[h]=S,value:e.value[h]},null,8,["schema","update","value"]))],64))],2))),128)),t.createVNode(m,{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,Tu)):t.createCommentVNode("",!0)}const Vu=x(ku,[["render",Iu],["__scopeId","data-v-64e1f575"]]),Ou={class:"form-field-wrapper field-checkbox"},Bu=["innerHTML"],Fu=x(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:d,value:s,clearValidationErrors:m}=Ne.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:f=>{a("modelUpdated",f.value,f.model)}}),u=t.computed(()=>r.schema.help?Xt.sanitize(r.schema.help.replace(/<\/?p>/g,"").trim()):""),p=t.computed(()=>{const f=r.schema.checkboxDescription;return typeof f=="function"?f(r.model)||void 0:f||void 0});return n({clearValidationErrors:m}),(f,h)=>{const S=t.resolveComponent("KCheckbox");return t.openBlock(),t.createElementBlock("div",Ou,[t.createVNode(S,t.mergeProps(f.$attrs,{id:t.unref(d)(e.schema),modelValue:t.unref(s),"onUpdate:modelValue":h[0]||(h[0]=k=>t.isRef(s)?s.value=k:null),autocomplete:e.schema.autocomplete,class:e.schema.fieldClasses,description:p.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:u.value},null,8,Bu)]),key:"0"}:void 0]),1040,["id","modelValue","autocomplete","class","description","disabled","help","label","label-attributes","name","readonly","required","width"])])}}}),[["__scopeId","data-v-39c92a17"]]),Ru={class:"wrapper"},Du=["disabled"],Uu=["id","checked","disabled","onChange","name"],Lu=["disabled"],Pu={class:"info"},vu={class:"dropList"},xu=["id","checked","disabled","onChange","name"];function Ku(e,n,o,r,a,i){const d=t.resolveDirective("attributes");return t.withDirectives((t.openBlock(),t.createElementBlock("div",Ru,[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,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(s)||null,disabled:e.disabled||null,onChange:m=>i.onChanged(m,s),name:i.getInputName(s)},null,40,Uu),[[d,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(s)),1)])],2))),256))],8,Du)):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]=(...s)=>i.onExpandCombo&&i.onExpandCombo(...s))},[t.createElementVNode("div",Pu,t.toDisplayString(i.selectedCount)+" selected",1),n[1]||(n[1]=t.createElementVNode("div",{class:"arrow"},null,-1))],2),t.createElementVNode("div",vu,[a.comboExpanded?(t.openBlock(!0),t.createElementBlock(t.Fragment,{key:0},t.renderList(i.items,s=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["list-row",{"is-checked":i.isItemChecked(s)}])},[t.createElementVNode("label",null,[t.withDirectives(t.createElementVNode("input",{id:e.getFieldID(e.schema,!0),type:"checkbox",checked:i.isItemChecked(s)||null,disabled:e.disabled||null,onChange:m=>i.onChanged(m,s),name:i.getInputName(s)},null,40,xu),[[d,"input"]]),t.createTextVNode(t.toDisplayString(i.getItemName(s)),1)])],2))),256)):t.createCommentVNode("",!0)])],8,Lu))])),[[d,"wrapper"]])}const ju=x({mixins:[Ve],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?Ei(this.schema.inputName+"_"+this.getItemValue(e)):Ei(this.getItemValue(e))},getItemValue(e){if(Ce(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(Ce(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((ne(this.value)||!Array.isArray(this.value))&&(this.value=[]),e.target.checked){const o=Gi(this.value);o.push(this.getItemValue(n)),this.value=o}else{const o=Gi(this.value);o.splice(this.value.indexOf(this.getItemValue(n)),1),this.value=o}},onExpandCombo(){this.comboExpanded=!this.comboExpanded}}},[["render",Ku]]),zu={name:"FieldKeyValuePairs",components:{TrashIcon:ue.TrashIcon},mixins:[Ve],inject:{autofillSlot:{from:ge,default:void 0}},data(){return{pairs:[]}},watch:{pairs:{handler(){this.updateValue()},deep:!0}},created(){this.value||(this.value={});const e=this.model?.[this.schema?.model]??{};Object.keys(e).forEach(n=>{this.pairs.push({key:n,value:e[n]})})},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)}}},$u={class:"key-value-pairs-editor"},qu={class:"pair-item-cell"},Hu=["data-testid","placeholder","value","onInput"],Gu={class:"pair-item-cell"},Yu=["data-testid","placeholder","value","onInput"];function Wu(e,n,o,r,a,i){const d=t.resolveComponent("TrashIcon"),s=t.resolveComponent("KButton");return t.openBlock(),t.createElementBlock("div",$u,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.pairs,(m,u)=>(t.openBlock(),t.createElementBlock("div",{key:u,class:"pair-item"},[t.createElementVNode("div",qu,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-key-${u}`,placeholder:e.schema.keyInputPlaceholder??"Key",type:"text",value:m.key,onInput:p=>{i.onInput(p,u,"key")}},null,40,Hu),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:p=>i.onInput({target:{value:p}},u,"key"),value:m.key},null,8,["schema","update","value"]))]),t.createElementVNode("div",Gu,[t.createElementVNode("input",{class:"form-control","data-testid":`${e.getFieldID(e.schema)}-pair-value-${u}`,placeholder:e.schema.valueInputPlaceholder??"Value",type:"text",value:m.value,onInput:p=>{i.onInput(p,u,"value")}},null,40,Yu),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(i.autofillSlot),{schema:e.schema,update:p=>i.onInput({target:{value:p}},u,"value"),value:m.value},null,8,["schema","update","value"]))]),t.createVNode(s,{appearance:"tertiary","data-testid":`${e.getFieldID(e.schema)}-remove-pair-${u}`,onClick:()=>{i.removePair(u)}},{default:t.withCtx(()=>[t.createVNode(d)]),_:1},8,["data-testid","onClick"])]))),128)),t.createVNode(s,{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=x(zu,[["render",Wu],["__scopeId","data-v-be99d00c"]]),Xu=x(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}=Ne.useAbstractFields({model:o.model,schema:n.schema,formOptions:n.formOptions});return(i,d)=>{const s=t.resolveComponent("KLabel");return t.openBlock(),t.createElementBlock("span",{class:t.normalizeClass(["field-label",e.schema.fieldClasses])},[t.createVNode(s,{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"]]),Ju=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:d,getFieldID:s,clearValidationErrors:m,value:u}=Ne.useAbstractFields({model:i,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:f=>{a("modelUpdated",f.value,f.model)}});n({clearValidationErrors:m});const p=t.computed(()=>r.schema.values?r.schema.values:r.schema.elements?.one_of?.length?r.schema.elements.one_of.map(f=>({label:String(f),value:String(f)})):[]);return(f,h)=>{const S=t.resolveComponent("KMultiselect");return t.openBlock(),t.createBlock(S,{id:t.unref(s)(e.schema),modelValue:t.unref(u),"onUpdate:modelValue":h[0]||(h[0]=k=>t.isRef(u)?u.value=k:null),"aria-labelledby":t.unref(d)(e.schema),class:t.normalizeClass(e.schema.fieldClasses),"data-testid":"field-multiselect",disabled:e.disabled||void 0,items:p.value,"kpop-attributes":{"data-testid":`${t.unref(s)(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"])}}}),Qu={class:"selection-group"},ef={class:"form-group horizontal-radios"},tf={class:"radio-group"},nf=["disabled","value"],of={class:"control-help"},af={key:0,class:"option-field"},rf={class:"option-field-container"},lf=x(Object.assign({mixins:[Ve],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=>{this.model[o.model]&&(this.checkedGroup=n,this.fieldSchema.push(o.model),this.scope=o.label?.toLowerCase())})}),this.checkedGroup===null&&(this.checkedGroup=0)},methods:{updateModel(e,n){this.$emit("model-updated",e,n)}}},{__name:"FieldSelectionGroup",setup(e){const{t:n}=Ee.createI18n("en-us",Te);return(o,r)=>(t.openBlock(),t.createElementBlock("div",Qu,[(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",ef,[t.createElementVNode("div",tf,[(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]=d=>o.checkedGroup=d),class:"k-input",disabled:o.$props.disabled,type:"radio",value:i},null,8,nf),[[t.vModelRadio,o.checkedGroup]]),t.createTextVNode(" "+t.toDisplayString(a.label)+" ",1),t.createElementVNode("div",of,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",af,[t.createElementVNode("div",rf,[t.createVNode(J,{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"]]),sf={class:"form-field-wrapper"},df=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}=Ee.createI18n("en-us",Te),d=h=>h!=null&&r.schema.valueOn?h===r.schema.valueOn:h,s=h=>h!=null&&r.schema.valueOn?h?r.schema.valueOn:r.schema.valueOff:h,m=t.toRefs(r),{getFieldID:u,value:p,clearValidationErrors:f}=Ne.useAbstractFields({model:m.model,schema:r.schema,formOptions:r.formOptions,formatValueToField:d,formatValueToModel:s,emitModelUpdated:h=>{a("modelUpdated",h.value,h.model)}});return n({clearValidationErrors:f}),(h,S)=>{const k=t.resolveComponent("KInputSwitch");return t.openBlock(),t.createElementBlock("div",sf,[t.createVNode(k,{id:t.unref(u)(e.schema),modelValue:t.unref(p),"onUpdate:modelValue":S[0]||(S[0]=_=>t.isRef(p)?p.value=_:null),autocomplete:e.schema.autocomplete,class:t.normalizeClass(e.schema.fieldClasses),disabled:e.disabled||void 0,label:t.unref(p)?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"])])}}}),cf={class:"field-textarea"},mf={name:"FormGroup",components:Object.freeze(Object.defineProperty({__proto__:null,FieldAdvanced:bm,FieldArray:Vu,FieldArrayCardContainer:$i,FieldArrayItem:qi,FieldArrayMultiItem:Hi,FieldAutoSuggest:Ji,FieldAutoSuggestLegacy:Qi,FieldCheckbox:Fu,FieldChecklist:ju,FieldInput:ea,FieldKeyValuePairs:Zu,FieldLabel:Xu,FieldMetric:ta,FieldMultiselect:Ju,FieldObject:na,FieldObjectAdvanced:oa,FieldRadio:ia,FieldSelect:aa,FieldSelectionGroup:lf,FieldStringArray:ra,FieldSwitch:df,FieldTextArea:x(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),d=t.inject(ge,void 0),{updateModelValue:s,getFieldID:m,clearValidationErrors:u,value:p}=Ne.useAbstractFields({model:i.model,schema:r.schema,formOptions:r.formOptions,emitModelUpdated:h=>{a("modelUpdated",h.value,h.model)}});n({clearValidationErrors:u});const f=h=>{p.value=h,s(h,h)};return(h,S)=>{const k=t.resolveComponent("KTextArea");return t.openBlock(),t.createElementBlock("div",cf,[t.createVNode(k,t.mergeProps(h.$attrs,{id:t.unref(m)(e.schema),modelValue:t.unref(p),"onUpdate:modelValue":S[0]||(S[0]=_=>t.isRef(p)?p.value=_: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(d)),{schema:e.schema,update:f,value:t.unref(p)},null,8,["schema","value"]))])}}}),[["__scopeId","data-v-609c18d6"]])},Symbol.toStringTag,{value:"Module"})),mixins:[Ci],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(){if(!this.field?.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(n=>({...n,...n.id?{id:`${n.id}-${e}`}:void 0}))}}}},methods:{sanitize(e){return Xt.sanitize(e)},fieldTypeHasLabel(e){if(ne(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=j(this.options,"fieldIdPrefix","");return Rn(e,n)},getTooltipId(e){return`${this.getFieldID(e)}-tooltip`},getFieldComponent(e){return e.component?e.component:"field-"+e.type},getButtonType(e){return j(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\./,""):""}}},uf=["innerHTML"],ff={class:"icon-wrapper"},pf={key:0,class:"link-wrapper"},hf={class:"field-wrap"},gf={key:0,class:"buttons"},yf=["type","onClick","textContent"],bf={key:1,class:"hint"},_f={key:2,class:"errors help-block"};function Ef(e,n,o,r,a,i){const d=t.resolveComponent("KExternalLink"),s=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(s,{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",ff,[t.createElementVNode("span",null,t.toDisplayString(i.formattedLabel(o.field.label)),1)]),o.field.link?(t.openBlock(),t.createElementBlock("div",pf,[t.createVNode(d,{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,uf)]),key:"0"}:void 0]),1032,["aria-describedby","class","for","info","tooltip-attributes"])):t.createCommentVNode("",!0),t.createElementVNode("div",hf,[(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",gf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(o.field.buttons,(m,u)=>(t.openBlock(),t.createElementBlock("button",{key:u,class:t.normalizeClass(m.classes),type:i.getButtonType(m),onClick:p=>i.buttonClickHandler(m,o.field,p),textContent:t.toDisplayString(m.label)},null,10,yf))),128))])):t.createCommentVNode("",!0)]),o.field.hint&&o.field.type!=="input"?(t.openBlock(),t.createElementBlock("div",bf,t.toDisplayString(i.fieldHint(o.field)),1)):t.createCommentVNode("",!0),i.fieldErrors(o.field).length>0?(t.openBlock(),t.createElementBlock("div",_f,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.fieldErrors(o.field),(m,u)=>(t.openBlock(),t.createElementBlock("span",{key:u},t.toDisplayString(m),1))),128))])):t.createCommentVNode("",!0)],2)}const la=x(mf,[["render",Ef],["__scopeId","data-v-87df5b50"]]);var Ut=(e=>(e.REDIS_CE="redis-ce",e.REDIS_EE="redis-ee",e))(Ut||{});const Cf=e=>e.type===Ut.REDIS_CE?"Host/Port":e.config.sentinel_nodes?.length?"Sentinel":e.config.cluster_nodes?.length?"Cluster":"Host/Port",Sf={[Ut.REDIS_CE]:"open source",[Ut.REDIS_EE]:"enterprise"},sa=e=>Sf[e]??"",Et={KONNECT_MANAGED:"konnect-managed",SELF_MANAGED:"self-managed"},kf="managed_cache.v0";function Tf(e){const o=(Array.isArray(e.tags)?e.tags:[]).filter(r=>typeof r=="string").map(r=>r.toLowerCase());return o.includes(Et.KONNECT_MANAGED)||o.includes(kf)?Et.KONNECT_MANAGED:Et.SELF_MANAGED}function da(e){return e.app==="konnect"&&!!e.isKonnectManagedRedisEnabled&&e.isCloudGateway===!0}const wf={class:"partial-config-card"},Mf={class:"config-card-row-label"},Nf={class:"label-text"},Af=["data-testid"],If=["data-testid"],Vf={key:1},Of=["data-testid"],Bf=["data-testid"],Ff=x(t.defineComponent({__name:"RedisConfigCard",props:{configFields:{type:Object,required:!0},pluginRedisFields:{type:Array,required:!0}},setup(e){const{t:n,formatUnixTimeStamp:o}=Ee.createI18n("en-us",Te),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=f=>f!=null,d=(f,h)=>i(h)&&["password","sentinel_password"].includes(f)?"password":"text",{convertKeyToTitle:s}=mt.useStringHelpers(),m=t.computed(()=>Object.entries(a.configFields).map(([f,h])=>({key:f,label:r[f]?.label??s(f),value:r[f]?.formatter?r[f].formatter(h):h,type:r[f]?.type??d(f,h),order:r[f]?.order??100})).sort((f,h)=>f.order-h.order).filter(f=>f.type!=="hidden")),u=Ne.useRedisNonStandardFields(a.configFields,a.pluginRedisFields),p=t.computed(()=>m.value.concat(u));return(f,h)=>{const S=t.resolveComponent("KCopy");return t.openBlock(),t.createElementBlock("div",wf,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(p.value,({key:k,label:_,value:I,type:w})=>(t.openBlock(),t.createElementBlock("div",{key:k,class:"partial-config-card-row"},[t.createElementVNode("div",Mf,[t.createElementVNode("div",Nf,t.toDisplayString(_),1)]),t.createElementVNode("div",{class:"config-card-row-value","data-testid":`${k}-property-value`},[i(I)?(t.openBlock(),t.createElementBlock("div",Vf,[w==="password"?(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${k}-copy-password`},[t.createVNode(S,{format:"redacted",text:String(I)},null,8,["text"])],8,Of)):(t.openBlock(),t.createElementBlock("div",{key:1,"data-testid":`${k}-plain-text`},t.toDisplayString(I),9,Bf))])):(t.openBlock(),t.createElementBlock("div",{key:0,"data-testid":`${k}-no-value`}," – ",8,If))],8,Af)]))),128))])}}}),[["__scopeId","data-v-57f78095"]]),Rf={class:"redis-config-select","data-testid":"redis-config-select"},Df={class:"selected-redis-config"},Uf=["data-testid"],Lf={class:"select-item-name","data-testid":"selected-redis-config"},Pf={class:"empty-redis-config","data-testid":"empty-redis-config"},vf={key:1,class:"redis-shared-config-error-message","data-testid":"redis-config-fetch-error"},xf="1000",ca=x(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,{emit:n}){const{t:o}=Ee.createI18n("en-us",Te),r=n,a=t.inject(No),i=t.inject(Ao,null),d={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"}},s=e,m=t.ref(null),{getMessageFromError:u}=mt.useErrors(),p=t.inject(Wt),f=t.computed(()=>!!i&&p.app==="konnect"&&!!p.isKonnectManagedRedisEnabled&&p.isCloudGateway!==!0),h=t.computed(()=>s.redisType==="redis-ce"?"redis-ce":"redis-ee"),S=t.ref(!1),k=t.ref(),{debouncedQueryChange:_,loading:I,error:w,loadItems:U,results:V}=mt.useDebouncedFilter(p,d[p.app].getAll,xf,{fetchedItemsKey:"data",searchKeys:["id","name"]}),E=t.computed(()=>w.value?u(w.value):""),g=t.computed(()=>s.isCustomPlugin?o("redis.custom_plugin.tooltip"):o("redis.shared_configuration.tooltip",{type:sa(s.redisType)})),y=t.computed(()=>s.isKonnectManagedRedisEnabled?o("redis.managed_ui.shared_configuration.title"):o("redis.shared_configuration.title")),B=t.computed(()=>s.isKonnectManagedRedisEnabled?o("redis.managed_ui.shared_configuration.selector.placeholder"):o("redis.shared_configuration.selector.placeholder")),z=t.computed(()=>s.isKonnectManagedRedisEnabled||f.value?o("redis.managed_ui.shared_configuration.create_new_configuration"):o("redis.shared_configuration.create_new_configuration",{type:sa(s.redisType)})),A=t.computed(()=>E.value||o("redis.shared_configuration.error")),b=Y=>{let N=`${p.apiBaseUrl}${d[p.app].getOne}`;return p.app==="konnect"&&(N=N.replace(/{controlPlaneId}/gi,p?.controlPlaneId||"")),N=N.replace(/\/{workspace}/gi,p?.workspace?`/${p.workspace}`:"").replace(/{id}/gi,String(Y)),N},M=t.computed(()=>{const Y=(V.value||[]).map(N=>{const K=N,L=s.isKonnectManagedRedisEnabled?Tf(K):void 0,ve=L===Et.KONNECT_MANAGED;return{...s.isKonnectManagedRedisEnabled&&L?{source:L}:{},label:N.id,name:N.name,value:N.id,type:N.type,tag:s.isKonnectManagedRedisEnabled&&ve?void 0:Cf(K)}}).filter(N=>N.type==="redis-ce"||N.type==="redis-ee");return s.redisType!=="all"?Y.filter(N=>N.type===s.redisType):Y}),P=t.computed(()=>{const Y=M.value;if(!s.isKonnectManagedRedisEnabled)return Y;const N=Y.filter(ve=>ve.source===Et.KONNECT_MANAGED),K=Y.filter(ve=>ve.source===Et.SELF_MANAGED),L=[];return N.length>0&&L.push({label:o("redis.managed_ui.groups.konnect_managed"),items:N}),K.length>0&&L.push({label:o("redis.managed_ui.groups.self_managed"),items:K}),L}),{axiosInstance:re}=mt.useAxios(p?.axiosRequestConfig),ie=async Y=>{if(!Y){m.value=null,s.updateRedisModel(void 0);return}s.updateRedisModel(Y);try{const N=await re.get(b(Y));if(N.data.config){const K=Object.assign(N.data,N.data.config);delete K.config,m.value=K}}catch(N){console.error(N)}},Ye=()=>{if(!f.value){r("showNewPartialModal");return}k.value=s.defaultRedisConfigItem||void 0,ie(void 0),S.value=!0},We=()=>{if(S.value=!1,k.value){const Y=k.value;k.value=void 0,ie(Y)}},st=async Y=>{k.value=void 0,S.value=!1,await U(),ie(Y.id)},Ct=Y=>{i?.toast(Y)};return t.watch(()=>a?.value,async Y=>{Y&&await U()}),t.onBeforeMount(()=>{U(),s.defaultRedisConfigItem&&ie(s.defaultRedisConfigItem)}),(Y,N)=>{const K=t.resolveComponent("KLabel"),L=t.resolveComponent("KBadge"),ve=t.resolveComponent("KSelect");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",Rf,[t.createVNode(K,{info:g.value,"tooltip-attributes":{maxWidth:"300",placement:"top"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(y.value),1)]),_:1},8,["info"]),N[1]||(N[1]=t.createElementVNode("div",{class:"shared-redis-config-title"},null,-1)),t.createVNode(ve,{class:"redis-config-select-trigger","data-testid":"redis-config-select-trigger","enable-filtering":"","filter-function":()=>!0,items:P.value,loading:t.unref(I),"model-value":e.defaultRedisConfigItem,placeholder:B.value,onChange:N[0]||(N[0]=Oe=>ie(Oe?.value)),onQueryChange:t.unref(_)},t.createSlots({"selected-item-template":t.withCtx(({item:Oe})=>[t.createElementVNode("div",Df,t.toDisplayString(Oe.name),1)]),"item-template":t.withCtx(({item:Oe})=>[t.createElementVNode("div",{class:"plugin-form-redis-configuration-dropdown-item","data-testid":`redis-configuration-dropdown-item-${Oe.name}`},[t.createElementVNode("span",Lf,t.toDisplayString(Oe.name),1),Oe.tag?(t.openBlock(),t.createBlock(L,{key:0,appearance:"info",class:"select-item-label"},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(Oe.tag),1)]),_:2},1024)):t.createCommentVNode("",!0)],8,Uf)]),empty:t.withCtx(()=>[t.createElementVNode("div",Pf,t.toDisplayString(t.unref(o)("redis.shared_configuration.empty_state")),1)]),_:2},[t.unref(da)(t.unref(p))?void 0:{name:"dropdown-footer-text",fn:t.withCtx(()=>[t.createElementVNode("div",{class:"new-redis-config-area","data-testid":"new-redis-config-area",onClick:Ye},[t.createVNode(t.unref(ue.AddIcon),{size:`var(--kui-icon-size-20, ${t.unref(Yi)})`},null,8,["size"]),t.createElementVNode("span",null,t.toDisplayString(z.value),1)])]),key:"0"}]),1032,["items","loading","model-value","placeholder","onQueryChange"])]),m.value?(t.openBlock(),t.createBlock(Ff,{key:0,"config-fields":m.value,"plugin-redis-fields":e.pluginRedisFields},null,8,["config-fields","plugin-redis-fields"])):t.createCommentVNode("",!0),E.value?(t.openBlock(),t.createElementBlock("p",vf,t.toDisplayString(A.value),1)):t.createCommentVNode("",!0),t.unref(i)?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(i).component),{key:2,"partial-type":h.value,visible:S.value,onClose:We,onCreated:st,onToast:Ct},null,40,["partial-type","visible"])):t.createCommentVNode("",!0)],64)}}}),[["__scopeId","data-v-6efff50c"]]),Kf={key:0},jf={class:"redis-config-radio-group","data-testid":"redis-config-radio-group"},zf={key:0,class:"shared-redis-config"},$f={key:1,class:"dedicated-redis-config"},qf={class:"dedicated-redis-config-title"},Hf={name:"VueFormGenerator",components:{formGroup:la,formRedis:x(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}=Ee.createI18n("en-us",Te),i=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.title"):a("redis.title")),d=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.description"):a("redis.shared_configuration.description")),s=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.shared_configuration.label"):a("redis.shared_configuration.label")),m=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.dedicated_configuration.description"):a("redis.dedicated_configuration.description")),u=t.computed(()=>o.isKonnectManagedRedisEnabled?a("redis.managed_ui.dedicated_configuration.label"):a("redis.dedicated_configuration.label")),p=t.computed(()=>o.field.pluginType==="custom"),f=t.ref(!o.isEditing),h=t.ref(),S=t.ref({}),k=t.ref(),_=E=>q(E.visible)?E.visible.call(this,o.model,E,this):ne(E.visible)?!0:E.visible,I=async E=>{if(!E){h.value=void 0,k.value=void 0,r("modelUpdated",void 0,"partials");return}r("modelUpdated",[{id:E,path:o.redisPath}],"partials"),k.value=[{id:E,path:o.redisPath}],h.value=E},w=(E,g)=>{S.value={...S.value,[g]:E},r("modelUpdated",E,g)},U=()=>{r("refreshModel")},V=(E,g,y)=>{r("validated",E,g,y)};return t.watch(()=>f.value,E=>{E?k.value&&r("partialToggled","redis",{partials:k.value}):r("partialToggled","partials",S.value)}),t.onBeforeMount(()=>{if(o.model&&(S.value=o.field.fields.reduce((E,g)=>(Object.keys(o.model).includes(g.model)&&(E[g.model]=o.model[g.model]),E),{})),o?.model?.partials?.[0]?.id){const E=o.model.partials[0].id;f.value=!0,h.value=E}}),(E,g)=>{const y=t.resolveComponent("KAlert"),B=t.resolveComponent("KBadge"),z=t.resolveComponent("KRadio"),A=t.resolveComponent("KCard");return t.openBlock(),t.createElementBlock("div",null,[p.value?(t.openBlock(),t.createElementBlock("div",Kf,[t.createVNode(y,{"data-testid":"custom-plugin-redis-config-note",message:t.unref(a)("redis.custom_plugin.alert")},null,8,["message"]),t.createVNode(ca,{"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":I,onShowNewPartialModal:g[0]||(g[0]=b=>E.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields"])])):(t.openBlock(),t.createBlock(A,{key:1,class:"redis-config-card","data-testid":"redis-config-card",title:i.value},{default:t.withCtx(()=>[t.createElementVNode("div",jf,[t.createVNode(z,{modelValue:f.value,"onUpdate:modelValue":g[1]||(g[1]=b=>f.value=b),card:"","card-orientation":"horizontal","data-testid":"shared-redis-config-radio",description:d.value,label:s.value,"selected-value":!0},{default:t.withCtx(()=>[e.isKonnectManagedRedisEnabled?(t.openBlock(),t.createBlock(B,{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(z,{modelValue:f.value,"onUpdate:modelValue":g[2]||(g[2]=b=>f.value=b),card:"","card-orientation":"horizontal","data-testid":"dedicated-redis-config-radio",description:m.value,label:u.value,"selected-value":!1},null,8,["modelValue","description","label"])]),f.value?(t.openBlock(),t.createElementBlock("div",zf,[t.createVNode(ca,{"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":I,onShowNewPartialModal:g[3]||(g[3]=b=>E.$emit("showNewPartialModal"))},null,8,["default-redis-config-item","is-konnect-managed-redis-enabled","plugin-redis-fields","redis-type"])])):(t.openBlock(),t.createElementBlock("div",$f,[t.createElementVNode("div",qf,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,b=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:b.model},[_(b)?(t.openBlock(),t.createBlock(la,{key:0,ref_for:!0,ref:"children",errors:e.errors,field:b,model:e.model,options:e.options,vfg:e.vfg,onModelUpdated:w,onRefreshModel:U,onValidated:V},null,8,["errors","field","model","options","vfg"])):t.createCommentVNode("",!0)],64))),128))]),_:1}))]))]),_:1},8,["title"]))])}}}),[["__scopeId","data-v-1b572a6a"]])},mixins:[Ci],inject:{autofillSlot:{from:ge,default:void 0}},provide(){return{...!this.autofillSlot&&{[ge]:this.$slots?.[ot]}}},props:{schema:{type:Object,default:()=>{}},model:{type:Object,default:()=>{}},options:{type:Object,default(){return{validateAfterLoad:!1,validateAfterChanged:!1,child:t.ref([]),fieldIdPrefix:"",validateAsync:!1,validationErrorClass:"error",validationSuccessClass:"",helpAsHtml:!1}}},multiple:{type:Boolean,default:!1},isNewModel:{type:Boolean,default:!1},tag:{type:String,default:"fieldset",validator:function(e){return e.length>0}},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&&pe(this.schema.fields,n=>{(!this.multiple||n.multi===!0)&&e.push(n)}),e},groups(){const e=[];return this.schema&&this.schema.groups&&pe(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):ne(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&&pe(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=j(this.options,"validateAsync",!1)),this.clearValidationErrors();const n=[],o=[];pe(this.$refs.children,a=>{q(a.validate)&&(n.push(a.$refs.child),o.push(a.$refs.child.validate(!0)))});const r=a=>{const i=[];pe(a,(s,m)=>{Array.isArray(s)&&s.length>0&&pe(s,u=>{i.push({field:n[m].schema,error:u})})}),this.errors=i;const d=i.length===0;return this.$emit("validated",d,i,this),e?i:d};return e?Promise.all(o).then(r):r(o)},clearValidationErrors(){this.errors.splice(0),pe(this.$refs.children,e=>{e.clearValidationErrors()})}}},Gf={key:0,class:"vue-form-generator"},Yf={key:0};function Wf(e,n,o,r,a,i){const d=t.resolveComponent("form-redis"),s=t.resolveComponent("form-group"),m=t.resolveComponent("KCollapse");return o.schema!=null?(t.openBlock(),t.createElementBlock("div",Gf,[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,u=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:u.model},[u.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(d,{key:0,errors:a.errors,field:u,"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:p=>e.$emit("showNewPartialModal",u.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(u)?(t.openBlock(),t.createBlock(s,{key:1,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))]),_:1})):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.groups,(u,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:`group-${p}`},[u.collapsible!==void 0&&u.collapsible!==!1?(t.openBlock(),t.createBlock(m,{key:0,class:"root-level-collapse","model-value":!1,title:u.collapsible.title},t.createSlots({default:t.withCtx(()=>[u.slots?.beforeContent?t.renderSlot(e.$slots,u.slots?.beforeContent,{key:0}):t.createCommentVNode("",!0),u.fields.length===0&&u.slots?.emptyState?t.renderSlot(e.$slots,u.slots?.emptyState,{key:1}):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:2,class:t.normalizeClass(e.getFieldRowClasses(u))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.fields,f=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:f.model},[i.fieldVisible(f)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:f,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"])),u.collapsible!==!0&&u.collapsible.nestedCollapsible&&u.collapsible.nestedCollapsible.fields.length>0?(t.openBlock(),t.createBlock(m,{key:3,class:"nested-collapse","model-value":a.collapseStates[`group-${p}-nested`]??!0,"trigger-alignment":"leading","trigger-label":a.collapseStates[`group-${p}-nested`]??!0?u.collapsible.nestedCollapsible.triggerLabel.expand:u.collapsible.nestedCollapsible.triggerLabel.collapse,"onUpdate:modelValue":f=>a.collapseStates[`group-${p}-nested`]=f},{default:t.withCtx(()=>[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{class:t.normalizeClass(e.getFieldRowClasses(u))},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.collapsible.nestedCollapsible.fields,f=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:f.model},[f.model==="__redis_partial"&&o.enableRedisPartial?(t.openBlock(),t.createBlock(d,{key:0,errors:a.errors,field:f,"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:h=>e.$emit("showNewPartialModal",f.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(f)?(t.openBlock(),t.createBlock(s,{key:1,ref_for:!0,ref:"children",errors:a.errors,field:f,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},[u.collapsible.description?{name:"visible-content",fn:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(u.collapsible.description),1)]),key:"0"}:void 0]),1032,["title"])):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(o.tag),{key:1,class:t.normalizeClass(e.getFieldRowClasses(u))},{default:t.withCtx(()=>[u.legend?(t.openBlock(),t.createElementBlock("legend",Yf,t.toDisplayString(u.legend),1)):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.fields,f=>(t.openBlock(),t.createElementBlock(t.Fragment,{key:f.model},[i.fieldVisible(f)?(t.openBlock(),t.createBlock(s,{key:0,ref_for:!0,ref:"children",errors:a.errors,field:f,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 J=x(Hf,[["render",Wf]]),Zf=[{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."}],ma=e=>e==null||e===""?!1:Array.isArray(e)?e.length>0:!0,Xf=e=>ma(e["config-principals-principal_by"])?"custom-identity":"kong-identity",Jf={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:Zf,selectedLookupMethod:Xf(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}`}},created(){ma(this.formModel["config-principals-principal_claim"])||this.updateField("config-principals-principal_claim",["sub"])},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:""},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()}}},Qf={key:1,class:"principals-field-group"},ep={class:"principals-field-group"},tp={class:"lookup-method-item"},np={class:"lookup-method-item-label"},op={class:"lookup-method-item-description"},ip={class:"principals-field-group"},ap={class:"principals-field-group"},rp={class:"principals-field-group"};function lp(e,n,o,r,a,i){const d=t.resolveComponent("KAlert"),s=t.resolveComponent("KLabel"),m=t.resolveComponent("KInputSwitch"),u=t.resolveComponent("KSelect"),p=t.resolveComponent("KInput"),f=t.resolveComponent("KRadio"),h=t.resolveComponent("KCheckbox"),S=t.resolveComponent("KCollapse");return t.openBlock(),t.createBlock(S,{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(d,{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",Qf,[t.createVNode(m,{"data-testid":"use-principal-lookup",disabled:o.disabled,"model-value":i.lookupEnabled,"onUpdate:modelValue":i.handleEnableToggle},{label:t.withCtx(()=>[t.createVNode(s,{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",ep,[t.createVNode(u,{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:k})=>[t.createElementVNode("div",tp,[t.createElementVNode("div",np,t.toDisplayString(k.label),1),t.createElementVNode("div",op,t.toDisplayString(k.description),1)])]),_:1},8,["disabled","items","model-value","onUpdate:modelValue"]),a.selectedLookupMethod==="custom-identity"?(t.openBlock(),t.createBlock(p,{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]=k=>i.updateField("config-principals-principal_by",k))},null,8,["disabled","model-value"])):t.createCommentVNode("",!0),t.createVNode(p,{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]=k=>i.handleTokenClaimChange(k))},null,8,["disabled","help","model-value"])]),t.createElementVNode("div",ip,[t.createVNode(s,null,{default:t.withCtx(()=>[...n[7]||(n[7]=[t.createTextVNode("If principal lookup fails",-1)])]),_:1}),t.createVNode(f,{"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]=k=>i.updateField("config-principals-error_on_miss",!0))},null,8,["disabled","model-value"]),t.createVNode(f,{"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]=k=>i.updateField("config-principals-error_on_miss",!1))},null,8,["disabled","model-value"])]),t.createElementVNode("div",ap,[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]=k=>i.handleMatchConsumerChange(k))},{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",rp,[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]=k=>i.updateField("config-principals-match_consumer_groups",k))},{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 sp=x(Jf,[["render",lp],["__scopeId","data-v-41092dbd"]]),Lt="kong-identity",ua="external",dp="/v1/auth-servers/_computed",cp="identity.konghq",mp=e=>typeof e=="string"&&e.includes(cp),Kn={major:3,minor:15},up=e=>{const[n,o]=e.split(".").map(Number);return Number.isNaN(n)||Number.isNaN(o)?!1:n!==Kn.major?n<Kn.major:o<Kn.minor},fp=(e,n)=>n?mp(e["config-issuer"])?Lt:ua:Lt,pp={name:"OIDCPrincipals",components:{VueFormGenerator:J,PrincipalLookupSettings:sp,AddIcon:ue.AddIcon,BookIcon:ue.BookIcon,CloseIcon:ue.CloseIcon,KeyIcon:ue.KeyIcon,WorldIcon:ue.WorldIcon},inject:{formsConfig:{from:Wt,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=fp(this.formModel,this.isEditing);return{MODE_KONG_IDENTITY:Lt,MODE_EXTERNAL:ua,KUI_ICON_SIZE_20:Yi,KUI_ICON_SIZE_30:Mm,KUI_ICON_SIZE_40:Wi,selectedMode:e,kongIdentityServers:[],kongIdentityServersLoading:!1,clients:[],clientsLoading:!1,selectedServer:null,restoringServer:!1,leavePromptType:null}},computed:{issuerFieldsSchema(){const e=(this.commonFieldsSchema?.fields??[]).filter(n=>n.model==="config-issuer");return{...this.commonFieldsSchema,fields:e}},externalClientIdField(){return(this.commonFieldsSchema?.fields??[]).find(e=>e.model==="config-client_id")},externalClientSecretField(){return(this.commonFieldsSchema?.fields??[]).find(e=>e.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(){return this.formsConfig?.app==="konnect"},hasAuthServersAccess(){return this.formsConfig?.isKongIdentityAuthServersAvailable!==!1},canCreateAuthServer(){return this.formsConfig?.canCreateAuthServer!==!1},canCreateAuthServerClient(){return this.formsConfig?.canCreateAuthServerClient!==!1},hasIncompatibleDataPlane(){return(this.formsConfig?.dataPlaneVersions??[]).some(up)},principalsEnabled(){return this.formModel["config-principals-enabled"]===!0},principalsGuideVisible(){return this.isKonnect&&this.formsConfig?.principalsCreationGuideVisible===!0},principalsSkeletonVisible(){return this.isKonnect&&this.formsConfig?.principalsCreationGuideVisible===void 0}},watch:{"formsConfig.principalsDirectoryName":{immediate:!0,handler(e){this.isEditing||this.selectedMode!==Lt||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(){if(this.formsConfig?.isKongIdentityAuthServersAvailable!==!1)try{this.kongIdentityServersLoading=!0;const{axiosInstance:e}=mt.useAxios(this.formsConfig?.axiosRequestConfig),n=`${this.formsConfig.apiBaseUrl}${dp}`,o=await e.get(n);this.kongIdentityServers=o.data?.data??[];const r=this.formModel["config-issuer"];if(r&&!this.selectedServer){const a=this.kongIdentityServers.find(i=>i.issuer===r)||null;a&&(this.restoringServer=!0,this.selectedServer=a,this.fetchClients(a.id))}}catch{this.kongIdentityServers=[]}finally{this.kongIdentityServersLoading=!1}},async fetchClients(e){try{this.clientsLoading=!0;const{axiosInstance:n}=mt.useAxios(this.formsConfig?.axiosRequestConfig),o=`${this.formsConfig.apiBaseUrl}/v1/auth-servers/${e}/clients`,r=await n.get(o);this.clients=r.data?.data??[]}catch{this.clients=[]}finally{this.clientsLoading=!1}},handleServerChange(e){if(this.restoringServer){this.restoringServer=!1;return}this.selectedServer=this.kongIdentityServers.find(n=>n.id===e)||null,this.selectedServer?.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 Xt.sanitize(e)},handleUsePrincipalLookupChange(e){this.updateField("config-principals-enabled",e)},handleLeaveConfirmed(){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:this.selectedServer?.id}):e==="principal"&&this.$emit("click:create-entity",{type:"principal"})},handleModeChange(e){if(e===Lt){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 n=this.formsConfig?.principalsDirectoryName;n!=null&&(this.formModel["config-principals-directory"]=n)}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)}}},hp={class:"oidc-principals-section","data-testid":"oidc-principals-section"},gp={class:"principals-description"},yp={class:"oidc-auth-mode-radio-group","data-testid":"oidc-auth-mode-radio-group"},bp={class:"auth-mode-card-content"},_p={class:"auth-mode-card-content"},Ep={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Cp={class:"principals-create-guide-actions"},Sp={class:"principals-client-secret-wrapper"},kp=["disabled","onClick"],Tp={class:"external-client-field"},wp=["innerHTML"],Mp={class:"external-client-field"},Np=["innerHTML"],Ap=["disabled","onClick"],Ip={key:1,class:"principals-create-guide","data-testid":"principals-create-guide"},Vp={class:"principals-create-guide-actions"};function Op(e,n,o,r,a,i){const d=t.resolveComponent("KExternalLink"),s=t.resolveComponent("KeyIcon"),m=t.resolveComponent("KRadio"),u=t.resolveComponent("WorldIcon"),p=t.resolveComponent("KSkeleton"),f=t.resolveComponent("AddIcon"),h=t.resolveComponent("KButton"),S=t.resolveComponent("BookIcon"),k=t.resolveComponent("KSelect"),_=t.resolveComponent("KInput"),I=t.resolveComponent("CloseIcon"),w=t.resolveComponent("PrincipalLookupSettings"),U=t.resolveComponent("VueFormGenerator"),V=t.resolveComponent("KPrompt");return t.openBlock(),t.createElementBlock("div",hp,[n[28]||(n[28]=t.createElementVNode("div",{class:"principals-header"}," Who should manage authentication and credentials? ",-1)),t.createElementVNode("div",gp,[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(d,{href:"https://developer.konghq.com/plugins/openid-connect/"},{default:t.withCtx(()=>[...n[12]||(n[12]=[t.createTextVNode(" Learn more. ",-1)])]),_:1})]),t.createElementVNode("div",yp,[t.createVNode(m,{modelValue:a.selectedMode,"onUpdate:modelValue":n[0]||(n[0]=E=>a.selectedMode=E),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",bp,[t.createVNode(s,{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(m,{modelValue:a.selectedMode,"onUpdate:modelValue":n[1]||(n[1]=E=>a.selectedMode=E),card:"","card-orientation":"horizontal","data-testid":"oidc-auth-mode-external","selected-value":a.MODE_EXTERNAL,onChange:i.handleModeChange},{default:t.withCtx(()=>[t.createElementVNode("div",_p,[t.createVNode(u,{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(p,{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",Ep,[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",Cp,[t.createVNode(h,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[2]||(n[2]=E=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(f,{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]=E=>e.$emit("click:learn-more","kong-identity"))},{default:t.withCtx(()=>[t.createVNode(S,{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(k,{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":a.selectedServer?.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(E=>a.leavePromptType="authServer",["stop"]))},[t.createVNode(f,{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(_,{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]=E=>i.updateField("config-issuer",E))},null,8,["model-value"])),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(i.clientIdArray,(E,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(k,{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":E,placeholder:"Select a client","onUpdate:modelValue":y=>i.handleClientChange(g,y)},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(y=>a.leavePromptType="client",["stop"]))},[t.createVNode(f,{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(_,{key:0,class:"principals-client-select","data-testid":"principals-client-id-input",label:g===0?"Client":void 0,"model-value":E,placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":y=>i.handleClientChange(g,y)},null,8,["label","model-value","onUpdate:modelValue"])),t.createElementVNode("div",Sp,[t.createVNode(_,{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":y=>i.handleClientSecretChange(g,y)},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:y=>i.handleClientSecretChange(g,y),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:y=>i.removeClientRow(g)},[t.createVNode(I,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,kp)],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]=E=>i.hasAuthServersAccess&&!a.selectedServer?null:i.addClientRow())}," + Add client ",2),t.createVNode(w,{"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,(E,g)=>(t.openBlock(),t.createElementBlock("div",{key:g,class:t.normalizeClass(["client-row",{"client-row-with-label":g===0}])},[t.createElementVNode("div",Tp,[t.createVNode(_,{class:"external-client-input","data-testid":"external-client-id",label:g===0?"Client id":void 0,"label-attributes":{info:o.formOptions?.helpAsHtml?void 0:i.externalClientIdField?.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientIdArray[g],placeholder:"e.g., kong-gateway-client","onUpdate:modelValue":y=>i.handleClientChange(g,y)},t.createSlots({_:2},[o.formOptions?.helpAsHtml&&i.externalClientIdField?.help?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientIdField.help)},null,8,wp)]),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:y=>i.handleClientChange(g,y),value:i.clientIdArray[g]},null,8,["update","value"])):t.createCommentVNode("",!0)]),t.createElementVNode("div",Mp,[t.createVNode(_,{class:"external-client-input","data-testid":"external-client-secret",label:g===0?"Client secret":void 0,"label-attributes":{info:o.formOptions?.helpAsHtml?void 0:i.externalClientSecretField?.help,tooltipAttributes:{maxWidth:"300"}},"model-value":i.clientSecretArray[g],placeholder:"e.g., your-client-secret","show-password-mask-toggle":"",type:"password","onUpdate:modelValue":y=>i.handleClientSecretChange(g,y)},t.createSlots({_:2},[o.formOptions?.helpAsHtml&&i.externalClientSecretField?.help?{name:"label-tooltip",fn:t.withCtx(()=>[t.createElementVNode("div",{innerHTML:i.sanitize(i.externalClientSecretField.help)},null,8,Np)]),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:y=>i.handleClientSecretChange(g,y),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:y=>i.removeClientRow(g)},[t.createVNode(I,{size:`var(--kui-icon-size-30, ${a.KUI_ICON_SIZE_30})`},null,8,["size"])],8,Ap)],2))),128)),t.createElementVNode("div",{class:"add-client-inline","data-testid":"add-external-client-action",onClick:n[8]||(n[8]=E=>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(w,{"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(()=>[i.isKonnect&&i.formsConfig?.principalsCreationGuideVisible===void 0?(t.openBlock(),t.createBlock(p,{key:0,class:"principals-create-guide-skeleton","data-testid":"principals-create-guide-loading"})):i.isKonnect&&i.formsConfig?.principalsCreationGuideVisible?(t.openBlock(),t.createElementBlock("div",Ip,[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",Vp,[t.createVNode(h,{appearance:"primary","data-testid":"principals-create-principal",onClick:n[9]||(n[9]=E=>a.leavePromptType="principal")},{default:t.withCtx(()=>[t.createVNode(f,{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(S,{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(V,{"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]=E=>a.leavePromptType=null),onProceed:i.handleLeaveConfirmed},null,8,["visible","onProceed"])])}const Bp=x(pp,[["render",Op],["__scopeId","data-v-9929477d"]]),Fp={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"]},Rp={class:"oidc-auth-methods"},Dp={class:"session-management-section"},Up={class:"session-radio-group"};function Lp(e,n,o,r,a,i){const d=t.resolveComponent("KLabel"),s=t.resolveComponent("KMultiselect"),m=t.resolveComponent("KRadio");return t.openBlock(),t.createElementBlock("div",Rp,[t.createVNode(d,null,{default:t.withCtx(()=>[...n[3]||(n[3]=[t.createTextVNode("Authentication methods",-1)])]),_:1}),(t.openBlock(),t.createBlock(s,{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]=u=>e.$emit("select",u))},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",Dp,[t.createVNode(d,null,{default:t.withCtx(()=>[...n[4]||(n[4]=[t.createTextVNode("Session management",-1)])]),_:1}),t.createElementVNode("div",Up,[t.createVNode(m,{"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]=u=>e.$emit("session-change",!0))},null,8,["model-value"]),t.createVNode(m,{"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]=u=>e.$emit("session-change",!1))},null,8,["model-value"])])])])}const Pp=x(Fp,[["render",Lp],["__scopeId","data-v-8c1cdc7c"]]),Pt={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"},fa=new Set(["config-client_id","config-client_secret","config-issuer"]),pa=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"]),ha=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"]),jn=["bearer","client_credentials","introspection","userinfo"],vp="identity.konghq",xp=e=>typeof e=="string"&&e.includes(vp),Kp={name:"OIDCForm",components:{VueFormGenerator:J,OIDCPrincipals:Bp,OIDCAuthMethods:Pp},provide(){return{[ge]:this.$slots?.[ot]}},inject:{formsConfig:{from:Wt,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:Pt.openIdConnectDocs,openIdConnectJWKLink:Pt.openIdConnectJWKDocs,openIdConnectClusterNodesLink:Pt.openIdConnectClusterNodesDocs,openIdConfigurationDocs:Pt.openIdConfigurationDocs,openIdAuthorizationDocs:Pt.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(){return this.identityPrincipalsUiEnabled&&this.formSchema.fields?.some(e=>pa.has(e.model))},isKonnect(){return this.formsConfig?.app==="konnect"},useNewAuthMethodsField(){return this.isKonnect},authMethodItems(){return((this.principalsMode!==null?this.principalsMode==="kong-identity":xp(this.formModel["config-issuer"]))?this.authMethods.filter(o=>jn.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(){if(!this.init){this.init=!0,this.globalFields={fields:this.formSchema.fields.filter(a=>!a.model.startsWith("config")&&a.model!=="tags")};const e=this.formSchema.fields.reduce((a,i)=>(a[i.model]=i,a),{});this.commonFieldsSchema={fields:Array.from(fa).reduce((a,i)=>(e[i]&&a.push(e[i]),a),[])},this.authFieldsSchema={fields:Array.from(ha).reduce((a,i)=>(e[i]&&a.push(e[i]),a),[])};const{redis:n,redisModels:o}=Ne.useRedisPartial(this.formSchema);this.advancedFieldsSchema={fields:this.formSchema.fields.filter(a=>a.model.startsWith("config")&&a.model!=="config-auth_methods"&&!fa.has(a.model)&&!ha.has(a.model)&&!pa.has(a.model)&&(!this.enableRedisPartial||!o.includes(a.model))||a.model==="tags").reduce((a,i)=>{switch(i.model){case"config-client_jwk":{if(Array.isArray(i.items?.schema?.fields))for(const d of i.items.schema.fields)d.label=d.model;a.push({...i,link:this.openIdConnectJWKLink,newElementButtonLabel:"+ Add Client JWK",...Array.isArray(i.items?.schema?.fields)&&i.items.schema.fields.map(d=>({...d,label:d.model}))});break}case"config-token_exchange-subject_token_issuers":{if(Array.isArray(i.items?.schema?.fields)){const d=i.items.schema.fields,s=d.find(u=>u.model==="verify_signature"),m=d.find(u=>u.model==="jwks_uri");if(s&&(s.checkboxLabel=s.label,s.label=void 0,s.checkboxDescription=u=>u.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),m&&(m.visible=u=>u.verify_signature===!0),s&&m){const u=d.indexOf(s),p=d.indexOf(m);p!==u+1&&(d.splice(p,1),d.splice(u+1,0,m))}}a.push(i);break}case"config-session_redis_cluster_nodes":{a.push({...i,link:this.openIdConnectClusterNodesLink,newElementButtonLabel:"+ Add Cluster Node"});break}default:a.push(i)}return a},[])},this.enableRedisPartial&&this.advancedFieldsSchema.fields.unshift(n),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 a of[this.commonFieldsSchema,this.authFieldsSchema,this.advancedFieldsSchema])for(const i of a.fields){const d=e[i.model]?.help;i.help===void 0&&typeof d=="string"&&(i.help=d)}const r=this.formModel["config-consumer_claim"];if(r!=null&&r!==""&&(!this.formModel["config-consumer_claims"]||this.formModel["config-consumer_claims"].length===0)){const a=Array.isArray(r)?r:[r];this.formModel["config-consumer_claims"]=[a],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=jn.includes(o.value);const n=[...jn];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()}}}},jp={class:"general-settings"},zp={class:"link-wrapper"},$p={class:"auth-method-container"},qp={class:"general-settings"},Hp={class:"link-wrapper"},Gp={class:"general-settings"},Yp={class:"link-wrapper"};function Wp(e,n,o,r,a,i){const d=t.resolveComponent("VueFormGenerator"),s=t.resolveComponent("KExternalLink"),m=t.resolveComponent("OIDCAuthMethods"),u=t.resolveComponent("OIDCPrincipals"),p=t.resolveComponent("KLabel"),f=t.resolveComponent("KCheckbox"),h=t.resolveComponent("KInputSwitch"),S=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[o.formModel.id&&o.isEditing||!o.isEditing?(t.openBlock(),t.createBlock(d,{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(S,{tabs:a.tabs},{common:t.withCtx(()=>[t.createElementVNode("div",jp,[t.createElementVNode("div",zp,[t.createVNode(s,{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(u,{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]=k=>e.$emit("click:create-entity",k)),"onClick:learnMore":n[1]||(n[1]=k=>e.$emit("click:learn-more",k)),onModeChange:i.handlePrincipalsModeChange},{"advanced-fields":t.withCtx(()=>[t.createVNode(m,{"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(d,{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(m,{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(p,null,{default:t.withCtx(()=>[...n[5]||(n[5]=[t.createTextVNode("Auth methods",-1)])]),_:1}),t.createElementVNode("div",$p,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.authMethods,k=>(t.openBlock(),t.createElementBlock("div",{key:k.value,class:"auth-method"},[t.createVNode(f,{modelValue:k.prop,"onUpdate:modelValue":_=>k.prop=_,"data-testid":`auth-method-checkbox-${k.value}`,onChange:_=>i.handleUpdate(_,k.value)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(k.label),1)]),_:2},1032,["modelValue","onUpdate:modelValue","data-testid","onChange"])]))),128))]),t.createVNode(h,{modelValue:a.sessionManagement,"onUpdate:modelValue":n[2]||(n[2]=k=>a.sessionManagement=k),"data-testid":"session-management-switch",label:"Enable Session Management",onChange:i.handleUpdate},null,8,["modelValue","onChange"])],64))],64))])]),authorization:t.withCtx(()=>[t.createElementVNode("div",qp,[t.createElementVNode("div",Hp,[t.createVNode(s,{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(d,{key:0,model:o.formModel,options:o.formOptions,schema:a.authFieldsSchema,onModelUpdated:o.onModelUpdated},{"autofill-provider":t.withCtx(k=>[t.renderSlot(e.$slots,"autofill-provider",t.normalizeProps(t.guardReactiveProps(k)),void 0,!0)]),_:3},8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),advanced:t.withCtx(()=>[t.createElementVNode("div",Gp,[t.createElementVNode("div",Yp,[t.createVNode(s,{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(d,{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 Zp=x(Kp,[["render",Wp],["__scopeId","data-v-e20914ca"]]),Xp=x(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){t.provide(ge,t.useSlots()?.[ot]);const{t:n,te:o}=Ee.createI18n("en-us",Te),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(s=>{const m=`post-function.${s.model}`;return s.hint=o(`${m}.hint`)&&n(`${m}.hint`)||s.hint,s.help=o(`${m}.help`)&&n(`${m}.help`)||s.help,s.newElementButtonLabel=o(`${m}.newElementButtonLabel`)&&n(`${m}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="post-function-array-item-container",s.fieldItemsClasses="post-function-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),d});return(d,s)=>a.value?(t.openBlock(),t.createBlock(J,{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"]]),Jp=x(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){t.provide(ge,t.useSlots()?.[ot]);const{t:n,te:o}=Ee.createI18n("en-us",Te),r=e,a=t.computed(()=>r.formModel.id&&r.isEditing||!r.isEditing),i=t.computed(()=>{const d=r.formSchema;return d.fields.map(s=>{const m=`exit-transformer.${s.model}`;return s.hint=o(`${m}.hint`)&&n(`${m}.hint`)||s.hint,s.help=o(`${m}.help`)&&n(`${m}.help`)||s.help,s.newElementButtonLabel=o(`${m}.newElementButtonLabel`)&&n(`${m}.newElementButtonLabel`)||s.newElementButtonLabel,s.model!=="tags"&&(s.valueType==="array"||s.type==="array")&&(s.type="array",s.valueArrayType="array",s.itemContainerComponent="FieldArrayItem",s.fieldClasses="exit-transformer-array-item-container",s.fieldItemsClasses="exit-transformer-array-item",s.inputAttributes={...s.inputAttributes,type:"textarea"}),s}),d});return(d,s)=>a.value?(t.openBlock(),t.createBlock(J,{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"]]),Qp={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}]},eh={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}]},th={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}]},nh={class:"general-settings"},oh={class:"sub-form"},ih={class:"general-settings"},ah={class:"sub-form"},rh={class:"general-settings"},lh=x(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){t.provide(ge,t.useSlots()?.[ot]);const n=e,o=t.ref("zeroSsl"),r=t.ref("shm"),a=t.computed(()=>{const g={};if(n.formSchema?.fields)for(const y of n.formSchema.fields)g[y.model]=y;return g}),i=t.computed(()=>{const g=Pe(Qp);for(const y of g.fields){const B=a.value[y.model]?.help;y.help===void 0&&typeof B=="string"&&(y.help=B)}return g}),d=t.computed(()=>{const g=Pe(eh);for(const y of g.fields){const B=a.value[y.model]?.help;y.help===void 0&&typeof B=="string"&&(y.help=B)}return g}),s=t.computed(()=>{const g=Pe(th);for(const y of g.fields){const B=a.value[y.model]?.help;y.help===void 0&&typeof B=="string"&&(y.help=B)}return g}),m=t.computed(()=>({fields:n.formSchema.fields.filter(g=>!g.model.startsWith("config")&&g.model!=="tags")})),u=t.computed(()=>({fields:i.value.fields.filter(y=>!d.value.fields.some(B=>B.model===y.model)&&!s.value.fields.some(B=>B.model===y.model))})),p=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage")&&!y.model.startsWith("config-storage_config-consul")&&!y.model.startsWith("config-storage_config-redis")&&!y.model.startsWith("config-storage_config-shm")&&!y.model.startsWith("config-storage_config-vault"))})),f=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-consul"))})),h=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-redis"))})),S=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-shm"))})),k=t.computed(()=>({fields:n.formSchema.fields.filter(y=>y.model.startsWith("config-storage_config-vault"))})),_=t.computed(()=>({fields:n.formSchema.fields.filter(g=>g.model.startsWith("config")&&!u.value.fields.filter(y=>y.model===g.model).length&&!p.value.fields.filter(y=>y.model===g.model).length||g.model==="tags")})),I=t.computed(()=>n.formModel.id&&n.isEditing||!n.isEditing),w=[{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 V=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()},E=(g,y)=>{y==="config-storage"&&(r.value=g),n.onModelUpdated()};return(g,y)=>{const B=t.resolveComponent("KSelect"),z=t.resolveComponent("KTabs");return t.openBlock(),t.createElementBlock("div",null,[e.formModel.id&&e.isEditing||!e.isEditing?(t.openBlock(),t.createBlock(J,{key:0,class:"global-fields",model:e.formModel,options:e.formOptions,schema:m.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),t.createVNode(z,{tabs:w},{general:t.withCtx(()=>[t.createElementVNode("div",nh,[y[0]||(y[0]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"General Configuration Settings")],-1)),y[1]||(y[1]=t.createElementVNode("div",{class:"description"}," Parameters for enabling the ACME plugin. ",-1)),I.value?(t.openBlock(),t.createBlock(J,{key:0,model:e.formModel,options:e.formOptions,schema:u.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),y[2]||(y[2]=t.createElementVNode("hr",null,null,-1)),t.createVNode(B,{class:"issuer-select",items:U,label:"Issuer",onChange:V}),t.createElementVNode("div",oh,[o.value==="letsEncrypt"?(t.openBlock(),t.createBlock(J,{key:0,model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),o.value==="zeroSsl"||o.value==="other"?(t.openBlock(),t.createBlock(J,{key:1,model:e.formModel,options:e.formOptions,schema:s.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),storage:t.withCtx(()=>[t.createElementVNode("div",ih,[y[3]||(y[3]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Storage Configuration Settings")],-1)),y[4]||(y[4]=t.createElementVNode("div",{class:"description"}," Parameters for setting up storage. ",-1)),I.value?(t.openBlock(),t.createBlock(J,{key:0,model:e.formModel,options:e.formOptions,schema:p.value,onModelUpdated:E},null,8,["model","options","schema"])):t.createCommentVNode("",!0),t.createElementVNode("div",ah,[r.value==="consul"?(t.openBlock(),t.createBlock(J,{key:0,model:e.formModel,options:e.formOptions,schema:f.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="redis"?(t.openBlock(),t.createBlock(J,{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(J,{key:2,model:e.formModel,options:e.formOptions,schema:S.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0),r.value==="vault"?(t.openBlock(),t.createBlock(J,{key:3,model:e.formModel,options:e.formOptions,schema:k.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])])]),advanced:t.withCtx(()=>[t.createElementVNode("div",rh,[y[5]||(y[5]=t.createElementVNode("div",{class:"header-wrapper"},[t.createElementVNode("span",{class:"section-header"},"Advanced Configuration Settings")],-1)),y[6]||(y[6]=t.createElementVNode("div",{class:"description"}," Advanced parameters for manually configuring the ACME plugin. ",-1)),I.value?(t.openBlock(),t.createBlock(J,{key:0,model:e.formModel,options:e.formOptions,schema:_.value,onModelUpdated:e.onModelUpdated},null,8,["model","options","schema","onModelUpdated"])):t.createCommentVNode("",!0)])]),_:1})])}}}),[["__scopeId","data-v-07cecf5b"]]),sh={class:"rla-form-basic-fields"},dh={class:"rla-form-request-limits-subtitle"},ch={class:"rla-form-request-limits-content"},mh={class:"rla-form-window-type"},uh=["innerHTML"],fh={class:"rla-form-window-type-radios"},ph={class:"rla-form-request-limits-items"},hh={class:"rla-form-request-limits-row"},gh=["id"],yh={class:"rla-form-request-limits-actions"},bh={key:0,class:"rla-form-request-limits-examples"},_h={class:"rla-form-request-limits-examples-badges"},Eh=["innerHTML"],Ch={id:"rla-form-error-legend",class:"rla-form-error-inputs"},Sh=Object.freeze(Object.defineProperty({__proto__:null,ACMEForm:lh,ExitTransformer:Jp,OIDCForm:Zp,PostFunction:Xp,RLAForm:x(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){t.provide(ge,t.useSlots()?.[ot]);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
- 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(S=>`config-${S}`)]),r=S=>S===void 0?!1:o.has(S),{t:a}=_e.createI18n("en-us",ke),i=e,d=t.computed(()=>{const S=i.formSchema?.fields?.find(M=>M.type==="selectionGroup"&&M.model==="selectionGroup");return{fields:[i.formSchema?.fields.find(M=>M.model==="enabled"),S].filter(Boolean)}}),s=t.computed(()=>{const S=i.formSchema?.fields?.filter(fe=>!r(fe.model))??[],h=[],M=[],R=[];let j=!1;for(const fe of S){const ht=fe.model;if(ht!==void 0){if(ht.startsWith("config-redis-")){(fe.model==="config-redis-cluster_addresses"||fe.model==="config-redis-sentinel_addresses")&&(fe.inputAttributes.help=a("rla.redis.address_example")),M.push(fe);continue}j?R.push(fe):h.push(fe),fe.model==="config-strategy"&&(j=!0)}}return{endsWithStrategy:{fields:h},redis:i.enableRedisPartial?{fields:[{fields:M,id:"_redis",model:"__redis_partial",redisType:i.formSchema._supported_redis_partial_type}]}:{fields:M},afterStrategy:{fields:R}}}),f=t.computed(()=>{const S=i.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(n,S)?n[S]:[]}),m=t.computed(()=>i.formSchema?.fields?.find(S=>S.model==="config-identifier")),b=t.computed(()=>(i.formSchema?.fields?.find(S=>S.model==="config-identifier")?.values??[]).map(S=>({label:a(`rla.identifiers.options.${S}`),value:S}))),u=t.ref(),p=t.ref(!0),k=t.computed(()=>i.formModel["config-window_type"]??i.formSchema?.fields?.find(S=>S.model==="config-window_type")?.default),T=t.computed(()=>{const S=i.formSchema?.fields?.find(h=>h.model==="config-window_type")?.default;return(i.formSchema?.fields?.find(h=>h.model==="config-window_type")?.values??[]).sort((h,M)=>h===S?-1:M===S?1:0)}),_=t.computed(()=>{const S=i.formModel["config-limit"]?.map((h,M)=>({limit:h,windowSize:i.formModel?.["config-window_size"]?.[M]}));return!Array.isArray(S)||S.length===0?[{limit:void 0,windowSize:void 0}]:S}),A=t.computed(()=>i.formModel?.["config-identifier"]??i.formSchema?.fields?.find(S=>S.model==="config-identifier")?.default),N=t.computed(()=>i.formModel?.["config-error_code"]??i.formSchema?.fields?.find(S=>S.model==="config-error_code")?.default),L=t.computed(()=>i.formModel?.["config-error_message"]??i.formSchema?.fields?.find(S=>S.model==="config-error_message")?.default),I=(S,h)=>{if(h===u.value){i.onModelUpdated([],"config-limit"),i.onModelUpdated([],"config-window_size"),t.nextTick(()=>{u.value=void 0});return}i.onModelUpdated([S.config.limit],"config-limit"),i.onModelUpdated([S.config.window_size],"config-window_size"),t.nextTick(()=>{u.value=h})},E=S=>{u.value!==void 0&&(u.value=void 0),S!==null&&i.onModelUpdated(S.toString(),"config-window_type")},g=(S,h)=>{u.value!==void 0&&(u.value=void 0);const M=Ue(i.formModel?.["config-limit"]??[]);M[S]=h,i.onModelUpdated(M,"config-limit")},y=(S,h)=>{u.value!==void 0&&(u.value=void 0);const M=Ue(i.formModel?.["config-window_size"]??[]);M[S]=h,i.onModelUpdated(M,"config-window_size")},O=S=>{u.value!==void 0&&(u.value=void 0);const h=Ue(i.formModel?.["config-limit"]??[]),M=Ue(i.formModel?.["config-window_size"]??[]);h.length===0&&h.push(void 0),M.length===0&&M.push(void 0),h.splice(S+1,0,void 0),M.splice(S+1,0,void 0),i.onModelUpdated(h,"config-limit"),i.onModelUpdated(M,"config-window_size")},F=S=>{if(_.value.length>1){u.value!==void 0&&(u.value=void 0);const h=Ue(i.formModel?.["config-limit"]??[]),M=Ue(i.formModel?.["config-window_size"]??[]);h.length===0&&h.push(void 0),M.length===0&&M.push(void 0),h.splice(S,1),M.splice(S,1),i.onModelUpdated(h,"config-limit"),i.onModelUpdated(M,"config-window_size")}};return t.watch(()=>i.formModel["config-strategy"],S=>{S!=="redis"&&i.formModel.partials&&i.onModelUpdated(void 0,"partials")}),(S,h)=>{const M=t.resolveComponent("KLabel"),R=t.resolveComponent("KRadio"),j=t.resolveComponent("KInput"),fe=t.resolveComponent("KButton"),ht=t.resolveComponent("KBadge"),gt=t.resolveComponent("KTooltip"),Rt=t.resolveComponent("KCard"),en=t.resolveComponent("KSelect"),xn=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",ah,[t.createVNode(X,{model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:h[0]||(h[0]=(P,ee)=>e.onModelUpdated(P,ee))},null,8,["model","options","schema"]),t.createVNode(Rt,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(M,{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",rh,t.toDisplayString(t.unref(a)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",lh,[t.createElementVNode("div",sh,[t.createVNode(M,{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,dh)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",ch,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(T.value,P=>(t.openBlock(),t.createBlock(R,{key:`window-type-${P}`,"model-value":k.value,name:P,"selected-value":P,"onUpdate:modelValue":E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)(`rla.window_type.options.${P}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",mh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,(P,ee)=>(t.openBlock(),t.createElementBlock("div",{key:ee.toString()},[t.createVNode(M,{for:`rla-form-request-limits-item-${ee}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.label_index",{index:ee+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",uh,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${ee}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(j,{"model-value":P.limit&&P.limit.toString(),placeholder:t.unref(a)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":z=>g(ee,Number.parseInt(z))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.interval_determiner")),1),t.createVNode(j,{"model-value":P.windowSize&&P.windowSize.toString(),placeholder:t.unref(a)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":z=>y(ee,Number.parseInt(z))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.seconds")),1)],8,fh),t.createElementVNode("div",ph,[t.createVNode(fe,{appearance:"tertiary",disabled:_.value.length<=1,onClick:()=>F(ee)},{default:t.withCtx(()=>[t.createVNode(t.unref(ce.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(fe,{appearance:"tertiary",onClick:()=>O(ee)},{default:t.withCtx(()=>[t.createVNode(t.unref(ce.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),f.value.length>0?(t.openBlock(),t.createElementBlock("div",hh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.start_with_a_use_case")),1),t.createElementVNode("div",gh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(f.value,(P,ee)=>(t.openBlock(),t.createBlock(gt,{key:`use-case-${ee}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(P.description),1),h[10]||(h[10]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.label"))+": "+t.toDisplayString(P.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.time_interval"))+": "+t.toDisplayString(P.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(ht,{appearance:u.value===`${k.value}-${ee}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>I(P,`${k.value}-${ee}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(P.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(en,{modelValue:A.value,"onUpdate:modelValue":h[1]||(h[1]=P=>A.value=P),class:"rla-form-identifiers",items:b.value,label:t.unref(a)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:h[2]||(h[2]=P=>i.onModelUpdated(P.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:m.value?.help?t.unref(Gt).sanitize(m.value.help):void 0},null,8,yh)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(M,{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",bh,[t.createVNode(j,{class:"input-error-code","model-value":N.value&&N.value.toString(),placeholder:t.unref(a)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":h[3]||(h[3]=P=>e.onModelUpdated(Number.parseInt(P),"config-error_code"))},null,8,["model-value","placeholder"]),h[11]||(h[11]=t.createElementVNode("div",null,":",-1)),t.createVNode(j,{"model-value":L.value,placeholder:t.unref(a)("rla.error_message.message_placeholder"),"onUpdate:modelValue":h[4]||(h[4]=P=>e.onModelUpdated(P,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(xn,{modelValue:p.value,"onUpdate:modelValue":h[9]||(h[9]=P=>p.value=P),"data-testid":"view-advanced","trigger-label":t.unref(a)("rla.view_advanced")},{default:t.withCtx(()=>[t.createVNode(X,{model:e.formModel,options:e.formOptions,schema:s.value.endsWithStrategy,onModelUpdated:h[5]||(h[5]=(P,ee)=>e.onModelUpdated(P,ee))},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(X,{"enable-redis-partial":e.enableRedisPartial,"is-editing":e.isEditing,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,model:e.formModel,options:e.formOptions,schema:s.value.redis,onModelUpdated:h[6]||(h[6]=(P,ee)=>e.onModelUpdated(P,ee)),onPartialToggled:e.onPartialToggled,onShowNewPartialModal:h[7]||(h[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(X,{class:t.normalizeClass({"rla-last-vfg":e.formModel["config-strategy"]!=="redis"}),model:e.formModel,options:e.formOptions,schema:s.value.afterStrategy,onModelUpdated:h[8]||(h[8]=(P,ee)=>e.onModelUpdated(P,ee))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),[["__scopeId","data-v-f3692286"]])},Symbol.toStringTag,{value:"Module"})),Eh=["array","metric","advanced","selectionGroup","object-advanced"],Ch=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e];U.AUTOFILL_SLOT=he,U.AUTOFILL_SLOT_NAME=Je,U.EMPTY_VALUE_PLACEHOLDER=Mo,U.FIELD_STATES=Ne,U.FORMS_API_KEY=Ce,U.FORMS_CONFIG=qt,U.FieldScopedEntitySelect=Gi,U.PartialType=Ot,U.REDIS_PARTIAL_FETCHER_KEY=wo,U.REDIS_PARTIAL_INFO=zl,U.VueFormGenerator=X,U.abstractField=mm,U.composables=Me,U.customFields=Eh,U.getSharedFormName=Ch,U.sharedForms=_h,Object.defineProperty(U,Symbol.toStringTag,{value:"Module"})}));
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(A=>`config-${A}`)]),r=A=>A===void 0?!1:o.has(A),{t:a}=Ee.createI18n("en-us",Te),i=e,d=t.computed(()=>{const A=i.formSchema?.fields?.find(M=>M.type==="selectionGroup"&&M.model==="selectionGroup");return{fields:[i.formSchema?.fields.find(M=>M.model==="enabled"),A].filter(Boolean)}}),s=t.computed(()=>{const A=i.formSchema?.fields?.filter(ie=>!r(ie.model))??[],b=[],M=[],P=[];let re=!1;for(const ie of A){const Ye=ie.model;if(Ye!==void 0){if(Ye.startsWith("config-redis-")){(ie.model==="config-redis-cluster_addresses"||ie.model==="config-redis-sentinel_addresses")&&(ie.inputAttributes.help=a("rla.redis.address_example")),M.push(ie);continue}re?P.push(ie):b.push(ie),ie.model==="config-strategy"&&(re=!0)}}return{endsWithStrategy:{fields:b},redis:i.enableRedisPartial?{fields:[{fields:M,id:"_redis",model:"__redis_partial",redisType:i.formSchema._supported_redis_partial_type}]}:{fields:M},afterStrategy:{fields:P}}}),m=t.computed(()=>{const A=i.formModel["config-window_type"];return Object.prototype.hasOwnProperty.call(n,A)?n[A]:[]}),u=t.computed(()=>i.formSchema?.fields?.find(A=>A.model==="config-identifier")),p=t.computed(()=>(i.formSchema?.fields?.find(A=>A.model==="config-identifier")?.values??[]).map(A=>({label:a(`rla.identifiers.options.${A}`),value:A}))),f=t.ref(),h=t.ref(!0),S=t.computed(()=>i.formModel["config-window_type"]??i.formSchema?.fields?.find(A=>A.model==="config-window_type")?.default),k=t.computed(()=>{const A=i.formSchema?.fields?.find(b=>b.model==="config-window_type")?.default;return(i.formSchema?.fields?.find(b=>b.model==="config-window_type")?.values??[]).sort((b,M)=>b===A?-1:M===A?1:0)}),_=t.computed(()=>{const A=i.formModel["config-limit"]?.map((b,M)=>({limit:b,windowSize:i.formModel?.["config-window_size"]?.[M]}));return!Array.isArray(A)||A.length===0?[{limit:void 0,windowSize:void 0}]:A}),I=t.computed(()=>i.formModel?.["config-identifier"]??i.formSchema?.fields?.find(A=>A.model==="config-identifier")?.default),w=t.computed(()=>i.formModel?.["config-error_code"]??i.formSchema?.fields?.find(A=>A.model==="config-error_code")?.default),U=t.computed(()=>i.formModel?.["config-error_message"]??i.formSchema?.fields?.find(A=>A.model==="config-error_message")?.default),V=(A,b)=>{if(b===f.value){i.onModelUpdated([],"config-limit"),i.onModelUpdated([],"config-window_size"),t.nextTick(()=>{f.value=void 0});return}i.onModelUpdated([A.config.limit],"config-limit"),i.onModelUpdated([A.config.window_size],"config-window_size"),t.nextTick(()=>{f.value=b})},E=A=>{f.value!==void 0&&(f.value=void 0),A!==null&&i.onModelUpdated(A.toString(),"config-window_type")},g=(A,b)=>{f.value!==void 0&&(f.value=void 0);const M=Pe(i.formModel?.["config-limit"]??[]);M[A]=b,i.onModelUpdated(M,"config-limit")},y=(A,b)=>{f.value!==void 0&&(f.value=void 0);const M=Pe(i.formModel?.["config-window_size"]??[]);M[A]=b,i.onModelUpdated(M,"config-window_size")},B=A=>{f.value!==void 0&&(f.value=void 0);const b=Pe(i.formModel?.["config-limit"]??[]),M=Pe(i.formModel?.["config-window_size"]??[]);b.length===0&&b.push(void 0),M.length===0&&M.push(void 0),b.splice(A+1,0,void 0),M.splice(A+1,0,void 0),i.onModelUpdated(b,"config-limit"),i.onModelUpdated(M,"config-window_size")},z=A=>{if(_.value.length>1){f.value!==void 0&&(f.value=void 0);const b=Pe(i.formModel?.["config-limit"]??[]),M=Pe(i.formModel?.["config-window_size"]??[]);b.length===0&&b.push(void 0),M.length===0&&M.push(void 0),b.splice(A,1),M.splice(A,1),i.onModelUpdated(b,"config-limit"),i.onModelUpdated(M,"config-window_size")}};return t.watch(()=>i.formModel["config-strategy"],A=>{A!=="redis"&&i.formModel.partials&&i.onModelUpdated(void 0,"partials")}),(A,b)=>{const M=t.resolveComponent("KLabel"),P=t.resolveComponent("KRadio"),re=t.resolveComponent("KInput"),ie=t.resolveComponent("KButton"),Ye=t.resolveComponent("KBadge"),We=t.resolveComponent("KTooltip"),st=t.resolveComponent("KCard"),Ct=t.resolveComponent("KSelect"),Y=t.resolveComponent("KCollapse");return t.openBlock(),t.createElementBlock(t.Fragment,null,[t.createElementVNode("div",sh,[t.createVNode(J,{model:e.formModel,options:e.formOptions,schema:d.value,onModelUpdated:b[0]||(b[0]=(N,K)=>e.onModelUpdated(N,K))},null,8,["model","options","schema"]),t.createVNode(st,{class:"rla-form-request-limits"},{title:t.withCtx(()=>[t.createVNode(M,{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",dh,t.toDisplayString(t.unref(a)("rla.request_limits.subtitle")),1)]),default:t.withCtx(()=>[t.createElementVNode("div",ch,[t.createElementVNode("div",mh,[t.createVNode(M,{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,uh)]),default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.window_type.label"))+" ",1)]),_:1}),t.createElementVNode("div",fh,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(k.value,N=>(t.openBlock(),t.createBlock(P,{key:`window-type-${N}`,"model-value":S.value,name:N,"selected-value":N,"onUpdate:modelValue":E},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)(`rla.window_type.options.${N}`)),1)]),_:2},1032,["model-value","name","selected-value"]))),128))])]),t.createElementVNode("div",ph,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(_.value,(N,K)=>(t.openBlock(),t.createElementBlock("div",{key:K.toString()},[t.createVNode(M,{for:`rla-form-request-limits-item-${K}-legend`},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(t.unref(a)("rla.request_limits.label_index",{index:K+1})),1)]),_:2},1032,["for"]),t.createElementVNode("div",hh,[t.createElementVNode("legend",{id:`rla-form-request-limits-item-${K}-legend`,class:"rla-form-request-limits-inputs"},[t.createVNode(re,{"model-value":N.limit&&N.limit.toString(),placeholder:t.unref(a)("rla.request_limits.request_number"),type:"number","onUpdate:modelValue":L=>g(K,Number.parseInt(L))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.interval_determiner")),1),t.createVNode(re,{"model-value":N.windowSize&&N.windowSize.toString(),placeholder:t.unref(a)("rla.request_limits.time_interval"),type:"number","onUpdate:modelValue":L=>y(K,Number.parseInt(L))},null,8,["model-value","placeholder","onUpdate:modelValue"]),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.seconds")),1)],8,gh),t.createElementVNode("div",yh,[t.createVNode(ie,{appearance:"tertiary",disabled:_.value.length<=1,onClick:()=>z(K)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.RemoveIcon))]),_:1},8,["disabled","onClick"]),t.createVNode(ie,{appearance:"tertiary",onClick:()=>B(K)},{default:t.withCtx(()=>[t.createVNode(t.unref(ue.AddIcon))]),_:1},8,["onClick"])])])]))),128))]),m.value.length>0?(t.openBlock(),t.createElementBlock("div",bh,[t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.start_with_a_use_case")),1),t.createElementVNode("div",_h,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(m.value,(N,K)=>(t.openBlock(),t.createBlock(We,{key:`use-case-${K}`,"max-width":"300"},{content:t.withCtx(()=>[t.createElementVNode("div",null,t.toDisplayString(N.description),1),b[10]||(b[10]=t.createElementVNode("br",null,null,-1)),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.label"))+": "+t.toDisplayString(N.config.limit),1),t.createElementVNode("div",null,t.toDisplayString(t.unref(a)("rla.request_limits.time_interval"))+": "+t.toDisplayString(N.config.window_size),1)]),default:t.withCtx(()=>[t.createVNode(Ye,{appearance:f.value===`${S.value}-${K}`?"info":"decorative",class:"rla-form-request-limits-examples-badge",onClick:()=>V(N,`${S.value}-${K}`)},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(N.label),1)]),_:2},1032,["appearance","onClick"])]),_:2},1024))),128))])])):t.createCommentVNode("",!0)])]),_:1}),t.createVNode(Ct,{modelValue:I.value,"onUpdate:modelValue":b[1]||(b[1]=N=>I.value=N),class:"rla-form-identifiers",items:p.value,label:t.unref(a)("rla.identifiers.label"),"label-attributes":{tooltipAttributes:{maxWidth:"300",placement:"top"}},required:"",onSelected:b[2]||(b[2]=N=>i.onModelUpdated(N.value,"config-identifier"))},{"label-tooltip":t.withCtx(()=>[t.createElementVNode("div",{innerHTML:u.value?.help?t.unref(Xt).sanitize(u.value.help):void 0},null,8,Eh)]),_:1},8,["modelValue","items","label"]),t.createElementVNode("div",null,[t.createVNode(M,{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",Ch,[t.createVNode(re,{class:"input-error-code","model-value":w.value&&w.value.toString(),placeholder:t.unref(a)("rla.error_message.code_placeholder"),type:"number","onUpdate:modelValue":b[3]||(b[3]=N=>e.onModelUpdated(Number.parseInt(N),"config-error_code"))},null,8,["model-value","placeholder"]),b[11]||(b[11]=t.createElementVNode("div",null,":",-1)),t.createVNode(re,{"model-value":U.value,placeholder:t.unref(a)("rla.error_message.message_placeholder"),"onUpdate:modelValue":b[4]||(b[4]=N=>e.onModelUpdated(N,"config-error_message"))},null,8,["model-value","placeholder"])])])]),t.createVNode(Y,{modelValue:h.value,"onUpdate:modelValue":b[9]||(b[9]=N=>h.value=N),"data-testid":"view-advanced","trigger-label":t.unref(a)("rla.view_advanced")},{default:t.withCtx(()=>[t.createVNode(J,{model:e.formModel,options:e.formOptions,schema:s.value.endsWithStrategy,onModelUpdated:b[5]||(b[5]=(N,K)=>e.onModelUpdated(N,K))},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(J,{"enable-redis-partial":e.enableRedisPartial,"is-editing":e.isEditing,"is-konnect-managed-redis-enabled":e.isKonnectManagedRedisEnabled,model:e.formModel,options:e.formOptions,schema:s.value.redis,onModelUpdated:b[6]||(b[6]=(N,K)=>e.onModelUpdated(N,K)),onPartialToggled:e.onPartialToggled,onShowNewPartialModal:b[7]||(b[7]=()=>e.showNewPartialModal(e.formSchema._supported_redis_partial_type))},null,8,["enable-redis-partial","is-editing","is-konnect-managed-redis-enabled","model","options","schema","onPartialToggled"])]),_:1},8,["title"])):t.createCommentVNode("",!0),t.createVNode(J,{class:t.normalizeClass({"rla-last-vfg":e.formModel["config-strategy"]!=="redis"}),model:e.formModel,options:e.formOptions,schema:s.value.afterStrategy,onModelUpdated:b[8]||(b[8]=(N,K)=>e.onModelUpdated(N,K))},null,8,["class","model","options","schema"])]),_:1},8,["modelValue","trigger-label"])],64)}}}),[["__scopeId","data-v-f3692286"]])},Symbol.toStringTag,{value:"Module"})),kh=["array","metric","advanced","selectionGroup","object-advanced"],Th=e=>({"openid-connect":"OIDCForm","post-function":"PostFunction","pre-function":"PostFunction","exit-transformer":"ExitTransformer","rate-limiting-advanced":"RLAForm"})[e];D.AUTOFILL_SLOT=ge,D.AUTOFILL_SLOT_NAME=ot,D.EMPTY_VALUE_PLACEHOLDER=Io,D.FIELD_STATES=Ae,D.FORMS_API_KEY=Se,D.FORMS_CONFIG=Wt,D.FieldScopedEntitySelect=Zi,D.PartialType=Ut,D.REDIS_CREATE_SLIDEOUT=Ao,D.REDIS_PARTIAL_FETCHER_KEY=No,D.REDIS_PARTIAL_INFO=Gl,D.VueFormGenerator=J,D.abstractField=hm,D.composables=Ne,D.customFields=kh,D.getSharedFormName=Th,D.hideNewRedis=da,D.sharedForms=Sh,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));