@joystick.js/ui-canary 0.0.0-canary.60 → 0.0.0-canary.61

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.
@@ -1,21 +1,21 @@
1
- var Qt=Object.create;var ie=Object.defineProperty;var Yt=Object.getOwnPropertyDescriptor;var Xt=Object.getOwnPropertyNames;var er=Object.getPrototypeOf,tr=Object.prototype.hasOwnProperty;var rr=t=>ie(t,"__esModule",{value:!0});var or=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var ir=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Xt(e))!tr.call(t,o)&&o!=="default"&&ie(t,o,{get:()=>e[o],enumerable:!(r=Yt(e,o))||r.enumerable});return t},nr=t=>ir(rr(ie(t!=null?Qt(er(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var bt=or(X=>{(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof X!="undefined")e(X);else{var r={exports:{}};e(r.exports),t.index=r.exports}})(X,function(t){"use strict";function e(m){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},e(m)}function r(m,d){return d&&(e(d)==="object"||typeof d=="function")?d:o(m)}function o(m){if(m===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return m}function i(m){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},i(m)}function s(m,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");m.prototype=Object.create(d&&d.prototype,{constructor:{value:m,writable:!0,configurable:!0}}),d&&c(m,d)}function c(m,d){return c=Object.setPrototypeOf||function($,T){return $.__proto__=T,$},c(m,d)}function a(m,d){if(!(m instanceof d))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.diff=void 0;var u=function m(d,$){a(this,m),this.type=d,this.path=$?$.toString():""},y=function(m){function d($,T,h){var _;return a(this,d),_=r(this,i(d).call(this,"E",$)),_.lhs=T,_.rhs=h,_}return s(d,m),d}(u),w=function(m){function d($,T,h,_){var F;return a(this,d),F=r(this,i(d).call(this,"M",$)),F.item=T,F.lhsIndex=h,F.rhsIndex=_,F}return s(d,m),d}(u),g=function(m){function d($,T){var h;return a(this,d),h=r(this,i(d).call(this,"D",$)),h.lhs=T,h}return s(d,m),d}(u),j=function(m){function d($,T){var h;return a(this,d),h=r(this,i(d).call(this,"A",$)),h.rhs=T,h}return s(d,m),d}(u),f=function(m,d){return m?"".concat(m,".").concat(d):d};t.diff=function(d,$){var T=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},h=[],_=T.matchKey,F=T.types||["E","A","D","M"],Jt=function(k,x,E,D){k.forEach(function(L,M){var v=x.findIndex(function(S){return S[D]===L[D]});-1<v?(-1<F.indexOf("M")&&M!==v&&h.push(new w(E,L,M,v)),B(L,x[v],f(E,v))):-1<F.indexOf("D")&&h.push(new g(E,L))}),x.forEach(function(L,M){var v=k.findIndex(function(S){return L[D]===S[D]});-1<F.indexOf("A")&&v===-1&&h.push(new j(f(E,M),L))})},B=function(k,x,E){var D=Object.prototype.toString.call(k),L=Object.prototype.toString.call(x);if(-1<F.indexOf("E")&&D!==L)return h.push(new y(E,k,x)),!1;if(D==="[object Object]")Object.getOwnPropertyNames(k).forEach(function(S){Object.prototype.hasOwnProperty.call(x,S)?B(k[S],x[S],f(E,S)):-1<F.indexOf("D")&&h.push(new g(f(E,S),k[S]))}),Object.getOwnPropertyNames(x).forEach(function(S){-1<F.indexOf("A")&&!Object.prototype.hasOwnProperty.call(k,S)&&h.push(new j(f(E,S),x[S]))});else if(D!=="[object Array]")-1<F.indexOf("E")&&k!==x&&h.push(new y(E,k,x));else if(_)Jt(k,x,E,_);else{var M=k.length-1,v=x.length-1;if(-1<F.indexOf("D"))for(;M>v;)h.push(new g(f(E,M),k[M--]));if(-1<F.indexOf("A"))for(;v>M;)h.push(new j(f(E,v),x[v--]));for(;0<=M;--M)B(k[M],x[M],f(E,M))}};return B(d,$),h}})});var n=(t="",e={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${e.message||e.reason||e}`)};var fe=["render"];var he=(t={})=>{try{return fe.every(e=>Object.keys(t).includes(e))}catch(e){n("component.hasAllRequiredOptions",e)}};var we=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","translations","url","websockets","wrapper"];var ye=t=>{try{return typeof t=="undefined"}catch(e){n("types.isUndefined",e)}},ge=t=>{try{return t===null}catch(e){n("types.isNull",e)}};var P=t=>{try{return!!Array.isArray(t)}catch(e){n("types.isArray",e)}};var l=t=>{try{return typeof t=="function"}catch(e){n("types.isFunction",e)}};var p=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(e){n("types.isObject",e)}};var R=t=>{try{return typeof t=="string"}catch(e){n("types.isString",e)}};var xe=(t=null)=>{try{!R(t)&&!l(t)&&!p(t)&&n("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(e){n("component.optionValidators.css",e)}};var be=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var $e=(t=null)=>{try{p(t)||n("component.optionValidators.events","options.events must be an object.");for(let e of Object.keys(t)){let[r]=e.split(" ");be.includes(r)||n("component.optionValidators.events",`${r} is not a supported JavaScript event type.`)}for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.events",`options.events.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.events",e)}};var Fe=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var ke=(t=null)=>{try{p(t)||n("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[e,r]of Object.entries(t))Fe.includes(e)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} is not supported.`),l(r)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.lifecycle",e)}};var Ee=(t=null)=>{try{p(t)||n("component.optionValidators.methods","options.methods must be an object.");for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.methods",`options.methods.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.methods",e)}};var Me=(t=null)=>{typeof t!="string"&&n("component.optionValidators.name","options.name must be a string.")};var Se=(t=null)=>{try{l(t)||n("component.optionValidators.render","options.render must be a function returning a string.")}catch(e){n("component.optionValidators.render",e)}};var Oe=(t=null)=>{try{l(t)||n("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(e){n("component.optionValidators.websockets",e)}};var Te=(t=null)=>{try{p(t)||n("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[e,r]of Object.entries(t))e==="id"&&!R(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned a string.`),e==="classList"&&!P(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned an array of strings.`)}catch(e){n("component.optionValidators.wrapper",e)}};var ve={css:xe,events:$e,lifecycle:ke,methods:Ee,name:Me,render:Se,websockets:Oe,wrapper:Te};var Ce=(t={})=>{try{he(t)||n("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[e,r]of Object.entries(t)){we.includes(e)||n("component.validateOptions",`${e} is not supported by joystick.component.`);let o=ve[e];o&&l(o)&&o(r)}}catch(e){n("component.validateOptions",e)}};var je="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split(""),b=(t=16)=>{let e="",r=0;for(;r<t;)e+=je[Math.floor(Math.random()*(je.length-1))],r+=1;return e};var G=(t=[],e="")=>{try{return(P(t)&&t.find(o=>o?.componentId===e))?.data||{}}catch(r){n("findComponentDataFromSSR",r)}};var Re=(()=>{let t=0;return(e,r)=>{clearTimeout(t),t=setTimeout(e,r)}})();var I=t=>!!(t&&typeof t=="object"&&!Array.isArray(t));var Ae=t=>typeof t=="string";var _e=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/,Le=(t,e="")=>{if(!e)return!0;if(e&&!Ae(e))return!1;let r=e?e.replace(/[- ]+/g,""):"";return t===!0?r.match(new RegExp(_e)):!r.match(new RegExp(_e))};var De=/^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/,Pe=(t,e="")=>t===!0?!!e.match(De):!e.match(De);var Ie=(t,e="")=>t===e;var Ne=(t,e="")=>t===e;var Ve=(t,e="")=>e.length<=t;var Ue=(t,e="")=>e.length>=t;var qe=/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/,He=(t,e="")=>t===!0?!!e.match(qe):!e.match(qe);var ze={AF:/^\d{4}$/,AX:/^\d{5}$/,AL:/^\d{4}$/,DZ:/^\d{5}$/,AS:/^\d{5}(-{1}\d{4,6})$/,AD:/^[Aa][Dd]\d{3}$/,AI:/^[Aa][I][-][2][6][4][0]$/,AR:/^\d{4}|[A-Za-z]\d{4}[a-zA-Z]{3}$/,AM:/^\d{4}$/,AC:/^[Aa][Ss][Cc][Nn]\s{0,1}[1][Zz][Zz]$/,AU:/^\d{4}$/,AT:/^\d{4}$/,AZ:/^[Aa][Zz]\d{4}$/,BH:/^\d{3,4}$/,BD:/^\d{4}$/,BB:/^[Aa][Zz]\d{5}$/,BY:/^\d{6}$/,BE:/^\d{4}$/,BM:/^[A-Za-z]{2}\s([A-Za-z]{2}|\d{2})$/,BT:/^\d{5}$/,BO:/^\d{4}$/,BA:/^\d{5}$/,BR:/^\d{5}-\d{3}$/,"":/^[Bb][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,IO:/^[Bb]{2}[Nn][Dd]\s{0,1}[1][Zz]{2}$/,VG:/^[Vv][Gg]\d{4}$/,BN:/^[A-Za-z]{2}\d{4}$/,BG:/^\d{4}$/,KH:/^\d{5}$/,CA:/^(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\s{0,1}\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d$/,CV:/^\d{4}$/,KY:/^[Kk][Yy]\d[-\s]{0,1}\d{4}$/,TD:/^\d{5}$/,CL:/^\d{7}\s\(\d{3}-\d{4}\)$/,CN:/^\d{6}$/,CX:/^\d{4}$/,CC:/^\d{4}$/,CO:/^\d{6}$/,CD:/^[Cc][Dd]$/,CR:/^\d{4,5}$/,HR:/^\d{5}$/,CU:/^\d{5}$/,CY:/^\d{4}$/,CZ:/^\d{5}\s\(\d{3}\s\d{2}\)$/,DK:/^\d{4}$/,DO:/^\d{5}$/,EC:/^\d{6}$/,SV:/^1101$/,EG:/^\d{5}$/,EE:/^\d{5}$/,ET:/^\d{4}$/,FK:/^[Ff][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,FO:/^\d{3}$/,FI:/^\d{5}$/,FR:/^\d{5}$/,GF:/^973\d{2}$/,PF:/^987\d{2}$/,GA:/^\d{2}\s[a-zA-Z-_ ]\s\d{2}$/,GE:/^\d{4}$/,DE:/^\d{2}$/,GI:/^[Gg][Xx][1]{2}\s{0,1}[1][Aa]{2}$/,GR:/^\d{3}\s{0,1}\d{2}$/,GL:/^\d{4}$/,GP:/^971\d{2}$/,GU:/^\d{5}$/,GT:/^\d{5}$/,GG:/^[A-Za-z]{2}\d\s{0,1}\d[A-Za-z]{2}$/,GW:/^\d{4}$/,HT:/^\d{4}$/,HM:/^\d{4}$/,HN:/^\d{5}$/,HU:/^\d{4}$/,IS:/^\d{3}$/,IN:/^\d{6}$/,ID:/^\d{5}$/,IR:/^\d{5}-\d{5}$/,IQ:/^\d{5}$/,IM:/^[Ii[Mm]\d{1,2}\s\d\[A-Z]{2}$/,IL:/^\b\d{5}(\d{2})?$/,IT:/^\d{5}$/,JM:/^\d{2}$/,JP:/^\d{7}\s\(\d{3}-\d{4}\)$/,JE:/^[Jj][Ee]\d\s{0,1}\d[A-Za-z]{2}$/,JO:/^\d{5}$/,KZ:/^\d{6}$/,KE:/^\d{5}$/,KR:/^\d{6}\s\(\d{3}-\d{3}\)$/,XK:/^\d{5}$/,KW:/^\d{5}$/,KG:/^\d{6}$/,LV:/^[Ll][Vv][- ]{0,1}\d{4}$/,LA:/^\d{5}$/,LB:/^\d{4}\s{0,1}\d{4}$/,LS:/^\d{3}$/,LR:/^\d{4}$/,LY:/^\d{5}$/,LI:/^\d{4}$/,LT:/^[Ll][Tt][- ]{0,1}\d{5}$/,LU:/^\d{4}$/,MK:/^\d{4}$/,MG:/^\d{3}$/,MV:/^\d{4,5}$/,MY:/^\d{5}$/,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MH:/^\d{5}$/,MQ:/^972\d{2}$/,YT:/^976\d{2}$/,FM:/^\d{5}(-{1}\d{4})$/,MX:/^\d{5}$/,MD:/^[Mm][Dd][- ]{0,1}\d{4}$/,MC:/^980\d{2}$/,MN:/^\d{5}$/,ME:/^\d{5}$/,MS:/^[Mm][Ss][Rr]\s{0,1}\d{4}$/,MA:/^\d{5}$/,MZ:/^\d{4}$/,MM:/^\d{5}$/,NA:/^\d{5}$/,NP:/^\d{5}$/,NL:/^\d{4}\s{0,1}[A-Za-z]{2}$/,NC:/^988\d{2}$/,NZ:/^\d{4}$/,NI:/^\d{5}$/,NE:/^\d{4}$/,NG:/^\d{6}$/,NF:/^\d{4}$/,MP:/^\d{5}$/,NO:/^\d{4}$/,OM:/^\d{3}$/,PK:/^\d{5}$/,PW:/^\d{5}$/,PA:/^\d{6}$/,PG:/^\d{3}$/,PY:/^\d{4}$/,PE:/^\d{5}$/,PH:/^\d{4}$/,PN:/^[Pp][Cc][Rr][Nn]\s{0,1}[1][Zz]{2}$/,PL:/^\d{2}[- ]{0,1}\d{3}$/,PT:/^\d{4}$/,PR:/^\d{5}$/,RE:/^974\d{2}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,BL:/^97133$/,SH:/^[Ss][Tt][Hh][Ll]\s{0,1}[1][Zz]{2}$/,MF:/^97150$/,PM:/^97500$/,VC:/^[Vv][Cc]\d{4}$/,SM:/^4789\d$/,SA:/^\d{5}(-{1}\d{4})?$/,SN:/^\d{5}$/,RS:/^\d{5}$/,SG:/^\d{2}$/,SK:/^\d{5}\s\(\d{3}\s\d{2}\)$/,SI:/^([Ss][Ii][- ]{0,1}){0,1}\d{4}$/,ZA:/^\d{4}$/,GS:/^[Ss][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,ES:/^\d{5}$/,LK:/^\d{5}$/,SD:/^\d{5}$/,SZ:/^[A-Za-z]\d{3}$/,SE:/^\d{3}\s*\d{2}$/,CH:/^\d{4}$/,SJ:/^\d{4}$/,TW:/^\d{5}$/,TJ:/^\d{6}$/,TH:/^\d{5}$/,TT:/^\d{6}$/,TN:/^\d{4}$/,TR:/^\d{5}$/,TM:/^\d{6}$/,TC:/^[Tt][Kk][Cc][Aa]\s{0,1}[1][Zz]{2}$/,UA:/^\d{5}$/,GB:/^[A-Z]{1,2}[0-9R][0-9A-Z]?\s*[0-9][A-Z-[CIKMOV]]{2}/,US:/^\b\d{5}\b(?:[- ]{1}\d{4})?$/,UY:/^\d{5}$/,VI:/^\d{5}$/,UZ:/^\d{3} \d{3}$/,VA:/^120$/,VE:/^\d{4}(\s[a-zA-Z]{1})?$/,VN:/^\d{6}$/,WF:/^986\d{2}$/,ZM:/^\d{5}$/},Ze=(t,e="")=>{let r=I(t)&&t.iso?ze[t.iso||"US"]:ze.US;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var Be=(t,e="",r={isChecked:!1})=>{if(!r.isChecked)return t===!0?e&&e.trim()!=="":e&&e.trim()==="";if(r.isChecked)return t===!0?e:!e};var Ge=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,Ke=(t,e="")=>t===!0?!!e.match(Ge):!e.match(Ge);var We=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Je=(t,e="")=>t===!0?!!e.match(We):!e.match(We);var Qe=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/,Ye=(t,e="")=>t===!0?!!e.match(Qe):!e.match(Qe);var Xe=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/,et=(t,e="")=>t===!0?!!e.match(Xe):!e.match(Xe);var tt={AT:/^(AT)(U\d{8}$)/i,BE:/^(BE)(\d{10}$)/i,BG:/^(BG)(\d{9,10}$)/i,CY:/^(CY)([0-5|9]\d{7}[A-Z]$)/i,CZ:/^(CZ)(\d{8,10})?$/i,DE:/^(DE)([1-9]\d{8}$)/i,DK:/^(DK)(\d{8}$)/i,EE:/^(EE)(10\d{7}$)/i,EL:/^(EL)(\d{9}$)/i,ES:/^(ES)([0-9A-Z][0-9]{7}[0-9A-Z]$)/i,EU:/^(EU)(\d{9}$)/i,FI:/^(FI)(\d{8}$)/i,FR:/^(FR)([0-9A-Z]{2}[0-9]{9}$)/i,GB:/^(GB)((?:[0-9]{12}|[0-9]{9}|(?:GD|HA)[0-9]{3})$)/i,GR:/^(GR)(\d{8,9}$)/i,HR:/^(HR)(\d{11}$)/i,HU:/^(HU)(\d{8}$)/i,IE:/^(IE)([0-9A-Z\*\+]{7}[A-Z]{1,2}$)/i,IT:/^(IT)(\d{11}$)/i,LV:/^(LV)(\d{11}$)/i,LT:/^(LT)(\d{9}$|\d{12}$)/i,LU:/^(LU)(\d{8}$)/i,MT:/^(MT)([1-9]\d{7}$)/i,NL:/^(NL)(\d{9}B\d{2}$)/i,NO:/^(NO)(\d{9}$)/i,PL:/^(PL)(\d{10}$)/i,PT:/^(PT)(\d{9}$)/i,RO:/^(RO)([1-9]\d{1,9}$)/i,RU:/^(RU)(\d{10}$|\d{12}$)/i,RS:/^(RS)(\d{9}$)/i,SI:/^(SI)([1-9]\d{7}$)/i,SK:/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7}$)/i,SE:/^(SE)(\d{10}01$)/i},rt=(t,e="")=>{let r=I(t)&&t.iso?tt[t.iso||"EU"]:tt.EU;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var ot={creditCard:Le,email:Pe,equals:Ie,matches:Ne,maxLength:Ve,minLength:Ue,phone:He,postalCode:Ze,required:Be,semVer:Ke,slug:Je,strongPassword:Ye,url:et,vat:rt};var it=class{constructor(e,r={}){this.fieldsToListenToForChanges=["checkbox","color","date","datetime-local","email","file","hidden","month","number","password","radio","range","search","tel","text","time","url","week"],this.defaultValidationErrors={required:()=>"This field is required.",email:()=>"Must be a valid email.",creditCard:()=>"Must be a valid credit card number.",equals:o=>`Value must equal ${o}.`,matches:o=>`Field must match ${o}.`,maxLength:o=>`Field value can be no greater than ${o}.`,minLength:o=>`Field value can be no less than ${o}.`,phone:()=>"Field value must be a valid telephone number.",postalCode:()=>"Field value must be a valid postal code.",semVer:()=>"Field value must be a valid semantic version.",slug:()=>"Field value must be a valid URL slug.",strongPassword:()=>"Field value must be a valid password.",url:()=>"Field value must be a valid URL.",vat:()=>"Field value must be a valid VAT code."},e||console.warn("[validateForm] Must pass an HTML <form></form> element to validate."),this.form=e,this.setOptions(r),this.attachEventListeners()}setOptions(e={}){this.rules=e.rules||{},this.messages=e.messages||{},this.onSubmit=e.onSubmit,this.fields=this.serialize()}updateOptions(e={}){this.setOptions(e)}serialize(){if(this.form)return Object.keys(this.rules).map(r=>{let o=this.form.querySelector(`[name="${r}"]`),i=o?.type;return{listenForChanges:this.fieldsToListenToForChanges.includes(i),type:i,name:r,element:o,validations:Object.entries(this.rules[r]).map(([c,a])=>({name:c,rule:a,valid:!1})).sort((c,a)=>c.name>a.name?1:-1),errorMessages:this.messages[r]?Object.keys(this.messages[r]):{}}})}attachEventListeners(){if(this.form){let e=r=>{r.stopPropagation(),r.preventDefault(),this.validate()&&this.onSubmit&&this.onSubmit()};if(this.form.listeners?.length>0)for(let r=0;r<this.form.listeners.length;r+=1){let o=this.form.listeners[r];this.form.removeEventListener("submit",o)}this.form.addEventListener("submit",e),this.form.listeners=[...this.form.listeners||[],e]}this.fields.forEach(e=>{if(e?.element&&e?.listenForChanges){let r=()=>{Re(()=>{this.validate(e.name)},100)};e.element.removeEventListener("input",r),e.element.addEventListener("input",r),e.element.removeEventListener("change",r),e.element.addEventListener("change",r)}})}validate(e=null){if(e){this.clearExistingErrors();let r=this.fields.find(o=>o.name===e);return this.validateField(r),this.checkIfValid()}else return this.clearExistingErrors(),this.fields.forEach(r=>{this.validateField(r)}),this.checkIfValid()}checkIfValid(){return!this.fields.map(r=>r.validations.some(o=>!o.valid)).includes(!0)}validateField(e){let r=this.form.querySelector(`[name="${e.name}"]`),o=["checkbox","radio"].includes(e.type),i=o?null:e?.element?.value?.trim(),s=o?e?.element?.checked:null;e.validations.forEach(a=>{if(this.isValidValue(o,o?s:i,a))this.markValidationAsValid(e,a.name);else{let u=this.messages[e.name]&&this.messages[e.name][a.name];this.markValidationAsInvalid(e,a.name),this.renderError(e.element,u||this.defaultValidationErrors[a.name](a.rule,i))}});let c=e.validations.some(a=>!a.valid);return c&&(r.classList.add("error"),r.focus()),c||(r.classList.remove("error"),this.clearExistingError(e.name)),!c}markValidationAsInvalid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!1}markValidationAsValid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!0}isValidValue(e,r,o){let i=ot[o.name];return i?i(o.rule,r,{isChecked:e}):!0}clearExistingErrors(){this.form&&this.form.querySelectorAll(".input-hint.error").forEach(e=>e.remove())}clearExistingError(e=""){let r=document.getElementById(`error-${e}`);r&&r.remove()}renderError(e,r=""){if(e){this.clearExistingError(e.name);let o=document.createElement("p");o.classList.add("input-hint"),o.classList.add("error"),o.setAttribute("id",`error-${e.name}`),o.innerText=r,e.after(o)}}},sr=(t,e)=>new Promise((r,o)=>{try{new it(t,e).validate()?r():o()}catch(i){console.warn(i)}}),nt=sr;var st=(t={},e={})=>{try{return[...Object.keys(e),...Object.keys(t)].filter((o,i,s)=>s.indexOf(o)===i).reduce((o,i)=>{let s=e[i],c=t[i]||null,a=!ye(s)&&!ge(s);return o[i]=a?s:c,o},{})}catch(r){n("component.props.compile",r)}};var at=(t="",e={})=>{try{let r="";if(t&&R(t))return r=t,r;if(t&&l(t))return r=t(e),r;if(t&&p(t)){let o=t?.print&&(R(t?.print)||l(t?.print)),i=t?.min&&p(t?.min),s=t?.min?.width&&p(t?.min?.width),c=t?.min?.height&&p(t?.min?.height),a=t?.max&&p(t?.max),u=t?.max?.width&&p(t?.max?.width),y=t?.max?.height&&p(t?.max?.height);if(o&&(r+=`
1
+ var Yt=Object.create;var ie=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.getPrototypeOf,rr=Object.prototype.hasOwnProperty;var or=t=>ie(t,"__esModule",{value:!0});var ir=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var nr=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of er(e))!rr.call(t,o)&&o!=="default"&&ie(t,o,{get:()=>e[o],enumerable:!(r=Xt(e,o))||r.enumerable});return t},sr=t=>nr(or(ie(t!=null?Yt(tr(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var $t=ir(X=>{(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof X!="undefined")e(X);else{var r={exports:{}};e(r.exports),t.index=r.exports}})(X,function(t){"use strict";function e(p){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},e(p)}function r(p,d){return d&&(e(d)==="object"||typeof d=="function")?d:o(p)}function o(p){if(p===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p}function i(p){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},i(p)}function s(p,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(d&&d.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),d&&c(p,d)}function c(p,d){return c=Object.setPrototypeOf||function($,C){return $.__proto__=C,$},c(p,d)}function a(p,d){if(!(p instanceof d))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.diff=void 0;var u=function p(d,$){a(this,p),this.type=d,this.path=$?$.toString():""},y=function(p){function d($,C,h){var _;return a(this,d),_=r(this,i(d).call(this,"E",$)),_.lhs=C,_.rhs=h,_}return s(d,p),d}(u),w=function(p){function d($,C,h,_){var F;return a(this,d),F=r(this,i(d).call(this,"M",$)),F.item=C,F.lhsIndex=h,F.rhsIndex=_,F}return s(d,p),d}(u),g=function(p){function d($,C){var h;return a(this,d),h=r(this,i(d).call(this,"D",$)),h.lhs=C,h}return s(d,p),d}(u),R=function(p){function d($,C){var h;return a(this,d),h=r(this,i(d).call(this,"A",$)),h.rhs=C,h}return s(d,p),d}(u),f=function(p,d){return p?"".concat(p,".").concat(d):d};t.diff=function(d,$){var C=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},h=[],_=C.matchKey,F=C.types||["E","A","D","M"],Qt=function(k,x,E,D){k.forEach(function(L,M){var v=x.findIndex(function(S){return S[D]===L[D]});-1<v?(-1<F.indexOf("M")&&M!==v&&h.push(new w(E,L,M,v)),B(L,x[v],f(E,v))):-1<F.indexOf("D")&&h.push(new g(E,L))}),x.forEach(function(L,M){var v=k.findIndex(function(S){return L[D]===S[D]});-1<F.indexOf("A")&&v===-1&&h.push(new R(f(E,M),L))})},B=function(k,x,E){var D=Object.prototype.toString.call(k),L=Object.prototype.toString.call(x);if(-1<F.indexOf("E")&&D!==L)return h.push(new y(E,k,x)),!1;if(D==="[object Object]")Object.getOwnPropertyNames(k).forEach(function(S){Object.prototype.hasOwnProperty.call(x,S)?B(k[S],x[S],f(E,S)):-1<F.indexOf("D")&&h.push(new g(f(E,S),k[S]))}),Object.getOwnPropertyNames(x).forEach(function(S){-1<F.indexOf("A")&&!Object.prototype.hasOwnProperty.call(k,S)&&h.push(new R(f(E,S),x[S]))});else if(D!=="[object Array]")-1<F.indexOf("E")&&k!==x&&h.push(new y(E,k,x));else if(_)Qt(k,x,E,_);else{var M=k.length-1,v=x.length-1;if(-1<F.indexOf("D"))for(;M>v;)h.push(new g(f(E,M),k[M--]));if(-1<F.indexOf("A"))for(;v>M;)h.push(new R(f(E,v),x[v--]));for(;0<=M;--M)B(k[M],x[M],f(E,M))}};return B(d,$),h}})});var n=(t="",e={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${e.message||e.reason||e}`)};var fe=["render"];var he=(t={})=>{try{return fe.every(e=>Object.keys(t).includes(e))}catch(e){n("component.hasAllRequiredOptions",e)}};var we=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","test","translations","url","websockets","wrapper"];var ye=t=>{try{return typeof t=="undefined"}catch(e){n("types.isUndefined",e)}},ge=t=>{try{return t===null}catch(e){n("types.isNull",e)}};var P=t=>{try{return!!Array.isArray(t)}catch(e){n("types.isArray",e)}};var l=t=>{try{return typeof t=="function"}catch(e){n("types.isFunction",e)}};var m=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(e){n("types.isObject",e)}};var O=t=>{try{return typeof t=="string"}catch(e){n("types.isString",e)}};var xe=(t=null)=>{try{!O(t)&&!l(t)&&!m(t)&&n("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(e){n("component.optionValidators.css",e)}};var be=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var $e=(t=null)=>{try{m(t)||n("component.optionValidators.events","options.events must be an object.");for(let e of Object.keys(t)){let[r]=e.split(" ");be.includes(r)||n("component.optionValidators.events",`${r} is not a supported JavaScript event type.`)}for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.events",`options.events.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.events",e)}};var Fe=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var ke=(t=null)=>{try{m(t)||n("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[e,r]of Object.entries(t))Fe.includes(e)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} is not supported.`),l(r)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.lifecycle",e)}};var Ee=(t=null)=>{try{m(t)||n("component.optionValidators.methods","options.methods must be an object.");for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.methods",`options.methods.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.methods",e)}};var Me=(t=null)=>{typeof t!="string"&&n("component.optionValidators.name","options.name must be a string.")};var Se=(t=null)=>{try{l(t)||n("component.optionValidators.render","options.render must be a function returning a string.")}catch(e){n("component.optionValidators.render",e)}};var Oe=(t=null)=>{try{m(t)||n("component.optionValidators.test","options.test must be an object."),t?.name&&!O(t.name)&&n("component.optionValidators.test","options.test.name must be assigned a string.")}catch(e){n("component.optionValidators.test",e)}};var Te=(t=null)=>{try{l(t)||n("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(e){n("component.optionValidators.websockets",e)}};var Ce=(t=null)=>{try{m(t)||n("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[e,r]of Object.entries(t))e==="id"&&!O(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned a string.`),e==="classList"&&!P(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned an array of strings.`)}catch(e){n("component.optionValidators.wrapper",e)}};var ve={css:xe,events:$e,lifecycle:ke,methods:Ee,name:Me,render:Se,test:Oe,websockets:Te,wrapper:Ce};var je=(t={})=>{try{he(t)||n("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[e,r]of Object.entries(t)){we.includes(e)||n("component.validateOptions",`${e} is not supported by joystick.component.`);let o=ve[e];o&&l(o)&&o(r)}}catch(e){n("component.validateOptions",e)}};var Re="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split(""),b=(t=16)=>{let e="",r=0;for(;r<t;)e+=Re[Math.floor(Math.random()*(Re.length-1))],r+=1;return e};var G=(t=[],e="")=>{try{return(P(t)&&t.find(o=>o?.componentId===e))?.data||{}}catch(r){n("findComponentDataFromSSR",r)}};var Ae=(()=>{let t=0;return(e,r)=>{clearTimeout(t),t=setTimeout(e,r)}})();var I=t=>!!(t&&typeof t=="object"&&!Array.isArray(t));var _e=t=>typeof t=="string";var Le=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/,De=(t,e="")=>{if(!e)return!0;if(e&&!_e(e))return!1;let r=e?e.replace(/[- ]+/g,""):"";return t===!0?r.match(new RegExp(Le)):!r.match(new RegExp(Le))};var Pe=/^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/,Ie=(t,e="")=>t===!0?!!e.match(Pe):!e.match(Pe);var Ne=(t,e="")=>t===e;var Ve=(t,e="")=>t===e;var Ue=(t,e="")=>e.length<=t;var qe=(t,e="")=>e.length>=t;var He=/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/,ze=(t,e="")=>t===!0?!!e.match(He):!e.match(He);var Ze={AF:/^\d{4}$/,AX:/^\d{5}$/,AL:/^\d{4}$/,DZ:/^\d{5}$/,AS:/^\d{5}(-{1}\d{4,6})$/,AD:/^[Aa][Dd]\d{3}$/,AI:/^[Aa][I][-][2][6][4][0]$/,AR:/^\d{4}|[A-Za-z]\d{4}[a-zA-Z]{3}$/,AM:/^\d{4}$/,AC:/^[Aa][Ss][Cc][Nn]\s{0,1}[1][Zz][Zz]$/,AU:/^\d{4}$/,AT:/^\d{4}$/,AZ:/^[Aa][Zz]\d{4}$/,BH:/^\d{3,4}$/,BD:/^\d{4}$/,BB:/^[Aa][Zz]\d{5}$/,BY:/^\d{6}$/,BE:/^\d{4}$/,BM:/^[A-Za-z]{2}\s([A-Za-z]{2}|\d{2})$/,BT:/^\d{5}$/,BO:/^\d{4}$/,BA:/^\d{5}$/,BR:/^\d{5}-\d{3}$/,"":/^[Bb][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,IO:/^[Bb]{2}[Nn][Dd]\s{0,1}[1][Zz]{2}$/,VG:/^[Vv][Gg]\d{4}$/,BN:/^[A-Za-z]{2}\d{4}$/,BG:/^\d{4}$/,KH:/^\d{5}$/,CA:/^(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\s{0,1}\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d$/,CV:/^\d{4}$/,KY:/^[Kk][Yy]\d[-\s]{0,1}\d{4}$/,TD:/^\d{5}$/,CL:/^\d{7}\s\(\d{3}-\d{4}\)$/,CN:/^\d{6}$/,CX:/^\d{4}$/,CC:/^\d{4}$/,CO:/^\d{6}$/,CD:/^[Cc][Dd]$/,CR:/^\d{4,5}$/,HR:/^\d{5}$/,CU:/^\d{5}$/,CY:/^\d{4}$/,CZ:/^\d{5}\s\(\d{3}\s\d{2}\)$/,DK:/^\d{4}$/,DO:/^\d{5}$/,EC:/^\d{6}$/,SV:/^1101$/,EG:/^\d{5}$/,EE:/^\d{5}$/,ET:/^\d{4}$/,FK:/^[Ff][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,FO:/^\d{3}$/,FI:/^\d{5}$/,FR:/^\d{5}$/,GF:/^973\d{2}$/,PF:/^987\d{2}$/,GA:/^\d{2}\s[a-zA-Z-_ ]\s\d{2}$/,GE:/^\d{4}$/,DE:/^\d{2}$/,GI:/^[Gg][Xx][1]{2}\s{0,1}[1][Aa]{2}$/,GR:/^\d{3}\s{0,1}\d{2}$/,GL:/^\d{4}$/,GP:/^971\d{2}$/,GU:/^\d{5}$/,GT:/^\d{5}$/,GG:/^[A-Za-z]{2}\d\s{0,1}\d[A-Za-z]{2}$/,GW:/^\d{4}$/,HT:/^\d{4}$/,HM:/^\d{4}$/,HN:/^\d{5}$/,HU:/^\d{4}$/,IS:/^\d{3}$/,IN:/^\d{6}$/,ID:/^\d{5}$/,IR:/^\d{5}-\d{5}$/,IQ:/^\d{5}$/,IM:/^[Ii[Mm]\d{1,2}\s\d\[A-Z]{2}$/,IL:/^\b\d{5}(\d{2})?$/,IT:/^\d{5}$/,JM:/^\d{2}$/,JP:/^\d{7}\s\(\d{3}-\d{4}\)$/,JE:/^[Jj][Ee]\d\s{0,1}\d[A-Za-z]{2}$/,JO:/^\d{5}$/,KZ:/^\d{6}$/,KE:/^\d{5}$/,KR:/^\d{6}\s\(\d{3}-\d{3}\)$/,XK:/^\d{5}$/,KW:/^\d{5}$/,KG:/^\d{6}$/,LV:/^[Ll][Vv][- ]{0,1}\d{4}$/,LA:/^\d{5}$/,LB:/^\d{4}\s{0,1}\d{4}$/,LS:/^\d{3}$/,LR:/^\d{4}$/,LY:/^\d{5}$/,LI:/^\d{4}$/,LT:/^[Ll][Tt][- ]{0,1}\d{5}$/,LU:/^\d{4}$/,MK:/^\d{4}$/,MG:/^\d{3}$/,MV:/^\d{4,5}$/,MY:/^\d{5}$/,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MH:/^\d{5}$/,MQ:/^972\d{2}$/,YT:/^976\d{2}$/,FM:/^\d{5}(-{1}\d{4})$/,MX:/^\d{5}$/,MD:/^[Mm][Dd][- ]{0,1}\d{4}$/,MC:/^980\d{2}$/,MN:/^\d{5}$/,ME:/^\d{5}$/,MS:/^[Mm][Ss][Rr]\s{0,1}\d{4}$/,MA:/^\d{5}$/,MZ:/^\d{4}$/,MM:/^\d{5}$/,NA:/^\d{5}$/,NP:/^\d{5}$/,NL:/^\d{4}\s{0,1}[A-Za-z]{2}$/,NC:/^988\d{2}$/,NZ:/^\d{4}$/,NI:/^\d{5}$/,NE:/^\d{4}$/,NG:/^\d{6}$/,NF:/^\d{4}$/,MP:/^\d{5}$/,NO:/^\d{4}$/,OM:/^\d{3}$/,PK:/^\d{5}$/,PW:/^\d{5}$/,PA:/^\d{6}$/,PG:/^\d{3}$/,PY:/^\d{4}$/,PE:/^\d{5}$/,PH:/^\d{4}$/,PN:/^[Pp][Cc][Rr][Nn]\s{0,1}[1][Zz]{2}$/,PL:/^\d{2}[- ]{0,1}\d{3}$/,PT:/^\d{4}$/,PR:/^\d{5}$/,RE:/^974\d{2}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,BL:/^97133$/,SH:/^[Ss][Tt][Hh][Ll]\s{0,1}[1][Zz]{2}$/,MF:/^97150$/,PM:/^97500$/,VC:/^[Vv][Cc]\d{4}$/,SM:/^4789\d$/,SA:/^\d{5}(-{1}\d{4})?$/,SN:/^\d{5}$/,RS:/^\d{5}$/,SG:/^\d{2}$/,SK:/^\d{5}\s\(\d{3}\s\d{2}\)$/,SI:/^([Ss][Ii][- ]{0,1}){0,1}\d{4}$/,ZA:/^\d{4}$/,GS:/^[Ss][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,ES:/^\d{5}$/,LK:/^\d{5}$/,SD:/^\d{5}$/,SZ:/^[A-Za-z]\d{3}$/,SE:/^\d{3}\s*\d{2}$/,CH:/^\d{4}$/,SJ:/^\d{4}$/,TW:/^\d{5}$/,TJ:/^\d{6}$/,TH:/^\d{5}$/,TT:/^\d{6}$/,TN:/^\d{4}$/,TR:/^\d{5}$/,TM:/^\d{6}$/,TC:/^[Tt][Kk][Cc][Aa]\s{0,1}[1][Zz]{2}$/,UA:/^\d{5}$/,GB:/^[A-Z]{1,2}[0-9R][0-9A-Z]?\s*[0-9][A-Z-[CIKMOV]]{2}/,US:/^\b\d{5}\b(?:[- ]{1}\d{4})?$/,UY:/^\d{5}$/,VI:/^\d{5}$/,UZ:/^\d{3} \d{3}$/,VA:/^120$/,VE:/^\d{4}(\s[a-zA-Z]{1})?$/,VN:/^\d{6}$/,WF:/^986\d{2}$/,ZM:/^\d{5}$/},Be=(t,e="")=>{let r=I(t)&&t.iso?Ze[t.iso||"US"]:Ze.US;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var Ge=(t,e="",r={isChecked:!1})=>{if(!r.isChecked)return t===!0?e&&e.trim()!=="":e&&e.trim()==="";if(r.isChecked)return t===!0?e:!e};var Ke=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,We=(t,e="")=>t===!0?!!e.match(Ke):!e.match(Ke);var Je=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Qe=(t,e="")=>t===!0?!!e.match(Je):!e.match(Je);var Ye=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/,Xe=(t,e="")=>t===!0?!!e.match(Ye):!e.match(Ye);var et=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/,tt=(t,e="")=>t===!0?!!e.match(et):!e.match(et);var rt={AT:/^(AT)(U\d{8}$)/i,BE:/^(BE)(\d{10}$)/i,BG:/^(BG)(\d{9,10}$)/i,CY:/^(CY)([0-5|9]\d{7}[A-Z]$)/i,CZ:/^(CZ)(\d{8,10})?$/i,DE:/^(DE)([1-9]\d{8}$)/i,DK:/^(DK)(\d{8}$)/i,EE:/^(EE)(10\d{7}$)/i,EL:/^(EL)(\d{9}$)/i,ES:/^(ES)([0-9A-Z][0-9]{7}[0-9A-Z]$)/i,EU:/^(EU)(\d{9}$)/i,FI:/^(FI)(\d{8}$)/i,FR:/^(FR)([0-9A-Z]{2}[0-9]{9}$)/i,GB:/^(GB)((?:[0-9]{12}|[0-9]{9}|(?:GD|HA)[0-9]{3})$)/i,GR:/^(GR)(\d{8,9}$)/i,HR:/^(HR)(\d{11}$)/i,HU:/^(HU)(\d{8}$)/i,IE:/^(IE)([0-9A-Z\*\+]{7}[A-Z]{1,2}$)/i,IT:/^(IT)(\d{11}$)/i,LV:/^(LV)(\d{11}$)/i,LT:/^(LT)(\d{9}$|\d{12}$)/i,LU:/^(LU)(\d{8}$)/i,MT:/^(MT)([1-9]\d{7}$)/i,NL:/^(NL)(\d{9}B\d{2}$)/i,NO:/^(NO)(\d{9}$)/i,PL:/^(PL)(\d{10}$)/i,PT:/^(PT)(\d{9}$)/i,RO:/^(RO)([1-9]\d{1,9}$)/i,RU:/^(RU)(\d{10}$|\d{12}$)/i,RS:/^(RS)(\d{9}$)/i,SI:/^(SI)([1-9]\d{7}$)/i,SK:/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7}$)/i,SE:/^(SE)(\d{10}01$)/i},ot=(t,e="")=>{let r=I(t)&&t.iso?rt[t.iso||"EU"]:rt.EU;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var it={creditCard:De,email:Ie,equals:Ne,matches:Ve,maxLength:Ue,minLength:qe,phone:ze,postalCode:Be,required:Ge,semVer:We,slug:Qe,strongPassword:Xe,url:tt,vat:ot};var nt=class{constructor(e,r={}){this.fieldsToListenToForChanges=["checkbox","color","date","datetime-local","email","file","hidden","month","number","password","radio","range","search","tel","text","time","url","week"],this.defaultValidationErrors={required:()=>"This field is required.",email:()=>"Must be a valid email.",creditCard:()=>"Must be a valid credit card number.",equals:o=>`Value must equal ${o}.`,matches:o=>`Field must match ${o}.`,maxLength:o=>`Field value can be no greater than ${o}.`,minLength:o=>`Field value can be no less than ${o}.`,phone:()=>"Field value must be a valid telephone number.",postalCode:()=>"Field value must be a valid postal code.",semVer:()=>"Field value must be a valid semantic version.",slug:()=>"Field value must be a valid URL slug.",strongPassword:()=>"Field value must be a valid password.",url:()=>"Field value must be a valid URL.",vat:()=>"Field value must be a valid VAT code."},e||console.warn("[validateForm] Must pass an HTML <form></form> element to validate."),this.form=e,this.setOptions(r),this.attachEventListeners()}setOptions(e={}){this.rules=e.rules||{},this.messages=e.messages||{},this.onSubmit=e.onSubmit,this.fields=this.serialize()}updateOptions(e={}){this.setOptions(e)}serialize(){if(this.form)return Object.keys(this.rules).map(r=>{let o=this.form.querySelector(`[name="${r}"]`),i=o?.type;return{listenForChanges:this.fieldsToListenToForChanges.includes(i),type:i,name:r,element:o,validations:Object.entries(this.rules[r]).map(([c,a])=>({name:c,rule:a,valid:!1})).sort((c,a)=>c.name>a.name?1:-1),errorMessages:this.messages[r]?Object.keys(this.messages[r]):{}}})}attachEventListeners(){if(this.form){let e=r=>{r.stopPropagation(),r.preventDefault(),this.validate()&&this.onSubmit&&this.onSubmit()};if(this.form.listeners?.length>0)for(let r=0;r<this.form.listeners.length;r+=1){let o=this.form.listeners[r];this.form.removeEventListener("submit",o)}this.form.addEventListener("submit",e),this.form.listeners=[...this.form.listeners||[],e]}this.fields.forEach(e=>{if(e?.element&&e?.listenForChanges){let r=()=>{Ae(()=>{this.validate(e.name)},100)};e.element.removeEventListener("input",r),e.element.addEventListener("input",r),e.element.removeEventListener("change",r),e.element.addEventListener("change",r)}})}validate(e=null){if(e){this.clearExistingErrors();let r=this.fields.find(o=>o.name===e);return this.validateField(r),this.checkIfValid()}else return this.clearExistingErrors(),this.fields.forEach(r=>{this.validateField(r)}),this.checkIfValid()}checkIfValid(){return!this.fields.map(r=>r.validations.some(o=>!o.valid)).includes(!0)}validateField(e){let r=this.form.querySelector(`[name="${e.name}"]`),o=["checkbox","radio"].includes(e.type),i=o?null:e?.element?.value?.trim(),s=o?e?.element?.checked:null;e.validations.forEach(a=>{if(this.isValidValue(o,o?s:i,a))this.markValidationAsValid(e,a.name);else{let u=this.messages[e.name]&&this.messages[e.name][a.name];this.markValidationAsInvalid(e,a.name),this.renderError(e.element,u||this.defaultValidationErrors[a.name](a.rule,i))}});let c=e.validations.some(a=>!a.valid);return c&&(r.classList.add("error"),r.focus()),c||(r.classList.remove("error"),this.clearExistingError(e.name)),!c}markValidationAsInvalid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!1}markValidationAsValid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!0}isValidValue(e,r,o){let i=it[o.name];return i?i(o.rule,r,{isChecked:e}):!0}clearExistingErrors(){this.form&&this.form.querySelectorAll(".input-hint.error").forEach(e=>e.remove())}clearExistingError(e=""){let r=document.getElementById(`error-${e}`);r&&r.remove()}renderError(e,r=""){if(e){this.clearExistingError(e.name);let o=document.createElement("p");o.classList.add("input-hint"),o.classList.add("error"),o.setAttribute("id",`error-${e.name}`),o.innerText=r,e.after(o)}}},ar=(t,e)=>new Promise((r,o)=>{try{new nt(t,e).validate()?r():o()}catch(i){console.warn(i)}}),st=ar;var at=(t={},e={})=>{try{return[...Object.keys(e),...Object.keys(t)].filter((o,i,s)=>s.indexOf(o)===i).reduce((o,i)=>{let s=e[i],c=t[i]||null,a=!ye(s)&&!ge(s);return o[i]=a?s:c,o},{})}catch(r){n("component.props.compile",r)}};var dt=(t="",e={})=>{try{let r="";if(t&&O(t))return r=t,r;if(t&&l(t))return r=t(e),r;if(t&&m(t)){let o=t?.print&&(O(t?.print)||l(t?.print)),i=t?.min&&m(t?.min),s=t?.min?.width&&m(t?.min?.width),c=t?.min?.height&&m(t?.min?.height),a=t?.max&&m(t?.max),u=t?.max?.width&&m(t?.max?.width),y=t?.max?.height&&m(t?.max?.height);if(o&&(r+=`
2
2
  @media print {
3
3
  ${typeof t?.print=="function"?t?.print(e):t.print}
4
4
  }
5
- `),i&&s){let w=Object.entries(t?.min?.width);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
6
- @media screen and (min-width: ${j}px) {
5
+ `),i&&s){let w=Object.entries(t?.min?.width);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
6
+ @media screen and (min-width: ${R}px) {
7
7
  ${typeof f=="function"?f(e):f}
8
8
  }
9
- `}}if(i&&c){let w=Object.entries(t?.min?.height);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
10
- @media screen and (min-height: ${j}px) {
9
+ `}}if(i&&c){let w=Object.entries(t?.min?.height);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
10
+ @media screen and (min-height: ${R}px) {
11
11
  ${typeof f=="function"?f(e):f}
12
12
  }
13
- `}}if(a&&u){let w=Object.entries(t?.max?.width);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
14
- @media screen and (max-width: ${j}px) {
13
+ `}}if(a&&u){let w=Object.entries(t?.max?.width);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
14
+ @media screen and (max-width: ${R}px) {
15
15
  ${typeof f=="function"?f(e):f}
16
16
  }
17
- `}}if(a&&y){let w=Object.entries(t?.max?.height);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
18
- @media screen and (max-height: ${j}px) {
17
+ `}}if(a&&y){let w=Object.entries(t?.max?.height);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
18
+ @media screen and (max-height: ${R}px) {
19
19
  ${typeof f=="function"?f(e):f}
20
20
  }
21
- `}}return r}return""}catch(r){n("component.css.compileCSS",r)}};var ar=(t={},e=null)=>{try{let r=e(t);return r&&p(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.state.compile.compileState",r)}},K=(t={},e={})=>{try{return l(e)?ar(t,e):Object.assign({},e)}catch(r){n("component.state.compile",r)}};var ne={onBeforeMount:()=>null,onMount:()=>null,onBeforeUnmount:()=>null,onUpdateProps:()=>null,onRefetchData:()=>null};var dt=(t={},e={})=>{try{return e?Object.entries({...ne,...e||{}}).reduce((r={},[o,i])=>(r[o]=()=>i({...t,setState:t.setState.bind(t),...t.renderMethods||{}}),r),{}):ne}catch(r){n("component.lifecycle.compile",r)}};var C=(t="",e=[])=>{typeof window!="undefined"&&!!window.__joystick_test__&&(window.test={...window.test||{},functionCalls:{...window?.test?.functionCalls||{},[t]:[...window?.test?.functionCalls&&window?.test?.functionCalls[t]||[],{calledAt:new Date().toISOString(),args:e}]}})};var W=(t={},e={})=>{try{return Object.entries(e).reduce((r={},[o,i])=>(r[o]=(...s)=>(C(`ui.${t?.options?.test?.name||b()}.methods.${o}`,[...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}}]),i(...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}})),r),{})}catch{n("component.methods.compile")}};var se=(t={})=>{try{return{...t,query:{...t?.query||{},set:(e="",r="")=>{if(typeof window!="undefined"){let o=new URL(window.location);o.searchParams.append(e,r),window.history.pushState({},"",o)}},unset:(e="")=>{if(typeof window!="undefined"){let r=new URL(window.location);r.searchParams.delete(e),window.history.pushState({},"",r)}}},isActive:(e="")=>R(e)&&t?.route!=="*"?e===(typeof location!="undefined"?location.pathname:t.path):!1}}catch(e){n("component.url.compile",e)}};var O=()=>typeof window=="undefined";var N=null,J=0,ct=(t={},e=null)=>{try{let r=t?.url;t?.query&&(r=`${r}?${new URLSearchParams(t.query).toString()}`);let o=new WebSocket(r);N&&(clearInterval(N),N=null);let i={client:o,send:(s={})=>o.send(JSON.stringify(s))};return o.addEventListener("open",()=>{t?.options?.logging&&console.log(`[joystick.websockets] Connected to ${t?.url}`),t?.events?.onOpen&&t.events.onOpen(i),J=0}),o.addEventListener("message",s=>{s?.data&&t?.events?.onMessage&&t.events.onMessage(JSON.parse(s.data||{}),i)}),o.addEventListener("close",s=>{t?.options?.logging&&console.log(`[joystick.websockets] Disconnected from ${t?.url}`),t?.events?.onClose&&t.events.onClose(s?.code,s?.reason,i),o=null;let c=[1e3,1001].includes(s?.code);t?.options?.autoReconnect&&!N&&!c&&(N=setInterval(()=>{o=null,J<(t?.options?.reconnectAttempts||12)?(ct(t,e),t?.options?.logging&&console.log(`[joystick.websockets] Attempting to reconnect (${J+1}/12)...`),J+=1):clearInterval(N)},t?.options?.reconnectDelayInSeconds*1e3||5e3))}),e&&e(i),i}catch(r){n("websockets.client",r)}},lt=ct;var dr=(t={},e=null)=>{try{let r=e(t);return r&&p(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.props.compileDefaultProps.compile",r)}},ut=(t={},e={})=>{try{return l(e)?dr(t,e):Object.assign({},e)}catch(r){n("component.props.compileDefaultProps",r)}};var mt=(t={},e={})=>{try{t.options=e||{},t.id=e?._componentId||null,t.instanceId=b(8),t.ssrId=e?._ssrId||null,t.css=at(),t.data=G(e?.dataFromSSR,e?._componentId),t.defaultProps=ut(t,e?.defaultProps),t.props=st(t?.defaultProps,e?.props),t.state=K(t,e?.state),t.events=e?.events||{},t.lifecycle=dt(t,e?.lifecycle),t.methods=W(t,e?.methods),t.wrapper=e?.wrapper||{},t.translations=e?.translations||{},t.validateForm=nt,t.DOMNode=null,t.dom={},t.dom.virtual={},t.dom.actual={};let r=!O();if(r||(t.url=se(e?.url)),r&&window.__joystick_url__&&(t.url=se(window.__joystick_url__)),r&&e?.websockets&&l(e?.websockets)){let o=e.websockets(t),i=p(o)&&Object.entries(o);for(let s=0;s<i?.length;s+=1){let[c,a]=i[s];lt({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/${c}`,options:a?.options||{},query:a?.query||{},events:a?.events||{}},(u={})=>{t.websockets={...t.websockets||{},[c]:u}})}}}catch(r){n("component.registerOptions",r)}};var V=(t="",e=[])=>{try{console.error(`${t} failed with the following errors:`),e.forEach(r=>{console.log(r.message),r.stack&&console.log(r.stack)})}catch(r){n(t,r)}};var Q=(t="{}")=>{try{return JSON.parse(t)}catch{return t}};var pt=(t={})=>Object.entries(t).map(([e,r])=>`${e}=${r}`)?.join("; ");var cr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.get.handleParseResponse",e)}},ft=(t="",e={})=>{try{return typeof window.fetch!="undefined"&&!e?.skip?new Promise((r,o)=>{let i=e.input?JSON.stringify(e.input):null,s=e.output?JSON.stringify(e.output):null,c=`${window.location.origin}/api/_getters/${t}?input=${i}&output=${s}`,a=document.querySelector('[name="csrf"]')?.getAttribute("content"),u={...e?.headers||{},"x-joystick-csrf":a};return window?.__joystick_test__&&(u.Cookie=pt({joystickLoginToken:window.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expires_at__})),fetch(c,{method:"GET",mode:"cors",headers:u,credentials:"include"}).then(async y=>{let w=await cr(y);return w?.errors?(V("get request",w.errors),o(w)):r(w)}).catch(y=>(V("get request",[y]),o({errors:[y]})))}):Promise.resolve()}catch(r){n("get request",r)}};var lr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.set.handleParseResponse",e)}},ur=(t={})=>{try{return JSON.stringify(t)}catch(e){n("api.set.getBody",e)}},ht=(t="",e={})=>{try{return typeof window.fetch!="undefined"?new Promise((r,o)=>{let i=`${window.location.origin}/api/_setters/${t}`,s=ur(e),c=document.querySelector('[name="csrf"]')?.getAttribute("content"),a={...e?.headers||{},"Content-Type":"application/json","x-joystick-csrf":c};return window?.__joystick_test__&&(a.Cookie=generateCookieHeader({joystickLoginToken:window?.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expirs_at__})),fetch(i,{method:"POST",mode:"cors",headers:a,body:s,credentials:"include"}).then(async u=>{let y=await lr(u);return y?.errors?(V("set request",y.errors),o(y)):r(y)}).catch(u=>(V("set request",[u]),o({errors:[u]})))}):Promise.resolve()}catch(r){n("set request",r)}};var wt={get:ft,set:ht};var mr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("addToQueue.getQueue",e)}},H=(t="",e=null)=>{try{O()||(mr(t)||{}).array.push({callback:e})}catch(r){n("addToQueue",r)}};var Y=async(t={},e={},r={},o={})=>{try{if(o?.options?.data&&l(o.options.data)){let i=await o.options.data(t,e,r,o);return Promise.resolve(i)}return Promise.resolve()}catch(i){n("component.data.fetch",i)}};var yt=(t={},e={},r={})=>{try{return{...t,refetch:async(o={})=>{C(`ui.${r?.options?.test?.name||b()}.data.refetch`,[o]);let i=await Y(wt,e,o,r);return r.data=yt(i,e,r),window.__joystick_data__[r?.id]&&(window.__joystick_data__[r?.id]=i),window?.__joystick_test__||r.render({afterRefetchDataRender:()=>{r?.lifecycle?.onRefetchData&&r?.lifecycle?.onRefetchData(r)}}),r.data}}}catch(o){n("component.data.compile",o)}},gt=yt;var xt=(t={})=>{try{if(!O()){let e=window.__joystick_data__&&window.__joystick_data__[t?.id]||{},r=window.__joystick_req__||{};return gt(e,r,t)}return t?.data||{}}catch(e){n("component.loadDataFromWindow",e)}};var kt=nr(bt());var $t=(t={},e="",r="id")=>{try{let o=t&&t.id;if(p(t)&&o){let i=Object.keys(t);for(let s=0;s<i.length;s+=1){let c=i[s],a=t[c];if(c===r&&a===e)return t;if(c==="children"&&Array.isArray(a))for(let u=0;u<a.length;u+=1){let y=a[u],w=$t(y,e,r);if(w!==null)return w}}}return null}catch(o){n("component.findComponentInTreeByField",o)}},A=$t;var Ft=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.children=[...o.children||[],e])};var pr=(t={},e={},r=null)=>{try{let o=U(t,{includeActual:!0,existingChildren:r});return t.dom=o,t.setDOMNodeOnInstance(),e.renderedComponent=t,o.html.wrapped}catch(o){n("component.renderMethods.component.renderForClient",o)}},fr=(t={})=>{try{return t.renderToHTML({ssrTree:t.parent.ssrTree,translations:t.parent.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t.parent?.dataFromSSR}).wrapped}catch(e){n("component.renderMethods.component.renderToHTMLForSSR",e)}},hr=(t={})=>{try{return t.parent.ssrTree.dataFunctions.push(async()=>{try{let e=await t.options.data(t.parent.options.api,t.parent.options.req);return t.data=e||{},{componentId:t.id,ssrId:t.ssrId,data:e}}catch(e){return{componentId:t.id,ssrId:t.ssrId,data:null,error:e}}}),t.renderToHTML({ssrTree:t?.parent?.ssrTree,translations:t?.parent?.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t?.parent?.dataFromSSR})}catch(e){n("component.renderMethods.component.collectDataFunctionsForSSR",e)}},wr=(t={})=>{try{let e={id:t.id,instanceId:t.instanceId,instance:t,children:[]};Ft(t.parent.instanceId,e,t.parent&&t.parent.ssrTree||null)}catch(e){n("component.renderMethods.component.handleAddComponentToParent",e)}},yr=(t={},e={})=>{try{!t.renderedComponent&&e.options&&e.options.lifecycle&&(e.options.lifecycle.onBeforeMount&&H("lifecycle.onBeforeMount",()=>{e.options.lifecycle.onBeforeMount(e),C(`ui.${e?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[e])}),!t.renderedComponent&&e.options.lifecycle.onMount&&H("lifecycle.onMount",()=>{e.options.lifecycle.onMount(e),C(`ui.${e?.options?.test?.name||b()}.lifecycle.onMount`,[e])}))}catch(r){n("component.renderMethods.component.handleLifecycle",r)}},gr=(t={},e={},r={})=>{try{!e.walkingTreeForSSR&&t?.options?.lifecycle?.onUpdateProps&&(0,kt.diff)(e?.existingPropsMap,r)?.length>0&&H("lifecycle.onUpdateProps",()=>{let i=e?.existingPropsMap&&e?.existingPropsMap[t.id];t.options.lifecycle.onUpdateProps(i||{},r,t),C(`ui.${t?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[i||{},r,t])})}catch(o){n("component.renderMethods.component.handleOnChangeProps",o)}},xr=function(){return function(e=null,r={},o={}){let i=e({props:r,url:o.url,translations:o.translations,api:o.options.api,req:o.options.req,dataFromSSR:o?.dataFromSSR,parent:o}),s=o?.existingStateMap[i.id]||{},c=o.children[i.id]||[],a=s[c?.length];return i.state=a?.state||i.state,o.children[i.id]=[...o.children[i.id]||[],i],i.parent=o,gr(i,o,r),H("lifecycle.onMount",()=>{i.setDOMNodeOnInstance()}),yr(this,i),i.parent&&wr(i),i.options.data&&i.parent.walkingTreeForSSR&&i.parent.ssrTree.dataFunctions?hr(i):i.parent&&i.parent.ssrTree?fr(i):pr(i,this,a?.children)}},br=function(e,r){try{let o=this;return new xr().bind({})(e,r,o)}catch(o){n("component.renderMethods.component",o)}},ae=br;var $r=function(e=[],r=null){try{return l(r)&&e&&Array.isArray(e)?e.map((o,i)=>r(o,i)).join(""):""}catch(o){n("component.renderMethods.each",o)}},de=$r;var Fr=(t="",e=[])=>{try{return e.reduce((r,[o,i])=>r.replace(`{{${o}}}`,i),t)}catch(r){n("component.renderMethods.i18n.replacePlaceholdersInString",r)}},ce=(t="",e=[])=>{try{let r=typeof t=="string",o=Array.isArray(t),i=typeof t=="object"&&!o;if(r)return Fr(t,e);if(o)return t?.map(s=>ce(s,e));if(i)return Object.entries(t)?.reduce((s={},[c,a])=>(s[c]=ce(a,e),s),{})}catch(r){n("component.renderMethods.i18n.handleTranslationReplacement",r)}},kr=(t="",e={})=>{try{return t?.split(".").reduce((r,o)=>r[o],e)}catch(r){n("component.renderMethods.i18n.getTranslationAtPath",r)}},Er=function(t="",e={}){try{let r=O()?this.translations:window.__joystick_i18n__,i=t?.includes(".")?kr(t,r):r[t];if(!r||!i)return"";let s=Object.entries(e);return ce(i,s)}catch(r){n("component.renderMethods.i18n",r)}},le=Er;var Mr=function(e=!1,r=""){try{return this?.renderingHTMLWithDataForSSR||e?`<when>${r.trim()}</when>`:"<when> </when>"}catch(o){n("component.renderMethods.when",o)}},ue=Mr;var Et={c:ae,component:ae,e:de,each:de,i:le,i18n:le,w:ue,when:ue};var Mt=(t={},e={})=>{try{return Object.entries(Et).reduce((r,[o,i])=>(r[o]=i.bind({...t,...e}),r),{})}catch(r){n("component.renderMethods.compile",r)}};var St=(t={})=>{try{return Object.entries(t)?.reduce((e={},[r,o]={})=>(e[r]=o?.map((i={})=>({state:i?.state,children:St(i?.children)})),e),{})}catch(e){n("component.render.getExistingStateMap.buildMapForChildren",e)}},Ot=(t={})=>{try{return St(t)}catch(e){n("component.render.getExistingStateMap",e)}};var Tt=new RegExp(/\<\!\-\-(?:.|\n|\r)*?-->/g),Sr=new RegExp(/\n/g);var Or=(t="")=>{try{return(t.match(Tt)||[]).forEach(r=>{t=t.replace(r,"")}),t}catch(e){n("component.render.sanitizeHTML.removeCommentedCode",e)}},vt=(t="")=>{try{let e=`${t}`;return e=Or(e),e}catch(e){n("component.render.sanitizeHTML",e)}};var Ct=(t={},e="")=>{try{let{wrapper:r=null,id:o=null,instanceId:i=null}=t;return`<div ${r?.id?`id="${r.id}" `:""}${r?.classList?`class="${r.classList?.join(" ")}" `:""} js-c="${o}" js-i="${i}">${e}</div>`}catch(r){n("component.render.wrapHTML",r)}};var jt=(t={},e=[])=>{try{let r=[...e],o=Object.entries(t);for(let i=0;i<o?.length;i+=1){let[s,c]=o[i];for(let a=0;a<c?.length;a+=1){let u=c[a];Object.entries(u?.timers)?.length>0&&r.push(...Object.values(u?.timers)),Object.entries(u?.children)?.length>0&&jt(u?.children,r)}}if(r?.length>0)for(let i=0;i<r?.length;i+=1)clearTimeout(r[i])}catch(r){n("component.render.clearTimersOnChildren",r)}},Rt=jt;var ee=(t={},e={})=>{try{e?.dataFromSSR&&(t.data=G(e.dataFromSSR,t.id)||{}),Rt(t?.children);let r=Ot(e?.existingChildren||t?.children)||{};t.children={},t.renderMethods=Mt({...t,existingStateMap:r,translations:e?.translations||t.translations||{},ssrTree:e?.ssrTree,walkingTreeForSSR:e?.walkingTreeForSSR,renderingHTMLWithDataForSSR:e?.renderingHTMLWithDataForSSR,dataFromSSR:e?.dataFromSSR}),t.methods=W(t,t.options.methods);let o=t.options.render({...t||{},setState:t.setState.bind(t),...t.renderMethods||{}}),i=vt(o),s=Ct(t,i);return{unwrapped:i,wrapped:s}}catch(r){n("component.render.toHTML",r)}};var Tr=(t={})=>{try{return Object.values(t).reduce((e={},r)=>(e[r.name]=r.value,e),{})}catch(e){n("component.virtualDOM.build.parseAttributeMap",e)}},At=(t={})=>{try{return t.tagName==="WHEN"?[].flatMap.call(t?.childNodes,e=>e?.tagName==="WHEN"?At(e):me(e)):me(t)}catch(e){n("component.virtualDOM.build.flattenWhenTags",e)}},me=(t={})=>{try{let e=t&&t.tagName&&t.tagName.toLowerCase()||"text",r={tagName:e,attributes:Tr(t.attributes),children:[].flatMap.call(t.childNodes,o=>At(o))};return e==="text"&&(r=t.textContent),r}catch(e){n("component.virtualDOM.build",e)}},z=me;var vr=(t="")=>{try{let e=document.createElement("div");return e.innerHTML=t,e?.childNodes[0]}catch(e){n("component.virtualDOM.build.convertHTMLToDOM",e)}},_t=(t="")=>{try{let e=vr(t);return z(e)}catch(e){n("component.virtualDOM.build",e)}};var Lt=(t="")=>{try{return document.createElement("div").setAttribute(t,"Test"),!0}catch{return!1}};var Cr=(t={})=>{try{let e=document.createElement(t.tagName),r=Object.entries(t.attributes);for(let o=0;o<r.length;o+=1){let[i,s]=r[o];Lt(i)&&e.setAttribute(i,s)}for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(i){let s=Dt(i);e.appendChild(s)}}return e}catch(e){n("component.virtualDOM.renderTreeToDOM.renderElement",e)}},Dt=(t=null)=>{try{return R(t)?document.createTextNode(t):Cr(t)}catch(e){n("component.virtualDOM.renderTreeToDOM",e)}},q=Dt;var U=(t={},e={})=>{try{let r=ee(t,{existingChildren:e?.existingChildren}),o=_t(r.wrapped,t),i=e.includeActual&&o?q(o):null;return{html:r,virtual:o,actual:i}}catch(r){n("component.render.getUpdatedDOM",r)}};var Pt=(t={},e={})=>{try{let r=U(t,{includeActual:!0,existingChildren:e?.existingChildren});return t.dom=r,r.actual}catch(r){n("component.render.forMount",r)}};var jr=(t={},e={})=>{let r=[];for(let[o,i]of Object.entries(e))r.push(s=>(s&&s.setAttribute&&s.setAttribute(o,i),s));for(let o in t)o in e||r.push(i=>(i&&i.removeAttribute&&i.removeAttribute(o),i));return o=>{for(let i of r)i&&typeof i=="function"&&i(o)}},te=jr;var Rr=(t=[],e=[])=>{let r=[],o=Math.max(t.length,e.length);for(let i=0;i<o;i+=1){let s=t[i],c=e[i];r.push([s,c])}return r},It=Rr;var Ar=(t=[],e)=>{t.forEach(r=>{r&&typeof r=="function"&&r(e)})},_r=(t=[])=>{t.forEach(([e,r])=>{e&&typeof e=="function"&&e(r)})},Lr=(t=[],e=[])=>{let r=[];return e.slice(t.length).forEach(i=>{let s=c=>{let a=q(i);return c.appendChild(a),c};r.push(s)}),r},Dr=(t=[],e=[])=>{let r=[];return t.forEach((o,i)=>{let s=oe(o,e[i]);r.push(s)}),r},Pr=(t=[],e=[])=>{let r=Dr(t,e),o=Lr(t,e);return i=>{if(i){let s=It(r,i.childNodes);_r(s),Ar(o,i)}return i}},re=Pr;var Nt={select:(t,e)=>r=>{let o=r.value;r.replaceChildren(),te(t.attributes,e.attributes)(r),re([],e.children)(r);let i=r.querySelector(`option[value="${o}"]`);if(i&&(r.value=o),!i){let s=r.querySelector("option");r.value=s?.value||""}return r}};var pe=(t,e)=>r=>{let o=t?q(t):null;return r&&r.replaceWith(o),o},Ir=()=>t=>{t&&t.remove()},Nr=(t=void 0,e=void 0)=>t===void 0||e===void 0?Ir():typeof t=="string"||typeof e=="string"?pe(e,t):t.tagName!==e.tagName?pe(e):e.tagName==="select"?Nt.select(t,e):["pre","code"].includes(e.tagName)?pe(e,t):i=>(te(t.attributes,e.attributes)(i),re(t.children,e.children)(i),i),oe=Nr;var Vr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("processQueue.getQueue",e)}},Z=(t="",e=null)=>{try{O()||(Vr(t)||{}).process(e)}catch(r){n("processQueue",r)}};var Vt=(t="",e=null)=>{let r=A(e||window.joystick._internal.tree,t,"instanceId");r&&(r.children=[])};var Ut=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.instanceId=e?.instanceId,o.instance=e)};var qt=(t={},e="",r={})=>{for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(p(i)&&i.attributes&&i.attributes["js-i"]&&i.attributes["js-i"]===e){t.children[o]=r;break}p(i)&&qt(i,e,r)}},Ht=qt;var zt=(t={})=>{try{return Object.entries(t).map(([e,r])=>{let[o,...i]=e.split(" ");return{type:o.toLowerCase(),selector:i.join(" "),handler:r}})}catch(e){n("component.events.serialize",e)}};var Zt=(t={},e={},r=[])=>{try{let o=Object.keys(t?.events||{})?.length>0?zt(t?.events):[];for(let i=0;i<o?.length;i+=1){let s=o[i];r.push({...s,instance:t,elements:document.querySelectorAll(`body [js-i="${t.instanceId}"] ${s?.selector}`),handler:function(a){s.handler(a,{...t||{},setState:t?.setState.bind(t),...e||{}}),C(`ui.${t?.options?.test?.name||b()}.events.${s.type}.${s?.selector}`,[a,{...t||{},setState:t?.setState.bind(t),...e||{}}])}})}if(t?.children){let i=Object.entries(t?.children)?.flatMap(([s,c])=>c);for(let s=0;s<i?.length;s+=1){let c=i[s];Zt(c,e,r)}}return r}catch(o){n("component.eve!nts.registerListenersFix.getListeners",o)}},Ur=(t={},e={})=>{try{let o=Zt(t,e,[])?.flatMap((i={})=>[].flatMap.call(i?.elements||[],s=>{let{elements:c=[],...a}=i||{};return{...a,element:s}}));for(let i=0;i<o?.length;i+=1){let{instance:s,element:c,elementSelector:a,type:u,handler:y}=o[i];c.addEventListener(u,y),s._eventListeners=[...s?._eventListeners||[],{instance:s,element:c,elementSelector:a,type:u,handler:y}]}}catch(r){n("component.events.registerListenersFix",r)}},Bt=Ur;var Gt=(t={})=>{try{let e=t?._eventListeners||[];if(t?.children){let o=(Object.values(t?.children||{})?.reduce((i=[],s=[])=>[...i,...s],[])).flatMap((i={})=>Gt(i));e=[...e,...o]}return e}catch(e){n("component.events.unregisterListenersFix.getListeners",e)}},qr=(t={})=>{try{let e=Gt(t);for(let r=0;r<e?.length;r+=1){let{instance:o,element:i,type:s,handler:c}=e[r];i.removeEventListener(s,c),o._eventListeners=o._eventListeners?.splice(r,1)}}catch(e){n("component.events.unregisterListenersFix",e)}},Kt=qr;var Wt=class{constructor(e={}){this.parent=e?.parent||null,this.onUpdateChildComponent=this.handleUpdateChildComponentInVDOM,this.updateVirtualDOM=this.handleUpdateVirtualDOM,this.timers={},this.children={},Ce(e),mt(this,e),this.data=xt(this)}setDOMNodeOnInstance(){this.DOMNode=document.querySelector(`body [js-i="${this.instanceId}"]`)}async handleFetchData(e={},r={},o={},i=this){let s=await Y(e,r,o,i);return this.data=s,s}handleGetInstance(){return this}handleUpdateVirtualDOM(){if(this.DOMNode){let r=z(this.DOMNode);this.dom.virtual=r}let e=this.parent?A(window.joystick._internal.tree,this.parent?.instanceId,"instanceId"):null;e?.instance&&e.instance.updateVirtualDOM()}onBeforeRender(){if(!O())return{instanceId:this.instanceId}}render(e={}){if(C(`ui.${this?.options?.test?.name||b()}.render`,[e]),e?.mounting)return Pt(this,e);let r=this.onBeforeRender();Kt(this),Vt(this.instanceId);let o=U(this,{}),i=oe(this.dom.virtual,o.virtual);i&&l(i)&&Z("lifecycle.onBeforeMount",()=>{let s=i(this.DOMNode);this.dom.actual=s,this.dom.virtual=o.virtual,Bt(this,this.renderMethods),this.setDOMNodeOnInstance(),Z("domNodes",()=>{Z("lifecycle.onMount",()=>{this.onAfterRender(r,e)})})})}renderToHTML(e={}){return ee(this,e)}onAfterRender(e={},r={}){O()||(Ut(e.instanceId,this),window.joystick._internal.css.update(),Z("lifecycle.onUpdateProps"),r?.afterSetStateRender&&l(r.afterSetStateRender)&&r.afterSetStateRender(),r?.afterRefetchDataRender&&l(r.afterRefetchDataRender)&&r.afterRefetchDataRender(),this.parent&&this.parent.onUpdateChildComponent(this.id,this.instanceId))}setState(e={},r=null){this.state=K(this,{...this.state||{},...e}),this.render({afterSetStateRender:()=>{r&&l(r)&&r()}})}setTimeout(e=null,r=0){e&&(this.timers[b()]=window.setTimeout(e,r))}setInterval(e=null,r=0){e&&(this.timers[b()]=window.setInterval(e,r))}handleUpdateChildComponentInVDOM(e="",r=""){let o=A(window.joystick._internal.tree,this.instanceId,"instanceId"),i=A(window.joystick._internal.tree,r,"instanceId");if(i?.instance?.DOMNode){let s=z(i?.instance?.DOMNode);Ht(o?.instance?.dom?.virtual,i?.instanceId,s)}}},pd=Wt;export{pd as default};
21
+ `}}return r}return""}catch(r){n("component.css.compileCSS",r)}};var dr=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.state.compile.compileState",r)}},K=(t={},e={})=>{try{return l(e)?dr(t,e):Object.assign({},e)}catch(r){n("component.state.compile",r)}};var ne={onBeforeMount:()=>null,onMount:()=>null,onBeforeUnmount:()=>null,onUpdateProps:()=>null,onRefetchData:()=>null};var ct=(t={},e={})=>{try{return e?Object.entries({...ne,...e||{}}).reduce((r={},[o,i])=>(r[o]=()=>i({...t,setState:t.setState.bind(t),...t.renderMethods||{}}),r),{}):ne}catch(r){n("component.lifecycle.compile",r)}};var j=(t="",e=[])=>{typeof window!="undefined"&&!!window.__joystick_test__&&(window.test={...window.test||{},functionCalls:{...window?.test?.functionCalls||{},[t]:[...window?.test?.functionCalls&&window?.test?.functionCalls[t]||[],{calledAt:new Date().toISOString(),args:e}]}})};var W=(t={},e={})=>{try{return Object.entries(e).reduce((r={},[o,i])=>(r[o]=(...s)=>(j(`ui.${t?.options?.test?.name||b()}.methods.${o}`,[...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}}]),i(...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}})),r),{})}catch{n("component.methods.compile")}};var se=(t={})=>{try{return{...t,query:{...t?.query||{},set:(e="",r="")=>{if(typeof window!="undefined"){let o=new URL(window.location);o.searchParams.append(e,r),window.history.pushState({},"",o)}},unset:(e="")=>{if(typeof window!="undefined"){let r=new URL(window.location);r.searchParams.delete(e),window.history.pushState({},"",r)}}},isActive:(e="")=>O(e)&&t?.route!=="*"?e===(typeof location!="undefined"?location.pathname:t.path):!1}}catch(e){n("component.url.compile",e)}};var T=()=>typeof window=="undefined";var N=null,J=0,lt=(t={},e=null)=>{try{let r=t?.url;t?.query&&(r=`${r}?${new URLSearchParams(t.query).toString()}`);let o=new WebSocket(r);N&&(clearInterval(N),N=null);let i={client:o,send:(s={})=>o.send(JSON.stringify(s))};return o.addEventListener("open",()=>{t?.options?.logging&&console.log(`[joystick.websockets] Connected to ${t?.url}`),t?.events?.onOpen&&t.events.onOpen(i),J=0}),o.addEventListener("message",s=>{s?.data&&t?.events?.onMessage&&t.events.onMessage(JSON.parse(s.data||{}),i)}),o.addEventListener("close",s=>{t?.options?.logging&&console.log(`[joystick.websockets] Disconnected from ${t?.url}`),t?.events?.onClose&&t.events.onClose(s?.code,s?.reason,i),o=null;let c=[1e3,1001].includes(s?.code);t?.options?.autoReconnect&&!N&&!c&&(N=setInterval(()=>{o=null,J<(t?.options?.reconnectAttempts||12)?(lt(t,e),t?.options?.logging&&console.log(`[joystick.websockets] Attempting to reconnect (${J+1}/12)...`),J+=1):clearInterval(N)},t?.options?.reconnectDelayInSeconds*1e3||5e3))}),e&&e(i),i}catch(r){n("websockets.client",r)}},mt=lt;var cr=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.props.compileDefaultProps.compile",r)}},ut=(t={},e={})=>{try{return l(e)?cr(t,e):Object.assign({},e)}catch(r){n("component.props.compileDefaultProps",r)}};var pt=(t={},e={})=>{try{t.options=e||{},t.id=e?._componentId||null,t.instanceId=b(8),t.ssrId=e?._ssrId||null,t.css=dt(),t.data=G(e?.dataFromSSR,e?._componentId),t.defaultProps=ut(t,e?.defaultProps),t.props=at(t?.defaultProps,e?.props),t.state=K(t,e?.state),t.events=e?.events||{},t.lifecycle=ct(t,e?.lifecycle),t.methods=W(t,e?.methods),t.wrapper=e?.wrapper||{},t.translations=e?.translations||{},t.validateForm=st,t.DOMNode=null,t.dom={},t.dom.virtual={},t.dom.actual={};let r=!T();if(r||(t.url=se(e?.url)),r&&window.__joystick_url__&&(t.url=se(window.__joystick_url__)),r&&e?.websockets&&l(e?.websockets)){let o=e.websockets(t),i=m(o)&&Object.entries(o);for(let s=0;s<i?.length;s+=1){let[c,a]=i[s];mt({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/${c}`,options:a?.options||{},query:a?.query||{},events:a?.events||{}},(u={})=>{t.websockets={...t.websockets||{},[c]:u}})}}}catch(r){n("component.registerOptions",r)}};var V=(t="",e=[])=>{try{console.error(`${t} failed with the following errors:`),e.forEach(r=>{console.log(r.message),r.stack&&console.log(r.stack)})}catch(r){n(t,r)}};var Q=(t="{}")=>{try{return JSON.parse(t)}catch{return t}};var ft=(t={})=>Object.entries(t).map(([e,r])=>`${e}=${r}`)?.join("; ");var lr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.get.handleParseResponse",e)}},ht=(t="",e={})=>{try{return typeof window.fetch!="undefined"&&!e?.skip?new Promise((r,o)=>{let i=e.input?JSON.stringify(e.input):null,s=e.output?JSON.stringify(e.output):null,c=`${window.location.origin}/api/_getters/${t}?input=${i}&output=${s}`,a=document.querySelector('[name="csrf"]')?.getAttribute("content"),u={...e?.headers||{},"x-joystick-csrf":a};return window?.__joystick_test__&&(u.Cookie=ft({joystickLoginToken:window.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expires_at__})),fetch(c,{method:"GET",mode:"cors",headers:u,credentials:"include"}).then(async y=>{let w=await lr(y);return w?.errors?(V("get request",w.errors),o(w)):r(w)}).catch(y=>(V("get request",[y]),o({errors:[y]})))}):Promise.resolve()}catch(r){n("get request",r)}};var mr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.set.handleParseResponse",e)}},ur=(t={})=>{try{return JSON.stringify(t)}catch(e){n("api.set.getBody",e)}},wt=(t="",e={})=>{try{return typeof window.fetch!="undefined"?new Promise((r,o)=>{let i=`${window.location.origin}/api/_setters/${t}`,s=ur(e),c=document.querySelector('[name="csrf"]')?.getAttribute("content"),a={...e?.headers||{},"Content-Type":"application/json","x-joystick-csrf":c};return window?.__joystick_test__&&(a.Cookie=generateCookieHeader({joystickLoginToken:window?.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expirs_at__})),fetch(i,{method:"POST",mode:"cors",headers:a,body:s,credentials:"include"}).then(async u=>{let y=await mr(u);return y?.errors?(V("set request",y.errors),o(y)):r(y)}).catch(u=>(V("set request",[u]),o({errors:[u]})))}):Promise.resolve()}catch(r){n("set request",r)}};var yt={get:ht,set:wt};var pr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("addToQueue.getQueue",e)}},H=(t="",e=null)=>{try{T()||(pr(t)||{}).array.push({callback:e})}catch(r){n("addToQueue",r)}};var Y=async(t={},e={},r={},o={})=>{try{if(o?.options?.data&&l(o.options.data)){let i=await o.options.data(t,e,r,o);return Promise.resolve(i)}return Promise.resolve()}catch(i){n("component.data.fetch",i)}};var gt=(t={},e={},r={})=>{try{return{...t,refetch:async(o={})=>{j(`ui.${r?.options?.test?.name||b()}.data.refetch`,[o]);let i=await Y(yt,e,o,r);return r.data=gt(i,e,r),window.__joystick_data__[r?.id]&&(window.__joystick_data__[r?.id]=i),window?.__joystick_test__||r.render({afterRefetchDataRender:()=>{r?.lifecycle?.onRefetchData&&r?.lifecycle?.onRefetchData(r)}}),r.data}}}catch(o){n("component.data.compile",o)}},xt=gt;var bt=(t={})=>{try{if(!T()){let e=window.__joystick_data__&&window.__joystick_data__[t?.id]||{},r=window.__joystick_req__||{};return xt(e,r,t)}return t?.data||{}}catch(e){n("component.loadDataFromWindow",e)}};var Et=sr($t());var Ft=(t={},e="",r="id")=>{try{let o=t&&t.id;if(m(t)&&o){let i=Object.keys(t);for(let s=0;s<i.length;s+=1){let c=i[s],a=t[c];if(c===r&&a===e)return t;if(c==="children"&&Array.isArray(a))for(let u=0;u<a.length;u+=1){let y=a[u],w=Ft(y,e,r);if(w!==null)return w}}}return null}catch(o){n("component.findComponentInTreeByField",o)}},A=Ft;var kt=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.children=[...o.children||[],e])};var fr=(t={},e={},r=null)=>{try{let o=U(t,{includeActual:!0,existingChildren:r});return t.dom=o,t.setDOMNodeOnInstance(),e.renderedComponent=t,o.html.wrapped}catch(o){n("component.renderMethods.component.renderForClient",o)}},hr=(t={})=>{try{return t.renderToHTML({ssrTree:t.parent.ssrTree,translations:t.parent.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t.parent?.dataFromSSR}).wrapped}catch(e){n("component.renderMethods.component.renderToHTMLForSSR",e)}},wr=(t={})=>{try{return t.parent.ssrTree.dataFunctions.push(async()=>{try{let e=await t.options.data(t.parent.options.api,t.parent.options.req);return t.data=e||{},{componentId:t.id,ssrId:t.ssrId,data:e}}catch(e){return{componentId:t.id,ssrId:t.ssrId,data:null,error:e}}}),t.renderToHTML({ssrTree:t?.parent?.ssrTree,translations:t?.parent?.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t?.parent?.dataFromSSR})}catch(e){n("component.renderMethods.component.collectDataFunctionsForSSR",e)}},yr=(t={})=>{try{let e={id:t.id,instanceId:t.instanceId,instance:t,children:[]};kt(t.parent.instanceId,e,t.parent&&t.parent.ssrTree||null)}catch(e){n("component.renderMethods.component.handleAddComponentToParent",e)}},gr=(t={},e={})=>{try{!t.renderedComponent&&e.options&&e.options.lifecycle&&(e.options.lifecycle.onBeforeMount&&H("lifecycle.onBeforeMount",()=>{e.options.lifecycle.onBeforeMount(e),j(`ui.${e?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[e])}),!t.renderedComponent&&e.options.lifecycle.onMount&&H("lifecycle.onMount",()=>{e.options.lifecycle.onMount(e),j(`ui.${e?.options?.test?.name||b()}.lifecycle.onMount`,[e])}))}catch(r){n("component.renderMethods.component.handleLifecycle",r)}},xr=(t={},e={},r={})=>{try{!e.walkingTreeForSSR&&t?.options?.lifecycle?.onUpdateProps&&(0,Et.diff)(e?.existingPropsMap,r)?.length>0&&H("lifecycle.onUpdateProps",()=>{let i=e?.existingPropsMap&&e?.existingPropsMap[t.id];t.options.lifecycle.onUpdateProps(i||{},r,t),j(`ui.${t?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[i||{},r,t])})}catch(o){n("component.renderMethods.component.handleOnChangeProps",o)}},br=function(){return function(e=null,r={},o={}){let i=e({props:r,url:o.url,translations:o.translations,api:o.options.api,req:o.options.req,dataFromSSR:o?.dataFromSSR,parent:o}),s=o?.existingStateMap[i.id]||{},c=o.children[i.id]||[],a=s[c?.length];return i.state=a?.state||i.state,o.children[i.id]=[...o.children[i.id]||[],i],i.parent=o,xr(i,o,r),H("lifecycle.onMount",()=>{i.setDOMNodeOnInstance()}),gr(this,i),i.parent&&yr(i),i.options.data&&i.parent.walkingTreeForSSR&&i.parent.ssrTree.dataFunctions?wr(i):i.parent&&i.parent.ssrTree?hr(i):fr(i,this,a?.children)}},$r=function(e,r){try{let o=this;return new br().bind({})(e,r,o)}catch(o){n("component.renderMethods.component",o)}},ae=$r;var Fr=function(e=[],r=null){try{return l(r)&&e&&Array.isArray(e)?e.map((o,i)=>r(o,i)).join(""):""}catch(o){n("component.renderMethods.each",o)}},de=Fr;var kr=(t="",e=[])=>{try{return e.reduce((r,[o,i])=>r.replace(`{{${o}}}`,i),t)}catch(r){n("component.renderMethods.i18n.replacePlaceholdersInString",r)}},ce=(t="",e=[])=>{try{let r=typeof t=="string",o=Array.isArray(t),i=typeof t=="object"&&!o;if(r)return kr(t,e);if(o)return t?.map(s=>ce(s,e));if(i)return Object.entries(t)?.reduce((s={},[c,a])=>(s[c]=ce(a,e),s),{})}catch(r){n("component.renderMethods.i18n.handleTranslationReplacement",r)}},Er=(t="",e={})=>{try{return t?.split(".").reduce((r,o)=>r[o],e)}catch(r){n("component.renderMethods.i18n.getTranslationAtPath",r)}},Mr=function(t="",e={}){try{let r=T()?this.translations:window.__joystick_i18n__,i=t?.includes(".")?Er(t,r):r[t];if(!r||!i)return"";let s=Object.entries(e);return ce(i,s)}catch(r){n("component.renderMethods.i18n",r)}},le=Mr;var Sr=function(e=!1,r=""){try{return this?.renderingHTMLWithDataForSSR||e?`<when>${r.trim()}</when>`:"<when> </when>"}catch(o){n("component.renderMethods.when",o)}},me=Sr;var Mt={c:ae,component:ae,e:de,each:de,i:le,i18n:le,w:me,when:me};var St=(t={},e={})=>{try{return Object.entries(Mt).reduce((r,[o,i])=>(r[o]=i.bind({...t,...e}),r),{})}catch(r){n("component.renderMethods.compile",r)}};var Ot=(t={})=>{try{return Object.entries(t)?.reduce((e={},[r,o]={})=>(e[r]=o?.map((i={})=>({state:i?.state,children:Ot(i?.children)})),e),{})}catch(e){n("component.render.getExistingStateMap.buildMapForChildren",e)}},Tt=(t={})=>{try{return Ot(t)}catch(e){n("component.render.getExistingStateMap",e)}};var Ct=new RegExp(/\<\!\-\-(?:.|\n|\r)*?-->/g),Or=new RegExp(/\n/g);var Tr=(t="")=>{try{return(t.match(Ct)||[]).forEach(r=>{t=t.replace(r,"")}),t}catch(e){n("component.render.sanitizeHTML.removeCommentedCode",e)}},vt=(t="")=>{try{let e=`${t}`;return e=Tr(e),e}catch(e){n("component.render.sanitizeHTML",e)}};var jt=(t={},e="")=>{try{let{wrapper:r=null,id:o=null,instanceId:i=null}=t;return`<div ${r?.id?`id="${r.id}" `:""}${r?.classList?`class="${r.classList?.join(" ")}" `:""} js-c="${o}" js-i="${i}">${e}</div>`}catch(r){n("component.render.wrapHTML",r)}};var Rt=(t={},e=[])=>{try{let r=[...e],o=Object.entries(t);for(let i=0;i<o?.length;i+=1){let[s,c]=o[i];for(let a=0;a<c?.length;a+=1){let u=c[a];Object.entries(u?.timers)?.length>0&&r.push(...Object.values(u?.timers)),Object.entries(u?.children)?.length>0&&Rt(u?.children,r)}}if(r?.length>0)for(let i=0;i<r?.length;i+=1)clearTimeout(r[i])}catch(r){n("component.render.clearTimersOnChildren",r)}},At=Rt;var ee=(t={},e={})=>{try{e?.dataFromSSR&&(t.data=G(e.dataFromSSR,t.id)||{}),At(t?.children);let r=Tt(e?.existingChildren||t?.children)||{};t.children={},t.renderMethods=St({...t,existingStateMap:r,translations:e?.translations||t.translations||{},ssrTree:e?.ssrTree,walkingTreeForSSR:e?.walkingTreeForSSR,renderingHTMLWithDataForSSR:e?.renderingHTMLWithDataForSSR,dataFromSSR:e?.dataFromSSR}),t.methods=W(t,t.options.methods);let o=t.options.render({...t||{},setState:t.setState.bind(t),...t.renderMethods||{}}),i=vt(o),s=jt(t,i);return{unwrapped:i,wrapped:s}}catch(r){n("component.render.toHTML",r)}};var Cr=(t={})=>{try{return Object.values(t).reduce((e={},r)=>(e[r.name]=r.value,e),{})}catch(e){n("component.virtualDOM.build.parseAttributeMap",e)}},_t=(t={})=>{try{return t.tagName==="WHEN"?[].flatMap.call(t?.childNodes,e=>e?.tagName==="WHEN"?_t(e):ue(e)):ue(t)}catch(e){n("component.virtualDOM.build.flattenWhenTags",e)}},ue=(t={})=>{try{let e=t&&t.tagName&&t.tagName.toLowerCase()||"text",r={tagName:e,attributes:Cr(t.attributes),children:[].flatMap.call(t.childNodes,o=>_t(o))};return e==="text"&&(r=t.textContent),r}catch(e){n("component.virtualDOM.build",e)}},z=ue;var vr=(t="")=>{try{let e=document.createElement("div");return e.innerHTML=t,e?.childNodes[0]}catch(e){n("component.virtualDOM.build.convertHTMLToDOM",e)}},Lt=(t="")=>{try{let e=vr(t);return z(e)}catch(e){n("component.virtualDOM.build",e)}};var Dt=(t="")=>{try{return document.createElement("div").setAttribute(t,"Test"),!0}catch{return!1}};var jr=(t={})=>{try{let e=document.createElement(t.tagName),r=Object.entries(t.attributes);for(let o=0;o<r.length;o+=1){let[i,s]=r[o];Dt(i)&&e.setAttribute(i,s)}for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(i){let s=Pt(i);e.appendChild(s)}}return e}catch(e){n("component.virtualDOM.renderTreeToDOM.renderElement",e)}},Pt=(t=null)=>{try{return O(t)?document.createTextNode(t):jr(t)}catch(e){n("component.virtualDOM.renderTreeToDOM",e)}},q=Pt;var U=(t={},e={})=>{try{let r=ee(t,{existingChildren:e?.existingChildren}),o=Lt(r.wrapped,t),i=e.includeActual&&o?q(o):null;return{html:r,virtual:o,actual:i}}catch(r){n("component.render.getUpdatedDOM",r)}};var It=(t={},e={})=>{try{let r=U(t,{includeActual:!0,existingChildren:e?.existingChildren});return t.dom=r,r.actual}catch(r){n("component.render.forMount",r)}};var Rr=(t={},e={})=>{let r=[];for(let[o,i]of Object.entries(e))r.push(s=>(s&&s.setAttribute&&s.setAttribute(o,i),s));for(let o in t)o in e||r.push(i=>(i&&i.removeAttribute&&i.removeAttribute(o),i));return o=>{for(let i of r)i&&typeof i=="function"&&i(o)}},te=Rr;var Ar=(t=[],e=[])=>{let r=[],o=Math.max(t.length,e.length);for(let i=0;i<o;i+=1){let s=t[i],c=e[i];r.push([s,c])}return r},Nt=Ar;var _r=(t=[],e)=>{t.forEach(r=>{r&&typeof r=="function"&&r(e)})},Lr=(t=[])=>{t.forEach(([e,r])=>{e&&typeof e=="function"&&e(r)})},Dr=(t=[],e=[])=>{let r=[];return e.slice(t.length).forEach(i=>{let s=c=>{let a=q(i);return c.appendChild(a),c};r.push(s)}),r},Pr=(t=[],e=[])=>{let r=[];return t.forEach((o,i)=>{let s=oe(o,e[i]);r.push(s)}),r},Ir=(t=[],e=[])=>{let r=Pr(t,e),o=Dr(t,e);return i=>{if(i){let s=Nt(r,i.childNodes);Lr(s),_r(o,i)}return i}},re=Ir;var Vt={select:(t,e)=>r=>{let o=r.value;r.replaceChildren(),te(t.attributes,e.attributes)(r),re([],e.children)(r);let i=r.querySelector(`option[value="${o}"]`);if(i&&(r.value=o),!i){let s=r.querySelector("option");r.value=s?.value||""}return r}};var pe=(t,e)=>r=>{let o=t?q(t):null;return r&&r.replaceWith(o),o},Nr=()=>t=>{t&&t.remove()},Vr=(t=void 0,e=void 0)=>t===void 0||e===void 0?Nr():typeof t=="string"||typeof e=="string"?pe(e,t):t.tagName!==e.tagName?pe(e):e.tagName==="select"?Vt.select(t,e):["pre","code"].includes(e.tagName)?pe(e,t):i=>(te(t.attributes,e.attributes)(i),re(t.children,e.children)(i),i),oe=Vr;var Ur=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("processQueue.getQueue",e)}},Z=(t="",e=null)=>{try{T()||(Ur(t)||{}).process(e)}catch(r){n("processQueue",r)}};var Ut=(t="",e=null)=>{let r=A(e||window.joystick._internal.tree,t,"instanceId");r&&(r.children=[])};var qt=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.instanceId=e?.instanceId,o.instance=e)};var Ht=(t={},e="",r={})=>{for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(m(i)&&i.attributes&&i.attributes["js-i"]&&i.attributes["js-i"]===e){t.children[o]=r;break}m(i)&&Ht(i,e,r)}},zt=Ht;var Zt=(t={})=>{try{return Object.entries(t).map(([e,r])=>{let[o,...i]=e.split(" ");return{type:o.toLowerCase(),selector:i.join(" "),handler:r}})}catch(e){n("component.events.serialize",e)}};var Bt=(t={},e={},r=[])=>{try{let o=Object.keys(t?.events||{})?.length>0?Zt(t?.events):[];for(let i=0;i<o?.length;i+=1){let s=o[i];r.push({...s,instance:t,elements:document.querySelectorAll(`body [js-i="${t.instanceId}"] ${s?.selector}`),handler:function(a){s.handler(a,{...t||{},setState:t?.setState.bind(t),...e||{}}),j(`ui.${t?.options?.test?.name||b()}.events.${s.type}.${s?.selector}`,[a,{...t||{},setState:t?.setState.bind(t),...e||{}}])}})}if(t?.children){let i=Object.entries(t?.children)?.flatMap(([s,c])=>c);for(let s=0;s<i?.length;s+=1){let c=i[s];Bt(c,e,r)}}return r}catch(o){n("component.eve!nts.registerListenersFix.getListeners",o)}},qr=(t={},e={})=>{try{let o=Bt(t,e,[])?.flatMap((i={})=>[].flatMap.call(i?.elements||[],s=>{let{elements:c=[],...a}=i||{};return{...a,element:s}}));for(let i=0;i<o?.length;i+=1){let{instance:s,element:c,elementSelector:a,type:u,handler:y}=o[i];c.addEventListener(u,y),s._eventListeners=[...s?._eventListeners||[],{instance:s,element:c,elementSelector:a,type:u,handler:y}]}}catch(r){n("component.events.registerListenersFix",r)}},Gt=qr;var Kt=(t={})=>{try{let e=t?._eventListeners||[];if(t?.children){let o=(Object.values(t?.children||{})?.reduce((i=[],s=[])=>[...i,...s],[])).flatMap((i={})=>Kt(i));e=[...e,...o]}return e}catch(e){n("component.events.unregisterListenersFix.getListeners",e)}},Hr=(t={})=>{try{let e=Kt(t);for(let r=0;r<e?.length;r+=1){let{instance:o,element:i,type:s,handler:c}=e[r];i.removeEventListener(s,c),o._eventListeners=o._eventListeners?.splice(r,1)}}catch(e){n("component.events.unregisterListenersFix",e)}},Wt=Hr;var Jt=class{constructor(e={}){this.parent=e?.parent||null,this.onUpdateChildComponent=this.handleUpdateChildComponentInVDOM,this.updateVirtualDOM=this.handleUpdateVirtualDOM,this.timers={},this.children={},je(e),pt(this,e),this.data=bt(this)}setDOMNodeOnInstance(){this.DOMNode=document.querySelector(`body [js-i="${this.instanceId}"]`)}async handleFetchData(e={},r={},o={},i=this){let s=await Y(e,r,o,i);return this.data=s,s}handleGetInstance(){return this}handleUpdateVirtualDOM(){if(this.DOMNode){let r=z(this.DOMNode);this.dom.virtual=r}let e=this.parent?A(window.joystick._internal.tree,this.parent?.instanceId,"instanceId"):null;e?.instance&&e.instance.updateVirtualDOM()}onBeforeRender(){if(!T())return{instanceId:this.instanceId}}render(e={}){if(j(`ui.${this?.options?.test?.name||b()}.render`,[e]),e?.mounting)return It(this,e);let r=this.onBeforeRender();Wt(this),Ut(this.instanceId);let o=U(this,{}),i=oe(this.dom.virtual,o.virtual);i&&l(i)&&Z("lifecycle.onBeforeMount",()=>{let s=i(this.DOMNode);this.dom.actual=s,this.dom.virtual=o.virtual,Gt(this,this.renderMethods),this.setDOMNodeOnInstance(),Z("domNodes",()=>{Z("lifecycle.onMount",()=>{this.onAfterRender(r,e)})})})}renderToHTML(e={}){return ee(this,e)}onAfterRender(e={},r={}){T()||(qt(e.instanceId,this),window.joystick._internal.css.update(),Z("lifecycle.onUpdateProps"),r?.afterSetStateRender&&l(r.afterSetStateRender)&&r.afterSetStateRender(),r?.afterRefetchDataRender&&l(r.afterRefetchDataRender)&&r.afterRefetchDataRender(),this.parent&&this.parent.onUpdateChildComponent(this.id,this.instanceId))}setState(e={},r=null){this.state=K(this,{...this.state||{},...e}),this.render({afterSetStateRender:()=>{r&&l(r)&&r()}})}setTimeout(e=null,r=0){e&&(this.timers[b()]=window.setTimeout(e,r))}setInterval(e=null,r=0){e&&(this.timers[b()]=window.setInterval(e,r))}handleUpdateChildComponentInVDOM(e="",r=""){let o=A(window.joystick._internal.tree,this.instanceId,"instanceId"),i=A(window.joystick._internal.tree,r,"instanceId");if(i?.instance?.DOMNode){let s=z(i?.instance?.DOMNode);zt(o?.instance?.dom?.virtual,i?.instanceId,s)}}},gd=Jt;export{gd as default};
@@ -1 +1 @@
1
- var e=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","translations","url","websockets","wrapper"];export{e as default};
1
+ var e=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","test","translations","url","websockets","wrapper"];export{e as default};
@@ -1 +1 @@
1
- var o=(e="",t={})=>{throw new Error(`[joystick${e?`.${e}`:""}] ${t.message||t.reason||t}`)};var p=["render"];var c=(e={})=>{try{return p.every(t=>Object.keys(e).includes(t))}catch(t){o("component.hasAllRequiredOptions",t)}};var l=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","translations","url","websockets","wrapper"];var m=e=>{try{return!!Array.isArray(e)}catch(t){o("types.isArray",t)}};var r=e=>{try{return typeof e=="function"}catch(t){o("types.isFunction",t)}};var i=e=>{try{return!!(e&&typeof e=="object"&&!Array.isArray(e))}catch(t){o("types.isObject",t)}};var s=e=>{try{return typeof e=="string"}catch(t){o("types.isString",t)}};var d=(e=null)=>{try{!s(e)&&!r(e)&&!i(e)&&o("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(t){o("component.optionValidators.css",t)}};var u=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var f=(e=null)=>{try{i(e)||o("component.optionValidators.events","options.events must be an object.");for(let t of Object.keys(e)){let[n]=t.split(" ");u.includes(n)||o("component.optionValidators.events",`${n} is not a supported JavaScript event type.`)}for(let[t,n]of Object.entries(e))r(n)||o("component.optionValidators.events",`options.events.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.events",t)}};var y=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var w=(e=null)=>{try{i(e)||o("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[t,n]of Object.entries(e))y.includes(t)||o("component.optionValidators.lifecycle",`options.lifecycle.${t} is not supported.`),r(n)||o("component.optionValidators.lifecycle",`options.lifecycle.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.lifecycle",t)}};var b=(e=null)=>{try{i(e)||o("component.optionValidators.methods","options.methods must be an object.");for(let[t,n]of Object.entries(e))r(n)||o("component.optionValidators.methods",`options.methods.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.methods",t)}};var h=(e=null)=>{typeof e!="string"&&o("component.optionValidators.name","options.name must be a string.")};var g=(e=null)=>{try{r(e)||o("component.optionValidators.render","options.render must be a function returning a string.")}catch(t){o("component.optionValidators.render",t)}};var x=(e=null)=>{try{r(e)||o("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(t){o("component.optionValidators.websockets",t)}};var k=(e=null)=>{try{i(e)||o("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[t,n]of Object.entries(e))t==="id"&&!s(n)&&o("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned a string.`),t==="classList"&&!m(n)&&o("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned an array of strings.`)}catch(t){o("component.optionValidators.wrapper",t)}};var F={css:d,events:f,lifecycle:w,methods:b,name:h,render:g,websockets:x,wrapper:k};var gt=(e={})=>{try{c(e)||o("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[t,n]of Object.entries(e)){l.includes(t)||o("component.validateOptions",`${t} is not supported by joystick.component.`);let a=F[t];a&&r(a)&&a(n)}}catch(t){o("component.validateOptions",t)}};export{gt as default};
1
+ var o=(e="",t={})=>{throw new Error(`[joystick${e?`.${e}`:""}] ${t.message||t.reason||t}`)};var p=["render"];var c=(e={})=>{try{return p.every(t=>Object.keys(e).includes(t))}catch(t){o("component.hasAllRequiredOptions",t)}};var m=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","test","translations","url","websockets","wrapper"];var l=e=>{try{return!!Array.isArray(e)}catch(t){o("types.isArray",t)}};var r=e=>{try{return typeof e=="function"}catch(t){o("types.isFunction",t)}};var i=e=>{try{return!!(e&&typeof e=="object"&&!Array.isArray(e))}catch(t){o("types.isObject",t)}};var s=e=>{try{return typeof e=="string"}catch(t){o("types.isString",t)}};var d=(e=null)=>{try{!s(e)&&!r(e)&&!i(e)&&o("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(t){o("component.optionValidators.css",t)}};var u=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var f=(e=null)=>{try{i(e)||o("component.optionValidators.events","options.events must be an object.");for(let t of Object.keys(e)){let[n]=t.split(" ");u.includes(n)||o("component.optionValidators.events",`${n} is not a supported JavaScript event type.`)}for(let[t,n]of Object.entries(e))r(n)||o("component.optionValidators.events",`options.events.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.events",t)}};var y=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var b=(e=null)=>{try{i(e)||o("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[t,n]of Object.entries(e))y.includes(t)||o("component.optionValidators.lifecycle",`options.lifecycle.${t} is not supported.`),r(n)||o("component.optionValidators.lifecycle",`options.lifecycle.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.lifecycle",t)}};var w=(e=null)=>{try{i(e)||o("component.optionValidators.methods","options.methods must be an object.");for(let[t,n]of Object.entries(e))r(n)||o("component.optionValidators.methods",`options.methods.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.methods",t)}};var h=(e=null)=>{typeof e!="string"&&o("component.optionValidators.name","options.name must be a string.")};var g=(e=null)=>{try{r(e)||o("component.optionValidators.render","options.render must be a function returning a string.")}catch(t){o("component.optionValidators.render",t)}};var x=(e=null)=>{try{i(e)||o("component.optionValidators.test","options.test must be an object."),e?.name&&!s(e.name)&&o("component.optionValidators.test","options.test.name must be assigned a string.")}catch(t){o("component.optionValidators.test",t)}};var k=(e=null)=>{try{r(e)||o("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(t){o("component.optionValidators.websockets",t)}};var F=(e=null)=>{try{i(e)||o("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[t,n]of Object.entries(e))t==="id"&&!s(n)&&o("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned a string.`),t==="classList"&&!l(n)&&o("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned an array of strings.`)}catch(t){o("component.optionValidators.wrapper",t)}};var V={css:d,events:f,lifecycle:b,methods:w,name:h,render:g,test:x,websockets:k,wrapper:F};var Ot=(e={})=>{try{c(e)||o("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[t,n]of Object.entries(e)){m.includes(t)||o("component.validateOptions",`${t} is not supported by joystick.component.`);let a=V[t];a&&r(a)&&a(n)}}catch(t){o("component.validateOptions",t)}};export{Ot as default};
@@ -1 +1 @@
1
- var o=(e="",t={})=>{throw new Error(`[joystick${e?`.${e}`:""}] ${t.message||t.reason||t}`)};var a=e=>{try{return!!Array.isArray(e)}catch(t){o("types.isArray",t)}};var r=e=>{try{return typeof e=="function"}catch(t){o("types.isFunction",t)}};var i=e=>{try{return!!(e&&typeof e=="object"&&!Array.isArray(e))}catch(t){o("types.isObject",t)}};var s=e=>{try{return typeof e=="string"}catch(t){o("types.isString",t)}};var c=(e=null)=>{try{!s(e)&&!r(e)&&!i(e)&&o("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(t){o("component.optionValidators.css",t)}};var p=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var m=(e=null)=>{try{i(e)||o("component.optionValidators.events","options.events must be an object.");for(let t of Object.keys(e)){let[n]=t.split(" ");p.includes(n)||o("component.optionValidators.events",`${n} is not a supported JavaScript event type.`)}for(let[t,n]of Object.entries(e))r(n)||o("component.optionValidators.events",`options.events.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.events",t)}};var l=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var u=(e=null)=>{try{i(e)||o("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[t,n]of Object.entries(e))l.includes(t)||o("component.optionValidators.lifecycle",`options.lifecycle.${t} is not supported.`),r(n)||o("component.optionValidators.lifecycle",`options.lifecycle.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.lifecycle",t)}};var d=(e=null)=>{try{i(e)||o("component.optionValidators.methods","options.methods must be an object.");for(let[t,n]of Object.entries(e))r(n)||o("component.optionValidators.methods",`options.methods.${t} must be assigned a function.`)}catch(t){o("component.optionValidators.methods",t)}};var f=(e=null)=>{typeof e!="string"&&o("component.optionValidators.name","options.name must be a string.")};var y=(e=null)=>{try{r(e)||o("component.optionValidators.render","options.render must be a function returning a string.")}catch(t){o("component.optionValidators.render",t)}};var b=(e=null)=>{try{r(e)||o("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(t){o("component.optionValidators.websockets",t)}};var w=(e=null)=>{try{i(e)||o("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[t,n]of Object.entries(e))t==="id"&&!s(n)&&o("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned a string.`),t==="classList"&&!a(n)&&o("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned an array of strings.`)}catch(t){o("component.optionValidators.wrapper",t)}};var rt={css:c,events:m,lifecycle:u,methods:d,name:f,render:y,websockets:b,wrapper:w};export{rt as default};
1
+ var e=(o="",t={})=>{throw new Error(`[joystick${o?`.${o}`:""}] ${t.message||t.reason||t}`)};var a=o=>{try{return!!Array.isArray(o)}catch(t){e("types.isArray",t)}};var r=o=>{try{return typeof o=="function"}catch(t){e("types.isFunction",t)}};var n=o=>{try{return!!(o&&typeof o=="object"&&!Array.isArray(o))}catch(t){e("types.isObject",t)}};var s=o=>{try{return typeof o=="string"}catch(t){e("types.isString",t)}};var c=(o=null)=>{try{!s(o)&&!r(o)&&!n(o)&&e("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(t){e("component.optionValidators.css",t)}};var p=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var m=(o=null)=>{try{n(o)||e("component.optionValidators.events","options.events must be an object.");for(let t of Object.keys(o)){let[i]=t.split(" ");p.includes(i)||e("component.optionValidators.events",`${i} is not a supported JavaScript event type.`)}for(let[t,i]of Object.entries(o))r(i)||e("component.optionValidators.events",`options.events.${t} must be assigned a function.`)}catch(t){e("component.optionValidators.events",t)}};var l=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var d=(o=null)=>{try{n(o)||e("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[t,i]of Object.entries(o))l.includes(t)||e("component.optionValidators.lifecycle",`options.lifecycle.${t} is not supported.`),r(i)||e("component.optionValidators.lifecycle",`options.lifecycle.${t} must be assigned a function.`)}catch(t){e("component.optionValidators.lifecycle",t)}};var f=(o=null)=>{try{n(o)||e("component.optionValidators.methods","options.methods must be an object.");for(let[t,i]of Object.entries(o))r(i)||e("component.optionValidators.methods",`options.methods.${t} must be assigned a function.`)}catch(t){e("component.optionValidators.methods",t)}};var u=(o=null)=>{typeof o!="string"&&e("component.optionValidators.name","options.name must be a string.")};var y=(o=null)=>{try{r(o)||e("component.optionValidators.render","options.render must be a function returning a string.")}catch(t){e("component.optionValidators.render",t)}};var b=(o=null)=>{try{n(o)||e("component.optionValidators.test","options.test must be an object."),o?.name&&!s(o.name)&&e("component.optionValidators.test","options.test.name must be assigned a string.")}catch(t){e("component.optionValidators.test",t)}};var w=(o=null)=>{try{r(o)||e("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(t){e("component.optionValidators.websockets",t)}};var h=(o=null)=>{try{n(o)||e("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[t,i]of Object.entries(o))t==="id"&&!s(i)&&e("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned a string.`),t==="classList"&&!a(i)&&e("component.optionValidators.wrapper",`options.wrapper.${t} must be assigned an array of strings.`)}catch(t){e("component.optionValidators.wrapper",t)}};var ct={css:c,events:m,lifecycle:d,methods:f,name:u,render:y,test:b,websockets:w,wrapper:h};export{ct as default};
@@ -0,0 +1 @@
1
+ var e=(t="",r={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${r.message||r.reason||r}`)};var o=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(r){e("types.isObject",r)}};var n=t=>{try{return typeof t=="string"}catch(r){e("types.isString",r)}};var a=(t=null)=>{try{o(t)||e("component.optionValidators.test","options.test must be an object."),t?.name&&!n(t.name)&&e("component.optionValidators.test","options.test.name must be assigned a string.")}catch(r){e("component.optionValidators.test",r)}};export{a as default};
@@ -1,21 +1,21 @@
1
- var Yt=Object.create;var ie=Object.defineProperty;var Xt=Object.getOwnPropertyDescriptor;var er=Object.getOwnPropertyNames;var tr=Object.getPrototypeOf,rr=Object.prototype.hasOwnProperty;var or=t=>ie(t,"__esModule",{value:!0});var ir=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var nr=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of er(e))!rr.call(t,o)&&o!=="default"&&ie(t,o,{get:()=>e[o],enumerable:!(r=Xt(e,o))||r.enumerable});return t},sr=t=>nr(or(ie(t!=null?Yt(tr(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var bt=ir(X=>{(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof X!="undefined")e(X);else{var r={exports:{}};e(r.exports),t.index=r.exports}})(X,function(t){"use strict";function e(u){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},e(u)}function r(u,d){return d&&(e(d)==="object"||typeof d=="function")?d:o(u)}function o(u){if(u===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}function i(u){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},i(u)}function s(u,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(d&&d.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),d&&c(u,d)}function c(u,d){return c=Object.setPrototypeOf||function($,O){return $.__proto__=O,$},c(u,d)}function a(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.diff=void 0;var m=function u(d,$){a(this,u),this.type=d,this.path=$?$.toString():""},y=function(u){function d($,O,h){var _;return a(this,d),_=r(this,i(d).call(this,"E",$)),_.lhs=O,_.rhs=h,_}return s(d,u),d}(m),w=function(u){function d($,O,h,_){var F;return a(this,d),F=r(this,i(d).call(this,"M",$)),F.item=O,F.lhsIndex=h,F.rhsIndex=_,F}return s(d,u),d}(m),g=function(u){function d($,O){var h;return a(this,d),h=r(this,i(d).call(this,"D",$)),h.lhs=O,h}return s(d,u),d}(m),j=function(u){function d($,O){var h;return a(this,d),h=r(this,i(d).call(this,"A",$)),h.rhs=O,h}return s(d,u),d}(m),f=function(u,d){return u?"".concat(u,".").concat(d):d};t.diff=function(d,$){var O=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},h=[],_=O.matchKey,F=O.types||["E","A","D","M"],Qt=function(k,x,E,D){k.forEach(function(L,M){var C=x.findIndex(function(S){return S[D]===L[D]});-1<C?(-1<F.indexOf("M")&&M!==C&&h.push(new w(E,L,M,C)),B(L,x[C],f(E,C))):-1<F.indexOf("D")&&h.push(new g(E,L))}),x.forEach(function(L,M){var C=k.findIndex(function(S){return L[D]===S[D]});-1<F.indexOf("A")&&C===-1&&h.push(new j(f(E,M),L))})},B=function(k,x,E){var D=Object.prototype.toString.call(k),L=Object.prototype.toString.call(x);if(-1<F.indexOf("E")&&D!==L)return h.push(new y(E,k,x)),!1;if(D==="[object Object]")Object.getOwnPropertyNames(k).forEach(function(S){Object.prototype.hasOwnProperty.call(x,S)?B(k[S],x[S],f(E,S)):-1<F.indexOf("D")&&h.push(new g(f(E,S),k[S]))}),Object.getOwnPropertyNames(x).forEach(function(S){-1<F.indexOf("A")&&!Object.prototype.hasOwnProperty.call(k,S)&&h.push(new j(f(E,S),x[S]))});else if(D!=="[object Array]")-1<F.indexOf("E")&&k!==x&&h.push(new y(E,k,x));else if(_)Qt(k,x,E,_);else{var M=k.length-1,C=x.length-1;if(-1<F.indexOf("D"))for(;M>C;)h.push(new g(f(E,M),k[M--]));if(-1<F.indexOf("A"))for(;C>M;)h.push(new j(f(E,C),x[C--]));for(;0<=M;--M)B(k[M],x[M],f(E,M))}};return B(d,$),h}})});var n=(t="",e={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${e.message||e.reason||e}`)};var fe=["render"];var he=(t={})=>{try{return fe.every(e=>Object.keys(t).includes(e))}catch(e){n("component.hasAllRequiredOptions",e)}};var we=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","translations","url","websockets","wrapper"];var ye=t=>{try{return typeof t=="undefined"}catch(e){n("types.isUndefined",e)}},ge=t=>{try{return t===null}catch(e){n("types.isNull",e)}};var P=t=>{try{return!!Array.isArray(t)}catch(e){n("types.isArray",e)}};var l=t=>{try{return typeof t=="function"}catch(e){n("types.isFunction",e)}};var p=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(e){n("types.isObject",e)}};var R=t=>{try{return typeof t=="string"}catch(e){n("types.isString",e)}};var xe=(t=null)=>{try{!R(t)&&!l(t)&&!p(t)&&n("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(e){n("component.optionValidators.css",e)}};var be=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var $e=(t=null)=>{try{p(t)||n("component.optionValidators.events","options.events must be an object.");for(let e of Object.keys(t)){let[r]=e.split(" ");be.includes(r)||n("component.optionValidators.events",`${r} is not a supported JavaScript event type.`)}for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.events",`options.events.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.events",e)}};var Fe=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var ke=(t=null)=>{try{p(t)||n("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[e,r]of Object.entries(t))Fe.includes(e)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} is not supported.`),l(r)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.lifecycle",e)}};var Ee=(t=null)=>{try{p(t)||n("component.optionValidators.methods","options.methods must be an object.");for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.methods",`options.methods.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.methods",e)}};var Me=(t=null)=>{typeof t!="string"&&n("component.optionValidators.name","options.name must be a string.")};var Se=(t=null)=>{try{l(t)||n("component.optionValidators.render","options.render must be a function returning a string.")}catch(e){n("component.optionValidators.render",e)}};var Te=(t=null)=>{try{l(t)||n("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(e){n("component.optionValidators.websockets",e)}};var Oe=(t=null)=>{try{p(t)||n("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[e,r]of Object.entries(t))e==="id"&&!R(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned a string.`),e==="classList"&&!P(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned an array of strings.`)}catch(e){n("component.optionValidators.wrapper",e)}};var Ce={css:xe,events:$e,lifecycle:ke,methods:Ee,name:Me,render:Se,websockets:Te,wrapper:Oe};var ve=(t={})=>{try{he(t)||n("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[e,r]of Object.entries(t)){we.includes(e)||n("component.validateOptions",`${e} is not supported by joystick.component.`);let o=Ce[e];o&&l(o)&&o(r)}}catch(e){n("component.validateOptions",e)}};var je="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split(""),b=(t=16)=>{let e="",r=0;for(;r<t;)e+=je[Math.floor(Math.random()*(je.length-1))],r+=1;return e};var G=(t=[],e="")=>{try{return(P(t)&&t.find(o=>o?.componentId===e))?.data||{}}catch(r){n("findComponentDataFromSSR",r)}};var Re=(()=>{let t=0;return(e,r)=>{clearTimeout(t),t=setTimeout(e,r)}})();var I=t=>!!(t&&typeof t=="object"&&!Array.isArray(t));var Ae=t=>typeof t=="string";var _e=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/,Le=(t,e="")=>{if(!e)return!0;if(e&&!Ae(e))return!1;let r=e?e.replace(/[- ]+/g,""):"";return t===!0?r.match(new RegExp(_e)):!r.match(new RegExp(_e))};var De=/^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/,Pe=(t,e="")=>t===!0?!!e.match(De):!e.match(De);var Ie=(t,e="")=>t===e;var Ne=(t,e="")=>t===e;var Ve=(t,e="")=>e.length<=t;var Ue=(t,e="")=>e.length>=t;var qe=/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/,He=(t,e="")=>t===!0?!!e.match(qe):!e.match(qe);var ze={AF:/^\d{4}$/,AX:/^\d{5}$/,AL:/^\d{4}$/,DZ:/^\d{5}$/,AS:/^\d{5}(-{1}\d{4,6})$/,AD:/^[Aa][Dd]\d{3}$/,AI:/^[Aa][I][-][2][6][4][0]$/,AR:/^\d{4}|[A-Za-z]\d{4}[a-zA-Z]{3}$/,AM:/^\d{4}$/,AC:/^[Aa][Ss][Cc][Nn]\s{0,1}[1][Zz][Zz]$/,AU:/^\d{4}$/,AT:/^\d{4}$/,AZ:/^[Aa][Zz]\d{4}$/,BH:/^\d{3,4}$/,BD:/^\d{4}$/,BB:/^[Aa][Zz]\d{5}$/,BY:/^\d{6}$/,BE:/^\d{4}$/,BM:/^[A-Za-z]{2}\s([A-Za-z]{2}|\d{2})$/,BT:/^\d{5}$/,BO:/^\d{4}$/,BA:/^\d{5}$/,BR:/^\d{5}-\d{3}$/,"":/^[Bb][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,IO:/^[Bb]{2}[Nn][Dd]\s{0,1}[1][Zz]{2}$/,VG:/^[Vv][Gg]\d{4}$/,BN:/^[A-Za-z]{2}\d{4}$/,BG:/^\d{4}$/,KH:/^\d{5}$/,CA:/^(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\s{0,1}\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d$/,CV:/^\d{4}$/,KY:/^[Kk][Yy]\d[-\s]{0,1}\d{4}$/,TD:/^\d{5}$/,CL:/^\d{7}\s\(\d{3}-\d{4}\)$/,CN:/^\d{6}$/,CX:/^\d{4}$/,CC:/^\d{4}$/,CO:/^\d{6}$/,CD:/^[Cc][Dd]$/,CR:/^\d{4,5}$/,HR:/^\d{5}$/,CU:/^\d{5}$/,CY:/^\d{4}$/,CZ:/^\d{5}\s\(\d{3}\s\d{2}\)$/,DK:/^\d{4}$/,DO:/^\d{5}$/,EC:/^\d{6}$/,SV:/^1101$/,EG:/^\d{5}$/,EE:/^\d{5}$/,ET:/^\d{4}$/,FK:/^[Ff][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,FO:/^\d{3}$/,FI:/^\d{5}$/,FR:/^\d{5}$/,GF:/^973\d{2}$/,PF:/^987\d{2}$/,GA:/^\d{2}\s[a-zA-Z-_ ]\s\d{2}$/,GE:/^\d{4}$/,DE:/^\d{2}$/,GI:/^[Gg][Xx][1]{2}\s{0,1}[1][Aa]{2}$/,GR:/^\d{3}\s{0,1}\d{2}$/,GL:/^\d{4}$/,GP:/^971\d{2}$/,GU:/^\d{5}$/,GT:/^\d{5}$/,GG:/^[A-Za-z]{2}\d\s{0,1}\d[A-Za-z]{2}$/,GW:/^\d{4}$/,HT:/^\d{4}$/,HM:/^\d{4}$/,HN:/^\d{5}$/,HU:/^\d{4}$/,IS:/^\d{3}$/,IN:/^\d{6}$/,ID:/^\d{5}$/,IR:/^\d{5}-\d{5}$/,IQ:/^\d{5}$/,IM:/^[Ii[Mm]\d{1,2}\s\d\[A-Z]{2}$/,IL:/^\b\d{5}(\d{2})?$/,IT:/^\d{5}$/,JM:/^\d{2}$/,JP:/^\d{7}\s\(\d{3}-\d{4}\)$/,JE:/^[Jj][Ee]\d\s{0,1}\d[A-Za-z]{2}$/,JO:/^\d{5}$/,KZ:/^\d{6}$/,KE:/^\d{5}$/,KR:/^\d{6}\s\(\d{3}-\d{3}\)$/,XK:/^\d{5}$/,KW:/^\d{5}$/,KG:/^\d{6}$/,LV:/^[Ll][Vv][- ]{0,1}\d{4}$/,LA:/^\d{5}$/,LB:/^\d{4}\s{0,1}\d{4}$/,LS:/^\d{3}$/,LR:/^\d{4}$/,LY:/^\d{5}$/,LI:/^\d{4}$/,LT:/^[Ll][Tt][- ]{0,1}\d{5}$/,LU:/^\d{4}$/,MK:/^\d{4}$/,MG:/^\d{3}$/,MV:/^\d{4,5}$/,MY:/^\d{5}$/,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MH:/^\d{5}$/,MQ:/^972\d{2}$/,YT:/^976\d{2}$/,FM:/^\d{5}(-{1}\d{4})$/,MX:/^\d{5}$/,MD:/^[Mm][Dd][- ]{0,1}\d{4}$/,MC:/^980\d{2}$/,MN:/^\d{5}$/,ME:/^\d{5}$/,MS:/^[Mm][Ss][Rr]\s{0,1}\d{4}$/,MA:/^\d{5}$/,MZ:/^\d{4}$/,MM:/^\d{5}$/,NA:/^\d{5}$/,NP:/^\d{5}$/,NL:/^\d{4}\s{0,1}[A-Za-z]{2}$/,NC:/^988\d{2}$/,NZ:/^\d{4}$/,NI:/^\d{5}$/,NE:/^\d{4}$/,NG:/^\d{6}$/,NF:/^\d{4}$/,MP:/^\d{5}$/,NO:/^\d{4}$/,OM:/^\d{3}$/,PK:/^\d{5}$/,PW:/^\d{5}$/,PA:/^\d{6}$/,PG:/^\d{3}$/,PY:/^\d{4}$/,PE:/^\d{5}$/,PH:/^\d{4}$/,PN:/^[Pp][Cc][Rr][Nn]\s{0,1}[1][Zz]{2}$/,PL:/^\d{2}[- ]{0,1}\d{3}$/,PT:/^\d{4}$/,PR:/^\d{5}$/,RE:/^974\d{2}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,BL:/^97133$/,SH:/^[Ss][Tt][Hh][Ll]\s{0,1}[1][Zz]{2}$/,MF:/^97150$/,PM:/^97500$/,VC:/^[Vv][Cc]\d{4}$/,SM:/^4789\d$/,SA:/^\d{5}(-{1}\d{4})?$/,SN:/^\d{5}$/,RS:/^\d{5}$/,SG:/^\d{2}$/,SK:/^\d{5}\s\(\d{3}\s\d{2}\)$/,SI:/^([Ss][Ii][- ]{0,1}){0,1}\d{4}$/,ZA:/^\d{4}$/,GS:/^[Ss][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,ES:/^\d{5}$/,LK:/^\d{5}$/,SD:/^\d{5}$/,SZ:/^[A-Za-z]\d{3}$/,SE:/^\d{3}\s*\d{2}$/,CH:/^\d{4}$/,SJ:/^\d{4}$/,TW:/^\d{5}$/,TJ:/^\d{6}$/,TH:/^\d{5}$/,TT:/^\d{6}$/,TN:/^\d{4}$/,TR:/^\d{5}$/,TM:/^\d{6}$/,TC:/^[Tt][Kk][Cc][Aa]\s{0,1}[1][Zz]{2}$/,UA:/^\d{5}$/,GB:/^[A-Z]{1,2}[0-9R][0-9A-Z]?\s*[0-9][A-Z-[CIKMOV]]{2}/,US:/^\b\d{5}\b(?:[- ]{1}\d{4})?$/,UY:/^\d{5}$/,VI:/^\d{5}$/,UZ:/^\d{3} \d{3}$/,VA:/^120$/,VE:/^\d{4}(\s[a-zA-Z]{1})?$/,VN:/^\d{6}$/,WF:/^986\d{2}$/,ZM:/^\d{5}$/},Ze=(t,e="")=>{let r=I(t)&&t.iso?ze[t.iso||"US"]:ze.US;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var Be=(t,e="",r={isChecked:!1})=>{if(!r.isChecked)return t===!0?e&&e.trim()!=="":e&&e.trim()==="";if(r.isChecked)return t===!0?e:!e};var Ge=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,Ke=(t,e="")=>t===!0?!!e.match(Ge):!e.match(Ge);var We=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Je=(t,e="")=>t===!0?!!e.match(We):!e.match(We);var Qe=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/,Ye=(t,e="")=>t===!0?!!e.match(Qe):!e.match(Qe);var Xe=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/,et=(t,e="")=>t===!0?!!e.match(Xe):!e.match(Xe);var tt={AT:/^(AT)(U\d{8}$)/i,BE:/^(BE)(\d{10}$)/i,BG:/^(BG)(\d{9,10}$)/i,CY:/^(CY)([0-5|9]\d{7}[A-Z]$)/i,CZ:/^(CZ)(\d{8,10})?$/i,DE:/^(DE)([1-9]\d{8}$)/i,DK:/^(DK)(\d{8}$)/i,EE:/^(EE)(10\d{7}$)/i,EL:/^(EL)(\d{9}$)/i,ES:/^(ES)([0-9A-Z][0-9]{7}[0-9A-Z]$)/i,EU:/^(EU)(\d{9}$)/i,FI:/^(FI)(\d{8}$)/i,FR:/^(FR)([0-9A-Z]{2}[0-9]{9}$)/i,GB:/^(GB)((?:[0-9]{12}|[0-9]{9}|(?:GD|HA)[0-9]{3})$)/i,GR:/^(GR)(\d{8,9}$)/i,HR:/^(HR)(\d{11}$)/i,HU:/^(HU)(\d{8}$)/i,IE:/^(IE)([0-9A-Z\*\+]{7}[A-Z]{1,2}$)/i,IT:/^(IT)(\d{11}$)/i,LV:/^(LV)(\d{11}$)/i,LT:/^(LT)(\d{9}$|\d{12}$)/i,LU:/^(LU)(\d{8}$)/i,MT:/^(MT)([1-9]\d{7}$)/i,NL:/^(NL)(\d{9}B\d{2}$)/i,NO:/^(NO)(\d{9}$)/i,PL:/^(PL)(\d{10}$)/i,PT:/^(PT)(\d{9}$)/i,RO:/^(RO)([1-9]\d{1,9}$)/i,RU:/^(RU)(\d{10}$|\d{12}$)/i,RS:/^(RS)(\d{9}$)/i,SI:/^(SI)([1-9]\d{7}$)/i,SK:/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7}$)/i,SE:/^(SE)(\d{10}01$)/i},rt=(t,e="")=>{let r=I(t)&&t.iso?tt[t.iso||"EU"]:tt.EU;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var ot={creditCard:Le,email:Pe,equals:Ie,matches:Ne,maxLength:Ve,minLength:Ue,phone:He,postalCode:Ze,required:Be,semVer:Ke,slug:Je,strongPassword:Ye,url:et,vat:rt};var it=class{constructor(e,r={}){this.fieldsToListenToForChanges=["checkbox","color","date","datetime-local","email","file","hidden","month","number","password","radio","range","search","tel","text","time","url","week"],this.defaultValidationErrors={required:()=>"This field is required.",email:()=>"Must be a valid email.",creditCard:()=>"Must be a valid credit card number.",equals:o=>`Value must equal ${o}.`,matches:o=>`Field must match ${o}.`,maxLength:o=>`Field value can be no greater than ${o}.`,minLength:o=>`Field value can be no less than ${o}.`,phone:()=>"Field value must be a valid telephone number.",postalCode:()=>"Field value must be a valid postal code.",semVer:()=>"Field value must be a valid semantic version.",slug:()=>"Field value must be a valid URL slug.",strongPassword:()=>"Field value must be a valid password.",url:()=>"Field value must be a valid URL.",vat:()=>"Field value must be a valid VAT code."},e||console.warn("[validateForm] Must pass an HTML <form></form> element to validate."),this.form=e,this.setOptions(r),this.attachEventListeners()}setOptions(e={}){this.rules=e.rules||{},this.messages=e.messages||{},this.onSubmit=e.onSubmit,this.fields=this.serialize()}updateOptions(e={}){this.setOptions(e)}serialize(){if(this.form)return Object.keys(this.rules).map(r=>{let o=this.form.querySelector(`[name="${r}"]`),i=o?.type;return{listenForChanges:this.fieldsToListenToForChanges.includes(i),type:i,name:r,element:o,validations:Object.entries(this.rules[r]).map(([c,a])=>({name:c,rule:a,valid:!1})).sort((c,a)=>c.name>a.name?1:-1),errorMessages:this.messages[r]?Object.keys(this.messages[r]):{}}})}attachEventListeners(){if(this.form){let e=r=>{r.stopPropagation(),r.preventDefault(),this.validate()&&this.onSubmit&&this.onSubmit()};if(this.form.listeners?.length>0)for(let r=0;r<this.form.listeners.length;r+=1){let o=this.form.listeners[r];this.form.removeEventListener("submit",o)}this.form.addEventListener("submit",e),this.form.listeners=[...this.form.listeners||[],e]}this.fields.forEach(e=>{if(e?.element&&e?.listenForChanges){let r=()=>{Re(()=>{this.validate(e.name)},100)};e.element.removeEventListener("input",r),e.element.addEventListener("input",r),e.element.removeEventListener("change",r),e.element.addEventListener("change",r)}})}validate(e=null){if(e){this.clearExistingErrors();let r=this.fields.find(o=>o.name===e);return this.validateField(r),this.checkIfValid()}else return this.clearExistingErrors(),this.fields.forEach(r=>{this.validateField(r)}),this.checkIfValid()}checkIfValid(){return!this.fields.map(r=>r.validations.some(o=>!o.valid)).includes(!0)}validateField(e){let r=this.form.querySelector(`[name="${e.name}"]`),o=["checkbox","radio"].includes(e.type),i=o?null:e?.element?.value?.trim(),s=o?e?.element?.checked:null;e.validations.forEach(a=>{if(this.isValidValue(o,o?s:i,a))this.markValidationAsValid(e,a.name);else{let m=this.messages[e.name]&&this.messages[e.name][a.name];this.markValidationAsInvalid(e,a.name),this.renderError(e.element,m||this.defaultValidationErrors[a.name](a.rule,i))}});let c=e.validations.some(a=>!a.valid);return c&&(r.classList.add("error"),r.focus()),c||(r.classList.remove("error"),this.clearExistingError(e.name)),!c}markValidationAsInvalid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!1}markValidationAsValid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!0}isValidValue(e,r,o){let i=ot[o.name];return i?i(o.rule,r,{isChecked:e}):!0}clearExistingErrors(){this.form&&this.form.querySelectorAll(".input-hint.error").forEach(e=>e.remove())}clearExistingError(e=""){let r=document.getElementById(`error-${e}`);r&&r.remove()}renderError(e,r=""){if(e){this.clearExistingError(e.name);let o=document.createElement("p");o.classList.add("input-hint"),o.classList.add("error"),o.setAttribute("id",`error-${e.name}`),o.innerText=r,e.after(o)}}},ar=(t,e)=>new Promise((r,o)=>{try{new it(t,e).validate()?r():o()}catch(i){console.warn(i)}}),nt=ar;var st=(t={},e={})=>{try{return[...Object.keys(e),...Object.keys(t)].filter((o,i,s)=>s.indexOf(o)===i).reduce((o,i)=>{let s=e[i],c=t[i]||null,a=!ye(s)&&!ge(s);return o[i]=a?s:c,o},{})}catch(r){n("component.props.compile",r)}};var at=(t="",e={})=>{try{let r="";if(t&&R(t))return r=t,r;if(t&&l(t))return r=t(e),r;if(t&&p(t)){let o=t?.print&&(R(t?.print)||l(t?.print)),i=t?.min&&p(t?.min),s=t?.min?.width&&p(t?.min?.width),c=t?.min?.height&&p(t?.min?.height),a=t?.max&&p(t?.max),m=t?.max?.width&&p(t?.max?.width),y=t?.max?.height&&p(t?.max?.height);if(o&&(r+=`
1
+ var Xt=Object.create;var ie=Object.defineProperty;var er=Object.getOwnPropertyDescriptor;var tr=Object.getOwnPropertyNames;var rr=Object.getPrototypeOf,or=Object.prototype.hasOwnProperty;var ir=t=>ie(t,"__esModule",{value:!0});var nr=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var sr=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of tr(e))!or.call(t,o)&&o!=="default"&&ie(t,o,{get:()=>e[o],enumerable:!(r=er(e,o))||r.enumerable});return t},ar=t=>sr(ir(ie(t!=null?Xt(rr(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var $t=nr(X=>{(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof X!="undefined")e(X);else{var r={exports:{}};e(r.exports),t.index=r.exports}})(X,function(t){"use strict";function e(u){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},e(u)}function r(u,d){return d&&(e(d)==="object"||typeof d=="function")?d:o(u)}function o(u){if(u===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return u}function i(u){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},i(u)}function s(u,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");u.prototype=Object.create(d&&d.prototype,{constructor:{value:u,writable:!0,configurable:!0}}),d&&c(u,d)}function c(u,d){return c=Object.setPrototypeOf||function($,C){return $.__proto__=C,$},c(u,d)}function a(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.diff=void 0;var p=function u(d,$){a(this,u),this.type=d,this.path=$?$.toString():""},y=function(u){function d($,C,h){var _;return a(this,d),_=r(this,i(d).call(this,"E",$)),_.lhs=C,_.rhs=h,_}return s(d,u),d}(p),w=function(u){function d($,C,h,_){var F;return a(this,d),F=r(this,i(d).call(this,"M",$)),F.item=C,F.lhsIndex=h,F.rhsIndex=_,F}return s(d,u),d}(p),g=function(u){function d($,C){var h;return a(this,d),h=r(this,i(d).call(this,"D",$)),h.lhs=C,h}return s(d,u),d}(p),R=function(u){function d($,C){var h;return a(this,d),h=r(this,i(d).call(this,"A",$)),h.rhs=C,h}return s(d,u),d}(p),f=function(u,d){return u?"".concat(u,".").concat(d):d};t.diff=function(d,$){var C=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},h=[],_=C.matchKey,F=C.types||["E","A","D","M"],Yt=function(k,x,E,D){k.forEach(function(L,M){var v=x.findIndex(function(S){return S[D]===L[D]});-1<v?(-1<F.indexOf("M")&&M!==v&&h.push(new w(E,L,M,v)),B(L,x[v],f(E,v))):-1<F.indexOf("D")&&h.push(new g(E,L))}),x.forEach(function(L,M){var v=k.findIndex(function(S){return L[D]===S[D]});-1<F.indexOf("A")&&v===-1&&h.push(new R(f(E,M),L))})},B=function(k,x,E){var D=Object.prototype.toString.call(k),L=Object.prototype.toString.call(x);if(-1<F.indexOf("E")&&D!==L)return h.push(new y(E,k,x)),!1;if(D==="[object Object]")Object.getOwnPropertyNames(k).forEach(function(S){Object.prototype.hasOwnProperty.call(x,S)?B(k[S],x[S],f(E,S)):-1<F.indexOf("D")&&h.push(new g(f(E,S),k[S]))}),Object.getOwnPropertyNames(x).forEach(function(S){-1<F.indexOf("A")&&!Object.prototype.hasOwnProperty.call(k,S)&&h.push(new R(f(E,S),x[S]))});else if(D!=="[object Array]")-1<F.indexOf("E")&&k!==x&&h.push(new y(E,k,x));else if(_)Yt(k,x,E,_);else{var M=k.length-1,v=x.length-1;if(-1<F.indexOf("D"))for(;M>v;)h.push(new g(f(E,M),k[M--]));if(-1<F.indexOf("A"))for(;v>M;)h.push(new R(f(E,v),x[v--]));for(;0<=M;--M)B(k[M],x[M],f(E,M))}};return B(d,$),h}})});var n=(t="",e={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${e.message||e.reason||e}`)};var fe=["render"];var he=(t={})=>{try{return fe.every(e=>Object.keys(t).includes(e))}catch(e){n("component.hasAllRequiredOptions",e)}};var we=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","test","translations","url","websockets","wrapper"];var ye=t=>{try{return typeof t=="undefined"}catch(e){n("types.isUndefined",e)}},ge=t=>{try{return t===null}catch(e){n("types.isNull",e)}};var P=t=>{try{return!!Array.isArray(t)}catch(e){n("types.isArray",e)}};var l=t=>{try{return typeof t=="function"}catch(e){n("types.isFunction",e)}};var m=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(e){n("types.isObject",e)}};var T=t=>{try{return typeof t=="string"}catch(e){n("types.isString",e)}};var xe=(t=null)=>{try{!T(t)&&!l(t)&&!m(t)&&n("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(e){n("component.optionValidators.css",e)}};var be=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var $e=(t=null)=>{try{m(t)||n("component.optionValidators.events","options.events must be an object.");for(let e of Object.keys(t)){let[r]=e.split(" ");be.includes(r)||n("component.optionValidators.events",`${r} is not a supported JavaScript event type.`)}for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.events",`options.events.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.events",e)}};var Fe=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var ke=(t=null)=>{try{m(t)||n("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[e,r]of Object.entries(t))Fe.includes(e)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} is not supported.`),l(r)||n("component.optionValidators.lifecycle",`options.lifecycle.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.lifecycle",e)}};var Ee=(t=null)=>{try{m(t)||n("component.optionValidators.methods","options.methods must be an object.");for(let[e,r]of Object.entries(t))l(r)||n("component.optionValidators.methods",`options.methods.${e} must be assigned a function.`)}catch(e){n("component.optionValidators.methods",e)}};var Me=(t=null)=>{typeof t!="string"&&n("component.optionValidators.name","options.name must be a string.")};var Se=(t=null)=>{try{l(t)||n("component.optionValidators.render","options.render must be a function returning a string.")}catch(e){n("component.optionValidators.render",e)}};var Te=(t=null)=>{try{m(t)||n("component.optionValidators.test","options.test must be an object."),t?.name&&!T(t.name)&&n("component.optionValidators.test","options.test.name must be assigned a string.")}catch(e){n("component.optionValidators.test",e)}};var Oe=(t=null)=>{try{l(t)||n("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(e){n("component.optionValidators.websockets",e)}};var Ce=(t=null)=>{try{m(t)||n("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[e,r]of Object.entries(t))e==="id"&&!T(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned a string.`),e==="classList"&&!P(r)&&n("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned an array of strings.`)}catch(e){n("component.optionValidators.wrapper",e)}};var ve={css:xe,events:$e,lifecycle:ke,methods:Ee,name:Me,render:Se,test:Te,websockets:Oe,wrapper:Ce};var je=(t={})=>{try{he(t)||n("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[e,r]of Object.entries(t)){we.includes(e)||n("component.validateOptions",`${e} is not supported by joystick.component.`);let o=ve[e];o&&l(o)&&o(r)}}catch(e){n("component.validateOptions",e)}};var Re="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split(""),b=(t=16)=>{let e="",r=0;for(;r<t;)e+=Re[Math.floor(Math.random()*(Re.length-1))],r+=1;return e};var G=(t=[],e="")=>{try{return(P(t)&&t.find(o=>o?.componentId===e))?.data||{}}catch(r){n("findComponentDataFromSSR",r)}};var Ae=(()=>{let t=0;return(e,r)=>{clearTimeout(t),t=setTimeout(e,r)}})();var I=t=>!!(t&&typeof t=="object"&&!Array.isArray(t));var _e=t=>typeof t=="string";var Le=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/,De=(t,e="")=>{if(!e)return!0;if(e&&!_e(e))return!1;let r=e?e.replace(/[- ]+/g,""):"";return t===!0?r.match(new RegExp(Le)):!r.match(new RegExp(Le))};var Pe=/^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/,Ie=(t,e="")=>t===!0?!!e.match(Pe):!e.match(Pe);var Ne=(t,e="")=>t===e;var Ve=(t,e="")=>t===e;var Ue=(t,e="")=>e.length<=t;var qe=(t,e="")=>e.length>=t;var He=/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/,ze=(t,e="")=>t===!0?!!e.match(He):!e.match(He);var Ze={AF:/^\d{4}$/,AX:/^\d{5}$/,AL:/^\d{4}$/,DZ:/^\d{5}$/,AS:/^\d{5}(-{1}\d{4,6})$/,AD:/^[Aa][Dd]\d{3}$/,AI:/^[Aa][I][-][2][6][4][0]$/,AR:/^\d{4}|[A-Za-z]\d{4}[a-zA-Z]{3}$/,AM:/^\d{4}$/,AC:/^[Aa][Ss][Cc][Nn]\s{0,1}[1][Zz][Zz]$/,AU:/^\d{4}$/,AT:/^\d{4}$/,AZ:/^[Aa][Zz]\d{4}$/,BH:/^\d{3,4}$/,BD:/^\d{4}$/,BB:/^[Aa][Zz]\d{5}$/,BY:/^\d{6}$/,BE:/^\d{4}$/,BM:/^[A-Za-z]{2}\s([A-Za-z]{2}|\d{2})$/,BT:/^\d{5}$/,BO:/^\d{4}$/,BA:/^\d{5}$/,BR:/^\d{5}-\d{3}$/,"":/^[Bb][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,IO:/^[Bb]{2}[Nn][Dd]\s{0,1}[1][Zz]{2}$/,VG:/^[Vv][Gg]\d{4}$/,BN:/^[A-Za-z]{2}\d{4}$/,BG:/^\d{4}$/,KH:/^\d{5}$/,CA:/^(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\s{0,1}\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d$/,CV:/^\d{4}$/,KY:/^[Kk][Yy]\d[-\s]{0,1}\d{4}$/,TD:/^\d{5}$/,CL:/^\d{7}\s\(\d{3}-\d{4}\)$/,CN:/^\d{6}$/,CX:/^\d{4}$/,CC:/^\d{4}$/,CO:/^\d{6}$/,CD:/^[Cc][Dd]$/,CR:/^\d{4,5}$/,HR:/^\d{5}$/,CU:/^\d{5}$/,CY:/^\d{4}$/,CZ:/^\d{5}\s\(\d{3}\s\d{2}\)$/,DK:/^\d{4}$/,DO:/^\d{5}$/,EC:/^\d{6}$/,SV:/^1101$/,EG:/^\d{5}$/,EE:/^\d{5}$/,ET:/^\d{4}$/,FK:/^[Ff][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,FO:/^\d{3}$/,FI:/^\d{5}$/,FR:/^\d{5}$/,GF:/^973\d{2}$/,PF:/^987\d{2}$/,GA:/^\d{2}\s[a-zA-Z-_ ]\s\d{2}$/,GE:/^\d{4}$/,DE:/^\d{2}$/,GI:/^[Gg][Xx][1]{2}\s{0,1}[1][Aa]{2}$/,GR:/^\d{3}\s{0,1}\d{2}$/,GL:/^\d{4}$/,GP:/^971\d{2}$/,GU:/^\d{5}$/,GT:/^\d{5}$/,GG:/^[A-Za-z]{2}\d\s{0,1}\d[A-Za-z]{2}$/,GW:/^\d{4}$/,HT:/^\d{4}$/,HM:/^\d{4}$/,HN:/^\d{5}$/,HU:/^\d{4}$/,IS:/^\d{3}$/,IN:/^\d{6}$/,ID:/^\d{5}$/,IR:/^\d{5}-\d{5}$/,IQ:/^\d{5}$/,IM:/^[Ii[Mm]\d{1,2}\s\d\[A-Z]{2}$/,IL:/^\b\d{5}(\d{2})?$/,IT:/^\d{5}$/,JM:/^\d{2}$/,JP:/^\d{7}\s\(\d{3}-\d{4}\)$/,JE:/^[Jj][Ee]\d\s{0,1}\d[A-Za-z]{2}$/,JO:/^\d{5}$/,KZ:/^\d{6}$/,KE:/^\d{5}$/,KR:/^\d{6}\s\(\d{3}-\d{3}\)$/,XK:/^\d{5}$/,KW:/^\d{5}$/,KG:/^\d{6}$/,LV:/^[Ll][Vv][- ]{0,1}\d{4}$/,LA:/^\d{5}$/,LB:/^\d{4}\s{0,1}\d{4}$/,LS:/^\d{3}$/,LR:/^\d{4}$/,LY:/^\d{5}$/,LI:/^\d{4}$/,LT:/^[Ll][Tt][- ]{0,1}\d{5}$/,LU:/^\d{4}$/,MK:/^\d{4}$/,MG:/^\d{3}$/,MV:/^\d{4,5}$/,MY:/^\d{5}$/,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MH:/^\d{5}$/,MQ:/^972\d{2}$/,YT:/^976\d{2}$/,FM:/^\d{5}(-{1}\d{4})$/,MX:/^\d{5}$/,MD:/^[Mm][Dd][- ]{0,1}\d{4}$/,MC:/^980\d{2}$/,MN:/^\d{5}$/,ME:/^\d{5}$/,MS:/^[Mm][Ss][Rr]\s{0,1}\d{4}$/,MA:/^\d{5}$/,MZ:/^\d{4}$/,MM:/^\d{5}$/,NA:/^\d{5}$/,NP:/^\d{5}$/,NL:/^\d{4}\s{0,1}[A-Za-z]{2}$/,NC:/^988\d{2}$/,NZ:/^\d{4}$/,NI:/^\d{5}$/,NE:/^\d{4}$/,NG:/^\d{6}$/,NF:/^\d{4}$/,MP:/^\d{5}$/,NO:/^\d{4}$/,OM:/^\d{3}$/,PK:/^\d{5}$/,PW:/^\d{5}$/,PA:/^\d{6}$/,PG:/^\d{3}$/,PY:/^\d{4}$/,PE:/^\d{5}$/,PH:/^\d{4}$/,PN:/^[Pp][Cc][Rr][Nn]\s{0,1}[1][Zz]{2}$/,PL:/^\d{2}[- ]{0,1}\d{3}$/,PT:/^\d{4}$/,PR:/^\d{5}$/,RE:/^974\d{2}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,BL:/^97133$/,SH:/^[Ss][Tt][Hh][Ll]\s{0,1}[1][Zz]{2}$/,MF:/^97150$/,PM:/^97500$/,VC:/^[Vv][Cc]\d{4}$/,SM:/^4789\d$/,SA:/^\d{5}(-{1}\d{4})?$/,SN:/^\d{5}$/,RS:/^\d{5}$/,SG:/^\d{2}$/,SK:/^\d{5}\s\(\d{3}\s\d{2}\)$/,SI:/^([Ss][Ii][- ]{0,1}){0,1}\d{4}$/,ZA:/^\d{4}$/,GS:/^[Ss][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,ES:/^\d{5}$/,LK:/^\d{5}$/,SD:/^\d{5}$/,SZ:/^[A-Za-z]\d{3}$/,SE:/^\d{3}\s*\d{2}$/,CH:/^\d{4}$/,SJ:/^\d{4}$/,TW:/^\d{5}$/,TJ:/^\d{6}$/,TH:/^\d{5}$/,TT:/^\d{6}$/,TN:/^\d{4}$/,TR:/^\d{5}$/,TM:/^\d{6}$/,TC:/^[Tt][Kk][Cc][Aa]\s{0,1}[1][Zz]{2}$/,UA:/^\d{5}$/,GB:/^[A-Z]{1,2}[0-9R][0-9A-Z]?\s*[0-9][A-Z-[CIKMOV]]{2}/,US:/^\b\d{5}\b(?:[- ]{1}\d{4})?$/,UY:/^\d{5}$/,VI:/^\d{5}$/,UZ:/^\d{3} \d{3}$/,VA:/^120$/,VE:/^\d{4}(\s[a-zA-Z]{1})?$/,VN:/^\d{6}$/,WF:/^986\d{2}$/,ZM:/^\d{5}$/},Be=(t,e="")=>{let r=I(t)&&t.iso?Ze[t.iso||"US"]:Ze.US;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var Ge=(t,e="",r={isChecked:!1})=>{if(!r.isChecked)return t===!0?e&&e.trim()!=="":e&&e.trim()==="";if(r.isChecked)return t===!0?e:!e};var Ke=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,We=(t,e="")=>t===!0?!!e.match(Ke):!e.match(Ke);var Je=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Qe=(t,e="")=>t===!0?!!e.match(Je):!e.match(Je);var Ye=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/,Xe=(t,e="")=>t===!0?!!e.match(Ye):!e.match(Ye);var et=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/,tt=(t,e="")=>t===!0?!!e.match(et):!e.match(et);var rt={AT:/^(AT)(U\d{8}$)/i,BE:/^(BE)(\d{10}$)/i,BG:/^(BG)(\d{9,10}$)/i,CY:/^(CY)([0-5|9]\d{7}[A-Z]$)/i,CZ:/^(CZ)(\d{8,10})?$/i,DE:/^(DE)([1-9]\d{8}$)/i,DK:/^(DK)(\d{8}$)/i,EE:/^(EE)(10\d{7}$)/i,EL:/^(EL)(\d{9}$)/i,ES:/^(ES)([0-9A-Z][0-9]{7}[0-9A-Z]$)/i,EU:/^(EU)(\d{9}$)/i,FI:/^(FI)(\d{8}$)/i,FR:/^(FR)([0-9A-Z]{2}[0-9]{9}$)/i,GB:/^(GB)((?:[0-9]{12}|[0-9]{9}|(?:GD|HA)[0-9]{3})$)/i,GR:/^(GR)(\d{8,9}$)/i,HR:/^(HR)(\d{11}$)/i,HU:/^(HU)(\d{8}$)/i,IE:/^(IE)([0-9A-Z\*\+]{7}[A-Z]{1,2}$)/i,IT:/^(IT)(\d{11}$)/i,LV:/^(LV)(\d{11}$)/i,LT:/^(LT)(\d{9}$|\d{12}$)/i,LU:/^(LU)(\d{8}$)/i,MT:/^(MT)([1-9]\d{7}$)/i,NL:/^(NL)(\d{9}B\d{2}$)/i,NO:/^(NO)(\d{9}$)/i,PL:/^(PL)(\d{10}$)/i,PT:/^(PT)(\d{9}$)/i,RO:/^(RO)([1-9]\d{1,9}$)/i,RU:/^(RU)(\d{10}$|\d{12}$)/i,RS:/^(RS)(\d{9}$)/i,SI:/^(SI)([1-9]\d{7}$)/i,SK:/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7}$)/i,SE:/^(SE)(\d{10}01$)/i},ot=(t,e="")=>{let r=I(t)&&t.iso?rt[t.iso||"EU"]:rt.EU;return I(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var it={creditCard:De,email:Ie,equals:Ne,matches:Ve,maxLength:Ue,minLength:qe,phone:ze,postalCode:Be,required:Ge,semVer:We,slug:Qe,strongPassword:Xe,url:tt,vat:ot};var nt=class{constructor(e,r={}){this.fieldsToListenToForChanges=["checkbox","color","date","datetime-local","email","file","hidden","month","number","password","radio","range","search","tel","text","time","url","week"],this.defaultValidationErrors={required:()=>"This field is required.",email:()=>"Must be a valid email.",creditCard:()=>"Must be a valid credit card number.",equals:o=>`Value must equal ${o}.`,matches:o=>`Field must match ${o}.`,maxLength:o=>`Field value can be no greater than ${o}.`,minLength:o=>`Field value can be no less than ${o}.`,phone:()=>"Field value must be a valid telephone number.",postalCode:()=>"Field value must be a valid postal code.",semVer:()=>"Field value must be a valid semantic version.",slug:()=>"Field value must be a valid URL slug.",strongPassword:()=>"Field value must be a valid password.",url:()=>"Field value must be a valid URL.",vat:()=>"Field value must be a valid VAT code."},e||console.warn("[validateForm] Must pass an HTML <form></form> element to validate."),this.form=e,this.setOptions(r),this.attachEventListeners()}setOptions(e={}){this.rules=e.rules||{},this.messages=e.messages||{},this.onSubmit=e.onSubmit,this.fields=this.serialize()}updateOptions(e={}){this.setOptions(e)}serialize(){if(this.form)return Object.keys(this.rules).map(r=>{let o=this.form.querySelector(`[name="${r}"]`),i=o?.type;return{listenForChanges:this.fieldsToListenToForChanges.includes(i),type:i,name:r,element:o,validations:Object.entries(this.rules[r]).map(([c,a])=>({name:c,rule:a,valid:!1})).sort((c,a)=>c.name>a.name?1:-1),errorMessages:this.messages[r]?Object.keys(this.messages[r]):{}}})}attachEventListeners(){if(this.form){let e=r=>{r.stopPropagation(),r.preventDefault(),this.validate()&&this.onSubmit&&this.onSubmit()};if(this.form.listeners?.length>0)for(let r=0;r<this.form.listeners.length;r+=1){let o=this.form.listeners[r];this.form.removeEventListener("submit",o)}this.form.addEventListener("submit",e),this.form.listeners=[...this.form.listeners||[],e]}this.fields.forEach(e=>{if(e?.element&&e?.listenForChanges){let r=()=>{Ae(()=>{this.validate(e.name)},100)};e.element.removeEventListener("input",r),e.element.addEventListener("input",r),e.element.removeEventListener("change",r),e.element.addEventListener("change",r)}})}validate(e=null){if(e){this.clearExistingErrors();let r=this.fields.find(o=>o.name===e);return this.validateField(r),this.checkIfValid()}else return this.clearExistingErrors(),this.fields.forEach(r=>{this.validateField(r)}),this.checkIfValid()}checkIfValid(){return!this.fields.map(r=>r.validations.some(o=>!o.valid)).includes(!0)}validateField(e){let r=this.form.querySelector(`[name="${e.name}"]`),o=["checkbox","radio"].includes(e.type),i=o?null:e?.element?.value?.trim(),s=o?e?.element?.checked:null;e.validations.forEach(a=>{if(this.isValidValue(o,o?s:i,a))this.markValidationAsValid(e,a.name);else{let p=this.messages[e.name]&&this.messages[e.name][a.name];this.markValidationAsInvalid(e,a.name),this.renderError(e.element,p||this.defaultValidationErrors[a.name](a.rule,i))}});let c=e.validations.some(a=>!a.valid);return c&&(r.classList.add("error"),r.focus()),c||(r.classList.remove("error"),this.clearExistingError(e.name)),!c}markValidationAsInvalid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!1}markValidationAsValid(e,r){let i=[...e.validations].find(s=>s.name===r);i.valid=!0}isValidValue(e,r,o){let i=it[o.name];return i?i(o.rule,r,{isChecked:e}):!0}clearExistingErrors(){this.form&&this.form.querySelectorAll(".input-hint.error").forEach(e=>e.remove())}clearExistingError(e=""){let r=document.getElementById(`error-${e}`);r&&r.remove()}renderError(e,r=""){if(e){this.clearExistingError(e.name);let o=document.createElement("p");o.classList.add("input-hint"),o.classList.add("error"),o.setAttribute("id",`error-${e.name}`),o.innerText=r,e.after(o)}}},dr=(t,e)=>new Promise((r,o)=>{try{new nt(t,e).validate()?r():o()}catch(i){console.warn(i)}}),st=dr;var at=(t={},e={})=>{try{return[...Object.keys(e),...Object.keys(t)].filter((o,i,s)=>s.indexOf(o)===i).reduce((o,i)=>{let s=e[i],c=t[i]||null,a=!ye(s)&&!ge(s);return o[i]=a?s:c,o},{})}catch(r){n("component.props.compile",r)}};var dt=(t="",e={})=>{try{let r="";if(t&&T(t))return r=t,r;if(t&&l(t))return r=t(e),r;if(t&&m(t)){let o=t?.print&&(T(t?.print)||l(t?.print)),i=t?.min&&m(t?.min),s=t?.min?.width&&m(t?.min?.width),c=t?.min?.height&&m(t?.min?.height),a=t?.max&&m(t?.max),p=t?.max?.width&&m(t?.max?.width),y=t?.max?.height&&m(t?.max?.height);if(o&&(r+=`
2
2
  @media print {
3
3
  ${typeof t?.print=="function"?t?.print(e):t.print}
4
4
  }
5
- `),i&&s){let w=Object.entries(t?.min?.width);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
6
- @media screen and (min-width: ${j}px) {
5
+ `),i&&s){let w=Object.entries(t?.min?.width);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
6
+ @media screen and (min-width: ${R}px) {
7
7
  ${typeof f=="function"?f(e):f}
8
8
  }
9
- `}}if(i&&c){let w=Object.entries(t?.min?.height);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
10
- @media screen and (min-height: ${j}px) {
9
+ `}}if(i&&c){let w=Object.entries(t?.min?.height);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
10
+ @media screen and (min-height: ${R}px) {
11
11
  ${typeof f=="function"?f(e):f}
12
12
  }
13
- `}}if(a&&m){let w=Object.entries(t?.max?.width);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
14
- @media screen and (max-width: ${j}px) {
13
+ `}}if(a&&p){let w=Object.entries(t?.max?.width);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
14
+ @media screen and (max-width: ${R}px) {
15
15
  ${typeof f=="function"?f(e):f}
16
16
  }
17
- `}}if(a&&y){let w=Object.entries(t?.max?.height);for(let g=0;g<w.length;g+=1){let[j,f]=w[g];r+=`
18
- @media screen and (max-height: ${j}px) {
17
+ `}}if(a&&y){let w=Object.entries(t?.max?.height);for(let g=0;g<w.length;g+=1){let[R,f]=w[g];r+=`
18
+ @media screen and (max-height: ${R}px) {
19
19
  ${typeof f=="function"?f(e):f}
20
20
  }
21
- `}}return r}return""}catch(r){n("component.css.compileCSS",r)}};var dr=(t={},e=null)=>{try{let r=e(t);return r&&p(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.state.compile.compileState",r)}},K=(t={},e={})=>{try{return l(e)?dr(t,e):Object.assign({},e)}catch(r){n("component.state.compile",r)}};var ne={onBeforeMount:()=>null,onMount:()=>null,onBeforeUnmount:()=>null,onUpdateProps:()=>null,onRefetchData:()=>null};var dt=(t={},e={})=>{try{return e?Object.entries({...ne,...e||{}}).reduce((r={},[o,i])=>(r[o]=()=>i({...t,setState:t.setState.bind(t),...t.renderMethods||{}}),r),{}):ne}catch(r){n("component.lifecycle.compile",r)}};var v=(t="",e=[])=>{typeof window!="undefined"&&!!window.__joystick_test__&&(window.test={...window.test||{},functionCalls:{...window?.test?.functionCalls||{},[t]:[...window?.test?.functionCalls&&window?.test?.functionCalls[t]||[],{calledAt:new Date().toISOString(),args:e}]}})};var W=(t={},e={})=>{try{return Object.entries(e).reduce((r={},[o,i])=>(r[o]=(...s)=>(v(`ui.${t?.options?.test?.name||b()}.methods.${o}`,[...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}}]),i(...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}})),r),{})}catch{n("component.methods.compile")}};var se=(t={})=>{try{return{...t,query:{...t?.query||{},set:(e="",r="")=>{if(typeof window!="undefined"){let o=new URL(window.location);o.searchParams.append(e,r),window.history.pushState({},"",o)}},unset:(e="")=>{if(typeof window!="undefined"){let r=new URL(window.location);r.searchParams.delete(e),window.history.pushState({},"",r)}}},isActive:(e="")=>R(e)&&t?.route!=="*"?e===(typeof location!="undefined"?location.pathname:t.path):!1}}catch(e){n("component.url.compile",e)}};var T=()=>typeof window=="undefined";var N=null,J=0,ct=(t={},e=null)=>{try{let r=t?.url;t?.query&&(r=`${r}?${new URLSearchParams(t.query).toString()}`);let o=new WebSocket(r);N&&(clearInterval(N),N=null);let i={client:o,send:(s={})=>o.send(JSON.stringify(s))};return o.addEventListener("open",()=>{t?.options?.logging&&console.log(`[joystick.websockets] Connected to ${t?.url}`),t?.events?.onOpen&&t.events.onOpen(i),J=0}),o.addEventListener("message",s=>{s?.data&&t?.events?.onMessage&&t.events.onMessage(JSON.parse(s.data||{}),i)}),o.addEventListener("close",s=>{t?.options?.logging&&console.log(`[joystick.websockets] Disconnected from ${t?.url}`),t?.events?.onClose&&t.events.onClose(s?.code,s?.reason,i),o=null;let c=[1e3,1001].includes(s?.code);t?.options?.autoReconnect&&!N&&!c&&(N=setInterval(()=>{o=null,J<(t?.options?.reconnectAttempts||12)?(ct(t,e),t?.options?.logging&&console.log(`[joystick.websockets] Attempting to reconnect (${J+1}/12)...`),J+=1):clearInterval(N)},t?.options?.reconnectDelayInSeconds*1e3||5e3))}),e&&e(i),i}catch(r){n("websockets.client",r)}},lt=ct;var cr=(t={},e=null)=>{try{let r=e(t);return r&&p(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.props.compileDefaultProps.compile",r)}},mt=(t={},e={})=>{try{return l(e)?cr(t,e):Object.assign({},e)}catch(r){n("component.props.compileDefaultProps",r)}};var ut=(t={},e={})=>{try{t.options=e||{},t.id=e?._componentId||null,t.instanceId=b(8),t.ssrId=e?._ssrId||null,t.css=at(),t.data=G(e?.dataFromSSR,e?._componentId),t.defaultProps=mt(t,e?.defaultProps),t.props=st(t?.defaultProps,e?.props),t.state=K(t,e?.state),t.events=e?.events||{},t.lifecycle=dt(t,e?.lifecycle),t.methods=W(t,e?.methods),t.wrapper=e?.wrapper||{},t.translations=e?.translations||{},t.validateForm=nt,t.DOMNode=null,t.dom={},t.dom.virtual={},t.dom.actual={};let r=!T();if(r||(t.url=se(e?.url)),r&&window.__joystick_url__&&(t.url=se(window.__joystick_url__)),r&&e?.websockets&&l(e?.websockets)){let o=e.websockets(t),i=p(o)&&Object.entries(o);for(let s=0;s<i?.length;s+=1){let[c,a]=i[s];lt({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/${c}`,options:a?.options||{},query:a?.query||{},events:a?.events||{}},(m={})=>{t.websockets={...t.websockets||{},[c]:m}})}}}catch(r){n("component.registerOptions",r)}};var V=(t="",e=[])=>{try{console.error(`${t} failed with the following errors:`),e.forEach(r=>{console.log(r.message),r.stack&&console.log(r.stack)})}catch(r){n(t,r)}};var Q=(t="{}")=>{try{return JSON.parse(t)}catch{return t}};var pt=(t={})=>Object.entries(t).map(([e,r])=>`${e}=${r}`)?.join("; ");var lr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.get.handleParseResponse",e)}},ft=(t="",e={})=>{try{return typeof window.fetch!="undefined"&&!e?.skip?new Promise((r,o)=>{let i=e.input?JSON.stringify(e.input):null,s=e.output?JSON.stringify(e.output):null,c=`${window.location.origin}/api/_getters/${t}?input=${i}&output=${s}`,a=document.querySelector('[name="csrf"]')?.getAttribute("content"),m={...e?.headers||{},"x-joystick-csrf":a};return window?.__joystick_test__&&(m.Cookie=pt({joystickLoginToken:window.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expires_at__})),fetch(c,{method:"GET",mode:"cors",headers:m,credentials:"include"}).then(async y=>{let w=await lr(y);return w?.errors?(V("get request",w.errors),o(w)):r(w)}).catch(y=>(V("get request",[y]),o({errors:[y]})))}):Promise.resolve()}catch(r){n("get request",r)}};var mr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.set.handleParseResponse",e)}},ur=(t={})=>{try{return JSON.stringify(t)}catch(e){n("api.set.getBody",e)}},ht=(t="",e={})=>{try{return typeof window.fetch!="undefined"?new Promise((r,o)=>{let i=`${window.location.origin}/api/_setters/${t}`,s=ur(e),c=document.querySelector('[name="csrf"]')?.getAttribute("content"),a={...e?.headers||{},"Content-Type":"application/json","x-joystick-csrf":c};return window?.__joystick_test__&&(a.Cookie=generateCookieHeader({joystickLoginToken:window?.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expirs_at__})),fetch(i,{method:"POST",mode:"cors",headers:a,body:s,credentials:"include"}).then(async m=>{let y=await mr(m);return y?.errors?(V("set request",y.errors),o(y)):r(y)}).catch(m=>(V("set request",[m]),o({errors:[m]})))}):Promise.resolve()}catch(r){n("set request",r)}};var wt={get:ft,set:ht};var pr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("addToQueue.getQueue",e)}},H=(t="",e=null)=>{try{T()||(pr(t)||{}).array.push({callback:e})}catch(r){n("addToQueue",r)}};var Y=async(t={},e={},r={},o={})=>{try{if(o?.options?.data&&l(o.options.data)){let i=await o.options.data(t,e,r,o);return Promise.resolve(i)}return Promise.resolve()}catch(i){n("component.data.fetch",i)}};var yt=(t={},e={},r={})=>{try{return{...t,refetch:async(o={})=>{v(`ui.${r?.options?.test?.name||b()}.data.refetch`,[o]);let i=await Y(wt,e,o,r);return r.data=yt(i,e,r),window.__joystick_data__[r?.id]&&(window.__joystick_data__[r?.id]=i),window?.__joystick_test__||r.render({afterRefetchDataRender:()=>{r?.lifecycle?.onRefetchData&&r?.lifecycle?.onRefetchData(r)}}),r.data}}}catch(o){n("component.data.compile",o)}},gt=yt;var xt=(t={})=>{try{if(!T()){let e=window.__joystick_data__&&window.__joystick_data__[t?.id]||{},r=window.__joystick_req__||{};return gt(e,r,t)}return t?.data||{}}catch(e){n("component.loadDataFromWindow",e)}};var kt=sr(bt());var $t=(t={},e="",r="id")=>{try{let o=t&&t.id;if(p(t)&&o){let i=Object.keys(t);for(let s=0;s<i.length;s+=1){let c=i[s],a=t[c];if(c===r&&a===e)return t;if(c==="children"&&Array.isArray(a))for(let m=0;m<a.length;m+=1){let y=a[m],w=$t(y,e,r);if(w!==null)return w}}}return null}catch(o){n("component.findComponentInTreeByField",o)}},A=$t;var Ft=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.children=[...o.children||[],e])};var fr=(t={},e={},r=null)=>{try{let o=U(t,{includeActual:!0,existingChildren:r});return t.dom=o,t.setDOMNodeOnInstance(),e.renderedComponent=t,o.html.wrapped}catch(o){n("component.renderMethods.component.renderForClient",o)}},hr=(t={})=>{try{return t.renderToHTML({ssrTree:t.parent.ssrTree,translations:t.parent.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t.parent?.dataFromSSR}).wrapped}catch(e){n("component.renderMethods.component.renderToHTMLForSSR",e)}},wr=(t={})=>{try{return t.parent.ssrTree.dataFunctions.push(async()=>{try{let e=await t.options.data(t.parent.options.api,t.parent.options.req);return t.data=e||{},{componentId:t.id,ssrId:t.ssrId,data:e}}catch(e){return{componentId:t.id,ssrId:t.ssrId,data:null,error:e}}}),t.renderToHTML({ssrTree:t?.parent?.ssrTree,translations:t?.parent?.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t?.parent?.dataFromSSR})}catch(e){n("component.renderMethods.component.collectDataFunctionsForSSR",e)}},yr=(t={})=>{try{let e={id:t.id,instanceId:t.instanceId,instance:t,children:[]};Ft(t.parent.instanceId,e,t.parent&&t.parent.ssrTree||null)}catch(e){n("component.renderMethods.component.handleAddComponentToParent",e)}},gr=(t={},e={})=>{try{!t.renderedComponent&&e.options&&e.options.lifecycle&&(e.options.lifecycle.onBeforeMount&&H("lifecycle.onBeforeMount",()=>{e.options.lifecycle.onBeforeMount(e),v(`ui.${e?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[e])}),!t.renderedComponent&&e.options.lifecycle.onMount&&H("lifecycle.onMount",()=>{e.options.lifecycle.onMount(e),v(`ui.${e?.options?.test?.name||b()}.lifecycle.onMount`,[e])}))}catch(r){n("component.renderMethods.component.handleLifecycle",r)}},xr=(t={},e={},r={})=>{try{!e.walkingTreeForSSR&&t?.options?.lifecycle?.onUpdateProps&&(0,kt.diff)(e?.existingPropsMap,r)?.length>0&&H("lifecycle.onUpdateProps",()=>{let i=e?.existingPropsMap&&e?.existingPropsMap[t.id];t.options.lifecycle.onUpdateProps(i||{},r,t),v(`ui.${t?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[i||{},r,t])})}catch(o){n("component.renderMethods.component.handleOnChangeProps",o)}},br=function(){return function(e=null,r={},o={}){let i=e({props:r,url:o.url,translations:o.translations,api:o.options.api,req:o.options.req,dataFromSSR:o?.dataFromSSR,parent:o}),s=o?.existingStateMap[i.id]||{},c=o.children[i.id]||[],a=s[c?.length];return i.state=a?.state||i.state,o.children[i.id]=[...o.children[i.id]||[],i],i.parent=o,xr(i,o,r),H("lifecycle.onMount",()=>{i.setDOMNodeOnInstance()}),gr(this,i),i.parent&&yr(i),i.options.data&&i.parent.walkingTreeForSSR&&i.parent.ssrTree.dataFunctions?wr(i):i.parent&&i.parent.ssrTree?hr(i):fr(i,this,a?.children)}},$r=function(e,r){try{let o=this;return new br().bind({})(e,r,o)}catch(o){n("component.renderMethods.component",o)}},ae=$r;var Fr=function(e=[],r=null){try{return l(r)&&e&&Array.isArray(e)?e.map((o,i)=>r(o,i)).join(""):""}catch(o){n("component.renderMethods.each",o)}},de=Fr;var kr=(t="",e=[])=>{try{return e.reduce((r,[o,i])=>r.replace(`{{${o}}}`,i),t)}catch(r){n("component.renderMethods.i18n.replacePlaceholdersInString",r)}},ce=(t="",e=[])=>{try{let r=typeof t=="string",o=Array.isArray(t),i=typeof t=="object"&&!o;if(r)return kr(t,e);if(o)return t?.map(s=>ce(s,e));if(i)return Object.entries(t)?.reduce((s={},[c,a])=>(s[c]=ce(a,e),s),{})}catch(r){n("component.renderMethods.i18n.handleTranslationReplacement",r)}},Er=(t="",e={})=>{try{return t?.split(".").reduce((r,o)=>r[o],e)}catch(r){n("component.renderMethods.i18n.getTranslationAtPath",r)}},Mr=function(t="",e={}){try{let r=T()?this.translations:window.__joystick_i18n__,i=t?.includes(".")?Er(t,r):r[t];if(!r||!i)return"";let s=Object.entries(e);return ce(i,s)}catch(r){n("component.renderMethods.i18n",r)}},le=Mr;var Sr=function(e=!1,r=""){try{return this?.renderingHTMLWithDataForSSR||e?`<when>${r.trim()}</when>`:"<when> </when>"}catch(o){n("component.renderMethods.when",o)}},me=Sr;var Et={c:ae,component:ae,e:de,each:de,i:le,i18n:le,w:me,when:me};var Mt=(t={},e={})=>{try{return Object.entries(Et).reduce((r,[o,i])=>(r[o]=i.bind({...t,...e}),r),{})}catch(r){n("component.renderMethods.compile",r)}};var St=(t={})=>{try{return Object.entries(t)?.reduce((e={},[r,o]={})=>(e[r]=o?.map((i={})=>({state:i?.state,children:St(i?.children)})),e),{})}catch(e){n("component.render.getExistingStateMap.buildMapForChildren",e)}},Tt=(t={})=>{try{return St(t)}catch(e){n("component.render.getExistingStateMap",e)}};var Ot=new RegExp(/\<\!\-\-(?:.|\n|\r)*?-->/g),Tr=new RegExp(/\n/g);var Or=(t="")=>{try{return(t.match(Ot)||[]).forEach(r=>{t=t.replace(r,"")}),t}catch(e){n("component.render.sanitizeHTML.removeCommentedCode",e)}},Ct=(t="")=>{try{let e=`${t}`;return e=Or(e),e}catch(e){n("component.render.sanitizeHTML",e)}};var vt=(t={},e="")=>{try{let{wrapper:r=null,id:o=null,instanceId:i=null}=t;return`<div ${r?.id?`id="${r.id}" `:""}${r?.classList?`class="${r.classList?.join(" ")}" `:""} js-c="${o}" js-i="${i}">${e}</div>`}catch(r){n("component.render.wrapHTML",r)}};var jt=(t={},e=[])=>{try{let r=[...e],o=Object.entries(t);for(let i=0;i<o?.length;i+=1){let[s,c]=o[i];for(let a=0;a<c?.length;a+=1){let m=c[a];Object.entries(m?.timers)?.length>0&&r.push(...Object.values(m?.timers)),Object.entries(m?.children)?.length>0&&jt(m?.children,r)}}if(r?.length>0)for(let i=0;i<r?.length;i+=1)clearTimeout(r[i])}catch(r){n("component.render.clearTimersOnChildren",r)}},Rt=jt;var ee=(t={},e={})=>{try{e?.dataFromSSR&&(t.data=G(e.dataFromSSR,t.id)||{}),Rt(t?.children);let r=Tt(e?.existingChildren||t?.children)||{};t.children={},t.renderMethods=Mt({...t,existingStateMap:r,translations:e?.translations||t.translations||{},ssrTree:e?.ssrTree,walkingTreeForSSR:e?.walkingTreeForSSR,renderingHTMLWithDataForSSR:e?.renderingHTMLWithDataForSSR,dataFromSSR:e?.dataFromSSR}),t.methods=W(t,t.options.methods);let o=t.options.render({...t||{},setState:t.setState.bind(t),...t.renderMethods||{}}),i=Ct(o),s=vt(t,i);return{unwrapped:i,wrapped:s}}catch(r){n("component.render.toHTML",r)}};var Cr=(t={})=>{try{return Object.values(t).reduce((e={},r)=>(e[r.name]=r.value,e),{})}catch(e){n("component.virtualDOM.build.parseAttributeMap",e)}},At=(t={})=>{try{return t.tagName==="WHEN"?[].flatMap.call(t?.childNodes,e=>e?.tagName==="WHEN"?At(e):ue(e)):ue(t)}catch(e){n("component.virtualDOM.build.flattenWhenTags",e)}},ue=(t={})=>{try{let e=t&&t.tagName&&t.tagName.toLowerCase()||"text",r={tagName:e,attributes:Cr(t.attributes),children:[].flatMap.call(t.childNodes,o=>At(o))};return e==="text"&&(r=t.textContent),r}catch(e){n("component.virtualDOM.build",e)}},z=ue;var vr=(t="")=>{try{let e=document.createElement("div");return e.innerHTML=t,e?.childNodes[0]}catch(e){n("component.virtualDOM.build.convertHTMLToDOM",e)}},_t=(t="")=>{try{let e=vr(t);return z(e)}catch(e){n("component.virtualDOM.build",e)}};var Lt=(t="")=>{try{return document.createElement("div").setAttribute(t,"Test"),!0}catch{return!1}};var jr=(t={})=>{try{let e=document.createElement(t.tagName),r=Object.entries(t.attributes);for(let o=0;o<r.length;o+=1){let[i,s]=r[o];Lt(i)&&e.setAttribute(i,s)}for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(i){let s=Dt(i);e.appendChild(s)}}return e}catch(e){n("component.virtualDOM.renderTreeToDOM.renderElement",e)}},Dt=(t=null)=>{try{return R(t)?document.createTextNode(t):jr(t)}catch(e){n("component.virtualDOM.renderTreeToDOM",e)}},q=Dt;var U=(t={},e={})=>{try{let r=ee(t,{existingChildren:e?.existingChildren}),o=_t(r.wrapped,t),i=e.includeActual&&o?q(o):null;return{html:r,virtual:o,actual:i}}catch(r){n("component.render.getUpdatedDOM",r)}};var Pt=(t={},e={})=>{try{let r=U(t,{includeActual:!0,existingChildren:e?.existingChildren});return t.dom=r,r.actual}catch(r){n("component.render.forMount",r)}};var Rr=(t={},e={})=>{let r=[];for(let[o,i]of Object.entries(e))r.push(s=>(s&&s.setAttribute&&s.setAttribute(o,i),s));for(let o in t)o in e||r.push(i=>(i&&i.removeAttribute&&i.removeAttribute(o),i));return o=>{for(let i of r)i&&typeof i=="function"&&i(o)}},te=Rr;var Ar=(t=[],e=[])=>{let r=[],o=Math.max(t.length,e.length);for(let i=0;i<o;i+=1){let s=t[i],c=e[i];r.push([s,c])}return r},It=Ar;var _r=(t=[],e)=>{t.forEach(r=>{r&&typeof r=="function"&&r(e)})},Lr=(t=[])=>{t.forEach(([e,r])=>{e&&typeof e=="function"&&e(r)})},Dr=(t=[],e=[])=>{let r=[];return e.slice(t.length).forEach(i=>{let s=c=>{let a=q(i);return c.appendChild(a),c};r.push(s)}),r},Pr=(t=[],e=[])=>{let r=[];return t.forEach((o,i)=>{let s=oe(o,e[i]);r.push(s)}),r},Ir=(t=[],e=[])=>{let r=Pr(t,e),o=Dr(t,e);return i=>{if(i){let s=It(r,i.childNodes);Lr(s),_r(o,i)}return i}},re=Ir;var Nt={select:(t,e)=>r=>{let o=r.value;r.replaceChildren(),te(t.attributes,e.attributes)(r),re([],e.children)(r);let i=r.querySelector(`option[value="${o}"]`);if(i&&(r.value=o),!i){let s=r.querySelector("option");r.value=s?.value||""}return r}};var pe=(t,e)=>r=>{let o=t?q(t):null;return r&&r.replaceWith(o),o},Nr=()=>t=>{t&&t.remove()},Vr=(t=void 0,e=void 0)=>t===void 0||e===void 0?Nr():typeof t=="string"||typeof e=="string"?pe(e,t):t.tagName!==e.tagName?pe(e):e.tagName==="select"?Nt.select(t,e):["pre","code"].includes(e.tagName)?pe(e,t):i=>(te(t.attributes,e.attributes)(i),re(t.children,e.children)(i),i),oe=Vr;var Ur=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("processQueue.getQueue",e)}},Z=(t="",e=null)=>{try{T()||(Ur(t)||{}).process(e)}catch(r){n("processQueue",r)}};var Vt=(t="",e=null)=>{let r=A(e||window.joystick._internal.tree,t,"instanceId");r&&(r.children=[])};var Ut=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.instanceId=e?.instanceId,o.instance=e)};var qt=(t={},e="",r={})=>{for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(p(i)&&i.attributes&&i.attributes["js-i"]&&i.attributes["js-i"]===e){t.children[o]=r;break}p(i)&&qt(i,e,r)}},Ht=qt;var zt=(t={})=>{try{return Object.entries(t).map(([e,r])=>{let[o,...i]=e.split(" ");return{type:o.toLowerCase(),selector:i.join(" "),handler:r}})}catch(e){n("component.events.serialize",e)}};var Zt=(t={},e={},r=[])=>{try{let o=Object.keys(t?.events||{})?.length>0?zt(t?.events):[];for(let i=0;i<o?.length;i+=1){let s=o[i];r.push({...s,instance:t,elements:document.querySelectorAll(`body [js-i="${t.instanceId}"] ${s?.selector}`),handler:function(a){s.handler(a,{...t||{},setState:t?.setState.bind(t),...e||{}}),v(`ui.${t?.options?.test?.name||b()}.events.${s.type}.${s?.selector}`,[a,{...t||{},setState:t?.setState.bind(t),...e||{}}])}})}if(t?.children){let i=Object.entries(t?.children)?.flatMap(([s,c])=>c);for(let s=0;s<i?.length;s+=1){let c=i[s];Zt(c,e,r)}}return r}catch(o){n("component.eve!nts.registerListenersFix.getListeners",o)}},qr=(t={},e={})=>{try{let o=Zt(t,e,[])?.flatMap((i={})=>[].flatMap.call(i?.elements||[],s=>{let{elements:c=[],...a}=i||{};return{...a,element:s}}));for(let i=0;i<o?.length;i+=1){let{instance:s,element:c,elementSelector:a,type:m,handler:y}=o[i];c.addEventListener(m,y),s._eventListeners=[...s?._eventListeners||[],{instance:s,element:c,elementSelector:a,type:m,handler:y}]}}catch(r){n("component.events.registerListenersFix",r)}},Bt=qr;var Gt=(t={})=>{try{let e=t?._eventListeners||[];if(t?.children){let o=(Object.values(t?.children||{})?.reduce((i=[],s=[])=>[...i,...s],[])).flatMap((i={})=>Gt(i));e=[...e,...o]}return e}catch(e){n("component.events.unregisterListenersFix.getListeners",e)}},Hr=(t={})=>{try{let e=Gt(t);for(let r=0;r<e?.length;r+=1){let{instance:o,element:i,type:s,handler:c}=e[r];i.removeEventListener(s,c),o._eventListeners=o._eventListeners?.splice(r,1)}}catch(e){n("component.events.unregisterListenersFix",e)}},Kt=Hr;var Wt=class{constructor(e={}){this.parent=e?.parent||null,this.onUpdateChildComponent=this.handleUpdateChildComponentInVDOM,this.updateVirtualDOM=this.handleUpdateVirtualDOM,this.timers={},this.children={},ve(e),ut(this,e),this.data=xt(this)}setDOMNodeOnInstance(){this.DOMNode=document.querySelector(`body [js-i="${this.instanceId}"]`)}async handleFetchData(e={},r={},o={},i=this){let s=await Y(e,r,o,i);return this.data=s,s}handleGetInstance(){return this}handleUpdateVirtualDOM(){if(this.DOMNode){let r=z(this.DOMNode);this.dom.virtual=r}let e=this.parent?A(window.joystick._internal.tree,this.parent?.instanceId,"instanceId"):null;e?.instance&&e.instance.updateVirtualDOM()}onBeforeRender(){if(!T())return{instanceId:this.instanceId}}render(e={}){if(v(`ui.${this?.options?.test?.name||b()}.render`,[e]),e?.mounting)return Pt(this,e);let r=this.onBeforeRender();Kt(this),Vt(this.instanceId);let o=U(this,{}),i=oe(this.dom.virtual,o.virtual);i&&l(i)&&Z("lifecycle.onBeforeMount",()=>{let s=i(this.DOMNode);this.dom.actual=s,this.dom.virtual=o.virtual,Bt(this,this.renderMethods),this.setDOMNodeOnInstance(),Z("domNodes",()=>{Z("lifecycle.onMount",()=>{this.onAfterRender(r,e)})})})}renderToHTML(e={}){return ee(this,e)}onAfterRender(e={},r={}){T()||(Ut(e.instanceId,this),window.joystick._internal.css.update(),Z("lifecycle.onUpdateProps"),r?.afterSetStateRender&&l(r.afterSetStateRender)&&r.afterSetStateRender(),r?.afterRefetchDataRender&&l(r.afterRefetchDataRender)&&r.afterRefetchDataRender(),this.parent&&this.parent.onUpdateChildComponent(this.id,this.instanceId))}setState(e={},r=null){this.state=K(this,{...this.state||{},...e}),this.render({afterSetStateRender:()=>{r&&l(r)&&r()}})}setTimeout(e=null,r=0){e&&(this.timers[b()]=window.setTimeout(e,r))}setInterval(e=null,r=0){e&&(this.timers[b()]=window.setInterval(e,r))}handleUpdateChildComponentInVDOM(e="",r=""){let o=A(window.joystick._internal.tree,this.instanceId,"instanceId"),i=A(window.joystick._internal.tree,r,"instanceId");if(i?.instance?.DOMNode){let s=z(i?.instance?.DOMNode);Ht(o?.instance?.dom?.virtual,i?.instanceId,s)}}},Jt=Wt;var yd=(t={})=>{try{return(e={})=>new Jt({...t,props:e?.props,url:e?.url,translations:e?.translations,api:e?.api,req:e?.req,parent:e?.parent})}catch(e){n("component",e)}};export{yd as default};
21
+ `}}return r}return""}catch(r){n("component.css.compileCSS",r)}};var cr=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.state.compile.compileState",r)}},K=(t={},e={})=>{try{return l(e)?cr(t,e):Object.assign({},e)}catch(r){n("component.state.compile",r)}};var ne={onBeforeMount:()=>null,onMount:()=>null,onBeforeUnmount:()=>null,onUpdateProps:()=>null,onRefetchData:()=>null};var ct=(t={},e={})=>{try{return e?Object.entries({...ne,...e||{}}).reduce((r={},[o,i])=>(r[o]=()=>i({...t,setState:t.setState.bind(t),...t.renderMethods||{}}),r),{}):ne}catch(r){n("component.lifecycle.compile",r)}};var j=(t="",e=[])=>{typeof window!="undefined"&&!!window.__joystick_test__&&(window.test={...window.test||{},functionCalls:{...window?.test?.functionCalls||{},[t]:[...window?.test?.functionCalls&&window?.test?.functionCalls[t]||[],{calledAt:new Date().toISOString(),args:e}]}})};var W=(t={},e={})=>{try{return Object.entries(e).reduce((r={},[o,i])=>(r[o]=(...s)=>(j(`ui.${t?.options?.test?.name||b()}.methods.${o}`,[...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}}]),i(...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}})),r),{})}catch{n("component.methods.compile")}};var se=(t={})=>{try{return{...t,query:{...t?.query||{},set:(e="",r="")=>{if(typeof window!="undefined"){let o=new URL(window.location);o.searchParams.append(e,r),window.history.pushState({},"",o)}},unset:(e="")=>{if(typeof window!="undefined"){let r=new URL(window.location);r.searchParams.delete(e),window.history.pushState({},"",r)}}},isActive:(e="")=>T(e)&&t?.route!=="*"?e===(typeof location!="undefined"?location.pathname:t.path):!1}}catch(e){n("component.url.compile",e)}};var O=()=>typeof window=="undefined";var N=null,J=0,lt=(t={},e=null)=>{try{let r=t?.url;t?.query&&(r=`${r}?${new URLSearchParams(t.query).toString()}`);let o=new WebSocket(r);N&&(clearInterval(N),N=null);let i={client:o,send:(s={})=>o.send(JSON.stringify(s))};return o.addEventListener("open",()=>{t?.options?.logging&&console.log(`[joystick.websockets] Connected to ${t?.url}`),t?.events?.onOpen&&t.events.onOpen(i),J=0}),o.addEventListener("message",s=>{s?.data&&t?.events?.onMessage&&t.events.onMessage(JSON.parse(s.data||{}),i)}),o.addEventListener("close",s=>{t?.options?.logging&&console.log(`[joystick.websockets] Disconnected from ${t?.url}`),t?.events?.onClose&&t.events.onClose(s?.code,s?.reason,i),o=null;let c=[1e3,1001].includes(s?.code);t?.options?.autoReconnect&&!N&&!c&&(N=setInterval(()=>{o=null,J<(t?.options?.reconnectAttempts||12)?(lt(t,e),t?.options?.logging&&console.log(`[joystick.websockets] Attempting to reconnect (${J+1}/12)...`),J+=1):clearInterval(N)},t?.options?.reconnectDelayInSeconds*1e3||5e3))}),e&&e(i),i}catch(r){n("websockets.client",r)}},mt=lt;var lr=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!P(r)?Object.assign({},r):{}}catch(r){n("component.props.compileDefaultProps.compile",r)}},pt=(t={},e={})=>{try{return l(e)?lr(t,e):Object.assign({},e)}catch(r){n("component.props.compileDefaultProps",r)}};var ut=(t={},e={})=>{try{t.options=e||{},t.id=e?._componentId||null,t.instanceId=b(8),t.ssrId=e?._ssrId||null,t.css=dt(),t.data=G(e?.dataFromSSR,e?._componentId),t.defaultProps=pt(t,e?.defaultProps),t.props=at(t?.defaultProps,e?.props),t.state=K(t,e?.state),t.events=e?.events||{},t.lifecycle=ct(t,e?.lifecycle),t.methods=W(t,e?.methods),t.wrapper=e?.wrapper||{},t.translations=e?.translations||{},t.validateForm=st,t.DOMNode=null,t.dom={},t.dom.virtual={},t.dom.actual={};let r=!O();if(r||(t.url=se(e?.url)),r&&window.__joystick_url__&&(t.url=se(window.__joystick_url__)),r&&e?.websockets&&l(e?.websockets)){let o=e.websockets(t),i=m(o)&&Object.entries(o);for(let s=0;s<i?.length;s+=1){let[c,a]=i[s];mt({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/${c}`,options:a?.options||{},query:a?.query||{},events:a?.events||{}},(p={})=>{t.websockets={...t.websockets||{},[c]:p}})}}}catch(r){n("component.registerOptions",r)}};var V=(t="",e=[])=>{try{console.error(`${t} failed with the following errors:`),e.forEach(r=>{console.log(r.message),r.stack&&console.log(r.stack)})}catch(r){n(t,r)}};var Q=(t="{}")=>{try{return JSON.parse(t)}catch{return t}};var ft=(t={})=>Object.entries(t).map(([e,r])=>`${e}=${r}`)?.join("; ");var mr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.get.handleParseResponse",e)}},ht=(t="",e={})=>{try{return typeof window.fetch!="undefined"&&!e?.skip?new Promise((r,o)=>{let i=e.input?JSON.stringify(e.input):null,s=e.output?JSON.stringify(e.output):null,c=`${window.location.origin}/api/_getters/${t}?input=${i}&output=${s}`,a=document.querySelector('[name="csrf"]')?.getAttribute("content"),p={...e?.headers||{},"x-joystick-csrf":a};return window?.__joystick_test__&&(p.Cookie=ft({joystickLoginToken:window.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expires_at__})),fetch(c,{method:"GET",mode:"cors",headers:p,credentials:"include"}).then(async y=>{let w=await mr(y);return w?.errors?(V("get request",w.errors),o(w)):r(w)}).catch(y=>(V("get request",[y]),o({errors:[y]})))}):Promise.resolve()}catch(r){n("get request",r)}};var pr=async(t={})=>{try{let e=await t.text();return Q(e)}catch(e){n("api.set.handleParseResponse",e)}},ur=(t={})=>{try{return JSON.stringify(t)}catch(e){n("api.set.getBody",e)}},wt=(t="",e={})=>{try{return typeof window.fetch!="undefined"?new Promise((r,o)=>{let i=`${window.location.origin}/api/_setters/${t}`,s=ur(e),c=document.querySelector('[name="csrf"]')?.getAttribute("content"),a={...e?.headers||{},"Content-Type":"application/json","x-joystick-csrf":c};return window?.__joystick_test__&&(a.Cookie=generateCookieHeader({joystickLoginToken:window?.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expirs_at__})),fetch(i,{method:"POST",mode:"cors",headers:a,body:s,credentials:"include"}).then(async p=>{let y=await pr(p);return y?.errors?(V("set request",y.errors),o(y)):r(y)}).catch(p=>(V("set request",[p]),o({errors:[p]})))}):Promise.resolve()}catch(r){n("set request",r)}};var yt={get:ht,set:wt};var fr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("addToQueue.getQueue",e)}},H=(t="",e=null)=>{try{O()||(fr(t)||{}).array.push({callback:e})}catch(r){n("addToQueue",r)}};var Y=async(t={},e={},r={},o={})=>{try{if(o?.options?.data&&l(o.options.data)){let i=await o.options.data(t,e,r,o);return Promise.resolve(i)}return Promise.resolve()}catch(i){n("component.data.fetch",i)}};var gt=(t={},e={},r={})=>{try{return{...t,refetch:async(o={})=>{j(`ui.${r?.options?.test?.name||b()}.data.refetch`,[o]);let i=await Y(yt,e,o,r);return r.data=gt(i,e,r),window.__joystick_data__[r?.id]&&(window.__joystick_data__[r?.id]=i),window?.__joystick_test__||r.render({afterRefetchDataRender:()=>{r?.lifecycle?.onRefetchData&&r?.lifecycle?.onRefetchData(r)}}),r.data}}}catch(o){n("component.data.compile",o)}},xt=gt;var bt=(t={})=>{try{if(!O()){let e=window.__joystick_data__&&window.__joystick_data__[t?.id]||{},r=window.__joystick_req__||{};return xt(e,r,t)}return t?.data||{}}catch(e){n("component.loadDataFromWindow",e)}};var Et=ar($t());var Ft=(t={},e="",r="id")=>{try{let o=t&&t.id;if(m(t)&&o){let i=Object.keys(t);for(let s=0;s<i.length;s+=1){let c=i[s],a=t[c];if(c===r&&a===e)return t;if(c==="children"&&Array.isArray(a))for(let p=0;p<a.length;p+=1){let y=a[p],w=Ft(y,e,r);if(w!==null)return w}}}return null}catch(o){n("component.findComponentInTreeByField",o)}},A=Ft;var kt=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.children=[...o.children||[],e])};var hr=(t={},e={},r=null)=>{try{let o=U(t,{includeActual:!0,existingChildren:r});return t.dom=o,t.setDOMNodeOnInstance(),e.renderedComponent=t,o.html.wrapped}catch(o){n("component.renderMethods.component.renderForClient",o)}},wr=(t={})=>{try{return t.renderToHTML({ssrTree:t.parent.ssrTree,translations:t.parent.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t.parent?.dataFromSSR}).wrapped}catch(e){n("component.renderMethods.component.renderToHTMLForSSR",e)}},yr=(t={})=>{try{return t.parent.ssrTree.dataFunctions.push(async()=>{try{let e=await t.options.data(t.parent.options.api,t.parent.options.req);return t.data=e||{},{componentId:t.id,ssrId:t.ssrId,data:e}}catch(e){return{componentId:t.id,ssrId:t.ssrId,data:null,error:e}}}),t.renderToHTML({ssrTree:t?.parent?.ssrTree,translations:t?.parent?.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t?.parent?.dataFromSSR})}catch(e){n("component.renderMethods.component.collectDataFunctionsForSSR",e)}},gr=(t={})=>{try{let e={id:t.id,instanceId:t.instanceId,instance:t,children:[]};kt(t.parent.instanceId,e,t.parent&&t.parent.ssrTree||null)}catch(e){n("component.renderMethods.component.handleAddComponentToParent",e)}},xr=(t={},e={})=>{try{!t.renderedComponent&&e.options&&e.options.lifecycle&&(e.options.lifecycle.onBeforeMount&&H("lifecycle.onBeforeMount",()=>{e.options.lifecycle.onBeforeMount(e),j(`ui.${e?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[e])}),!t.renderedComponent&&e.options.lifecycle.onMount&&H("lifecycle.onMount",()=>{e.options.lifecycle.onMount(e),j(`ui.${e?.options?.test?.name||b()}.lifecycle.onMount`,[e])}))}catch(r){n("component.renderMethods.component.handleLifecycle",r)}},br=(t={},e={},r={})=>{try{!e.walkingTreeForSSR&&t?.options?.lifecycle?.onUpdateProps&&(0,Et.diff)(e?.existingPropsMap,r)?.length>0&&H("lifecycle.onUpdateProps",()=>{let i=e?.existingPropsMap&&e?.existingPropsMap[t.id];t.options.lifecycle.onUpdateProps(i||{},r,t),j(`ui.${t?.options?.test?.name||b()}.lifecycle.onBeforeMount`,[i||{},r,t])})}catch(o){n("component.renderMethods.component.handleOnChangeProps",o)}},$r=function(){return function(e=null,r={},o={}){let i=e({props:r,url:o.url,translations:o.translations,api:o.options.api,req:o.options.req,dataFromSSR:o?.dataFromSSR,parent:o}),s=o?.existingStateMap[i.id]||{},c=o.children[i.id]||[],a=s[c?.length];return i.state=a?.state||i.state,o.children[i.id]=[...o.children[i.id]||[],i],i.parent=o,br(i,o,r),H("lifecycle.onMount",()=>{i.setDOMNodeOnInstance()}),xr(this,i),i.parent&&gr(i),i.options.data&&i.parent.walkingTreeForSSR&&i.parent.ssrTree.dataFunctions?yr(i):i.parent&&i.parent.ssrTree?wr(i):hr(i,this,a?.children)}},Fr=function(e,r){try{let o=this;return new $r().bind({})(e,r,o)}catch(o){n("component.renderMethods.component",o)}},ae=Fr;var kr=function(e=[],r=null){try{return l(r)&&e&&Array.isArray(e)?e.map((o,i)=>r(o,i)).join(""):""}catch(o){n("component.renderMethods.each",o)}},de=kr;var Er=(t="",e=[])=>{try{return e.reduce((r,[o,i])=>r.replace(`{{${o}}}`,i),t)}catch(r){n("component.renderMethods.i18n.replacePlaceholdersInString",r)}},ce=(t="",e=[])=>{try{let r=typeof t=="string",o=Array.isArray(t),i=typeof t=="object"&&!o;if(r)return Er(t,e);if(o)return t?.map(s=>ce(s,e));if(i)return Object.entries(t)?.reduce((s={},[c,a])=>(s[c]=ce(a,e),s),{})}catch(r){n("component.renderMethods.i18n.handleTranslationReplacement",r)}},Mr=(t="",e={})=>{try{return t?.split(".").reduce((r,o)=>r[o],e)}catch(r){n("component.renderMethods.i18n.getTranslationAtPath",r)}},Sr=function(t="",e={}){try{let r=O()?this.translations:window.__joystick_i18n__,i=t?.includes(".")?Mr(t,r):r[t];if(!r||!i)return"";let s=Object.entries(e);return ce(i,s)}catch(r){n("component.renderMethods.i18n",r)}},le=Sr;var Tr=function(e=!1,r=""){try{return this?.renderingHTMLWithDataForSSR||e?`<when>${r.trim()}</when>`:"<when> </when>"}catch(o){n("component.renderMethods.when",o)}},me=Tr;var Mt={c:ae,component:ae,e:de,each:de,i:le,i18n:le,w:me,when:me};var St=(t={},e={})=>{try{return Object.entries(Mt).reduce((r,[o,i])=>(r[o]=i.bind({...t,...e}),r),{})}catch(r){n("component.renderMethods.compile",r)}};var Tt=(t={})=>{try{return Object.entries(t)?.reduce((e={},[r,o]={})=>(e[r]=o?.map((i={})=>({state:i?.state,children:Tt(i?.children)})),e),{})}catch(e){n("component.render.getExistingStateMap.buildMapForChildren",e)}},Ot=(t={})=>{try{return Tt(t)}catch(e){n("component.render.getExistingStateMap",e)}};var Ct=new RegExp(/\<\!\-\-(?:.|\n|\r)*?-->/g),Or=new RegExp(/\n/g);var Cr=(t="")=>{try{return(t.match(Ct)||[]).forEach(r=>{t=t.replace(r,"")}),t}catch(e){n("component.render.sanitizeHTML.removeCommentedCode",e)}},vt=(t="")=>{try{let e=`${t}`;return e=Cr(e),e}catch(e){n("component.render.sanitizeHTML",e)}};var jt=(t={},e="")=>{try{let{wrapper:r=null,id:o=null,instanceId:i=null}=t;return`<div ${r?.id?`id="${r.id}" `:""}${r?.classList?`class="${r.classList?.join(" ")}" `:""} js-c="${o}" js-i="${i}">${e}</div>`}catch(r){n("component.render.wrapHTML",r)}};var Rt=(t={},e=[])=>{try{let r=[...e],o=Object.entries(t);for(let i=0;i<o?.length;i+=1){let[s,c]=o[i];for(let a=0;a<c?.length;a+=1){let p=c[a];Object.entries(p?.timers)?.length>0&&r.push(...Object.values(p?.timers)),Object.entries(p?.children)?.length>0&&Rt(p?.children,r)}}if(r?.length>0)for(let i=0;i<r?.length;i+=1)clearTimeout(r[i])}catch(r){n("component.render.clearTimersOnChildren",r)}},At=Rt;var ee=(t={},e={})=>{try{e?.dataFromSSR&&(t.data=G(e.dataFromSSR,t.id)||{}),At(t?.children);let r=Ot(e?.existingChildren||t?.children)||{};t.children={},t.renderMethods=St({...t,existingStateMap:r,translations:e?.translations||t.translations||{},ssrTree:e?.ssrTree,walkingTreeForSSR:e?.walkingTreeForSSR,renderingHTMLWithDataForSSR:e?.renderingHTMLWithDataForSSR,dataFromSSR:e?.dataFromSSR}),t.methods=W(t,t.options.methods);let o=t.options.render({...t||{},setState:t.setState.bind(t),...t.renderMethods||{}}),i=vt(o),s=jt(t,i);return{unwrapped:i,wrapped:s}}catch(r){n("component.render.toHTML",r)}};var vr=(t={})=>{try{return Object.values(t).reduce((e={},r)=>(e[r.name]=r.value,e),{})}catch(e){n("component.virtualDOM.build.parseAttributeMap",e)}},_t=(t={})=>{try{return t.tagName==="WHEN"?[].flatMap.call(t?.childNodes,e=>e?.tagName==="WHEN"?_t(e):pe(e)):pe(t)}catch(e){n("component.virtualDOM.build.flattenWhenTags",e)}},pe=(t={})=>{try{let e=t&&t.tagName&&t.tagName.toLowerCase()||"text",r={tagName:e,attributes:vr(t.attributes),children:[].flatMap.call(t.childNodes,o=>_t(o))};return e==="text"&&(r=t.textContent),r}catch(e){n("component.virtualDOM.build",e)}},z=pe;var jr=(t="")=>{try{let e=document.createElement("div");return e.innerHTML=t,e?.childNodes[0]}catch(e){n("component.virtualDOM.build.convertHTMLToDOM",e)}},Lt=(t="")=>{try{let e=jr(t);return z(e)}catch(e){n("component.virtualDOM.build",e)}};var Dt=(t="")=>{try{return document.createElement("div").setAttribute(t,"Test"),!0}catch{return!1}};var Rr=(t={})=>{try{let e=document.createElement(t.tagName),r=Object.entries(t.attributes);for(let o=0;o<r.length;o+=1){let[i,s]=r[o];Dt(i)&&e.setAttribute(i,s)}for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(i){let s=Pt(i);e.appendChild(s)}}return e}catch(e){n("component.virtualDOM.renderTreeToDOM.renderElement",e)}},Pt=(t=null)=>{try{return T(t)?document.createTextNode(t):Rr(t)}catch(e){n("component.virtualDOM.renderTreeToDOM",e)}},q=Pt;var U=(t={},e={})=>{try{let r=ee(t,{existingChildren:e?.existingChildren}),o=Lt(r.wrapped,t),i=e.includeActual&&o?q(o):null;return{html:r,virtual:o,actual:i}}catch(r){n("component.render.getUpdatedDOM",r)}};var It=(t={},e={})=>{try{let r=U(t,{includeActual:!0,existingChildren:e?.existingChildren});return t.dom=r,r.actual}catch(r){n("component.render.forMount",r)}};var Ar=(t={},e={})=>{let r=[];for(let[o,i]of Object.entries(e))r.push(s=>(s&&s.setAttribute&&s.setAttribute(o,i),s));for(let o in t)o in e||r.push(i=>(i&&i.removeAttribute&&i.removeAttribute(o),i));return o=>{for(let i of r)i&&typeof i=="function"&&i(o)}},te=Ar;var _r=(t=[],e=[])=>{let r=[],o=Math.max(t.length,e.length);for(let i=0;i<o;i+=1){let s=t[i],c=e[i];r.push([s,c])}return r},Nt=_r;var Lr=(t=[],e)=>{t.forEach(r=>{r&&typeof r=="function"&&r(e)})},Dr=(t=[])=>{t.forEach(([e,r])=>{e&&typeof e=="function"&&e(r)})},Pr=(t=[],e=[])=>{let r=[];return e.slice(t.length).forEach(i=>{let s=c=>{let a=q(i);return c.appendChild(a),c};r.push(s)}),r},Ir=(t=[],e=[])=>{let r=[];return t.forEach((o,i)=>{let s=oe(o,e[i]);r.push(s)}),r},Nr=(t=[],e=[])=>{let r=Ir(t,e),o=Pr(t,e);return i=>{if(i){let s=Nt(r,i.childNodes);Dr(s),Lr(o,i)}return i}},re=Nr;var Vt={select:(t,e)=>r=>{let o=r.value;r.replaceChildren(),te(t.attributes,e.attributes)(r),re([],e.children)(r);let i=r.querySelector(`option[value="${o}"]`);if(i&&(r.value=o),!i){let s=r.querySelector("option");r.value=s?.value||""}return r}};var ue=(t,e)=>r=>{let o=t?q(t):null;return r&&r.replaceWith(o),o},Vr=()=>t=>{t&&t.remove()},Ur=(t=void 0,e=void 0)=>t===void 0||e===void 0?Vr():typeof t=="string"||typeof e=="string"?ue(e,t):t.tagName!==e.tagName?ue(e):e.tagName==="select"?Vt.select(t,e):["pre","code"].includes(e.tagName)?ue(e,t):i=>(te(t.attributes,e.attributes)(i),re(t.children,e.children)(i),i),oe=Ur;var qr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){n("processQueue.getQueue",e)}},Z=(t="",e=null)=>{try{O()||(qr(t)||{}).process(e)}catch(r){n("processQueue",r)}};var Ut=(t="",e=null)=>{let r=A(e||window.joystick._internal.tree,t,"instanceId");r&&(r.children=[])};var qt=(t="",e={},r=null)=>{let o=A(r||window.joystick._internal.tree,t,"instanceId");o&&(o.instanceId=e?.instanceId,o.instance=e)};var Ht=(t={},e="",r={})=>{for(let o=0;o<t?.children?.length;o+=1){let i=t?.children[o];if(m(i)&&i.attributes&&i.attributes["js-i"]&&i.attributes["js-i"]===e){t.children[o]=r;break}m(i)&&Ht(i,e,r)}},zt=Ht;var Zt=(t={})=>{try{return Object.entries(t).map(([e,r])=>{let[o,...i]=e.split(" ");return{type:o.toLowerCase(),selector:i.join(" "),handler:r}})}catch(e){n("component.events.serialize",e)}};var Bt=(t={},e={},r=[])=>{try{let o=Object.keys(t?.events||{})?.length>0?Zt(t?.events):[];for(let i=0;i<o?.length;i+=1){let s=o[i];r.push({...s,instance:t,elements:document.querySelectorAll(`body [js-i="${t.instanceId}"] ${s?.selector}`),handler:function(a){s.handler(a,{...t||{},setState:t?.setState.bind(t),...e||{}}),j(`ui.${t?.options?.test?.name||b()}.events.${s.type}.${s?.selector}`,[a,{...t||{},setState:t?.setState.bind(t),...e||{}}])}})}if(t?.children){let i=Object.entries(t?.children)?.flatMap(([s,c])=>c);for(let s=0;s<i?.length;s+=1){let c=i[s];Bt(c,e,r)}}return r}catch(o){n("component.eve!nts.registerListenersFix.getListeners",o)}},Hr=(t={},e={})=>{try{let o=Bt(t,e,[])?.flatMap((i={})=>[].flatMap.call(i?.elements||[],s=>{let{elements:c=[],...a}=i||{};return{...a,element:s}}));for(let i=0;i<o?.length;i+=1){let{instance:s,element:c,elementSelector:a,type:p,handler:y}=o[i];c.addEventListener(p,y),s._eventListeners=[...s?._eventListeners||[],{instance:s,element:c,elementSelector:a,type:p,handler:y}]}}catch(r){n("component.events.registerListenersFix",r)}},Gt=Hr;var Kt=(t={})=>{try{let e=t?._eventListeners||[];if(t?.children){let o=(Object.values(t?.children||{})?.reduce((i=[],s=[])=>[...i,...s],[])).flatMap((i={})=>Kt(i));e=[...e,...o]}return e}catch(e){n("component.events.unregisterListenersFix.getListeners",e)}},zr=(t={})=>{try{let e=Kt(t);for(let r=0;r<e?.length;r+=1){let{instance:o,element:i,type:s,handler:c}=e[r];i.removeEventListener(s,c),o._eventListeners=o._eventListeners?.splice(r,1)}}catch(e){n("component.events.unregisterListenersFix",e)}},Wt=zr;var Jt=class{constructor(e={}){this.parent=e?.parent||null,this.onUpdateChildComponent=this.handleUpdateChildComponentInVDOM,this.updateVirtualDOM=this.handleUpdateVirtualDOM,this.timers={},this.children={},je(e),ut(this,e),this.data=bt(this)}setDOMNodeOnInstance(){this.DOMNode=document.querySelector(`body [js-i="${this.instanceId}"]`)}async handleFetchData(e={},r={},o={},i=this){let s=await Y(e,r,o,i);return this.data=s,s}handleGetInstance(){return this}handleUpdateVirtualDOM(){if(this.DOMNode){let r=z(this.DOMNode);this.dom.virtual=r}let e=this.parent?A(window.joystick._internal.tree,this.parent?.instanceId,"instanceId"):null;e?.instance&&e.instance.updateVirtualDOM()}onBeforeRender(){if(!O())return{instanceId:this.instanceId}}render(e={}){if(j(`ui.${this?.options?.test?.name||b()}.render`,[e]),e?.mounting)return It(this,e);let r=this.onBeforeRender();Wt(this),Ut(this.instanceId);let o=U(this,{}),i=oe(this.dom.virtual,o.virtual);i&&l(i)&&Z("lifecycle.onBeforeMount",()=>{let s=i(this.DOMNode);this.dom.actual=s,this.dom.virtual=o.virtual,Gt(this,this.renderMethods),this.setDOMNodeOnInstance(),Z("domNodes",()=>{Z("lifecycle.onMount",()=>{this.onAfterRender(r,e)})})})}renderToHTML(e={}){return ee(this,e)}onAfterRender(e={},r={}){O()||(qt(e.instanceId,this),window.joystick._internal.css.update(),Z("lifecycle.onUpdateProps"),r?.afterSetStateRender&&l(r.afterSetStateRender)&&r.afterSetStateRender(),r?.afterRefetchDataRender&&l(r.afterRefetchDataRender)&&r.afterRefetchDataRender(),this.parent&&this.parent.onUpdateChildComponent(this.id,this.instanceId))}setState(e={},r=null){this.state=K(this,{...this.state||{},...e}),this.render({afterSetStateRender:()=>{r&&l(r)&&r()}})}setTimeout(e=null,r=0){e&&(this.timers[b()]=window.setTimeout(e,r))}setInterval(e=null,r=0){e&&(this.timers[b()]=window.setInterval(e,r))}handleUpdateChildComponentInVDOM(e="",r=""){let o=A(window.joystick._internal.tree,this.instanceId,"instanceId"),i=A(window.joystick._internal.tree,r,"instanceId");if(i?.instance?.DOMNode){let s=z(i?.instance?.DOMNode);zt(o?.instance?.dom?.virtual,i?.instanceId,s)}}},Qt=Jt;var Fd=(t={})=>{try{return(e={})=>new Qt({...t,props:e?.props,url:e?.url,translations:e?.translations,api:e?.api,req:e?.req,parent:e?.parent})}catch(e){n("component",e)}};export{Fd as default};
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- var Tr=Object.create;var le=Object.defineProperty;var Or=Object.getOwnPropertyDescriptor;var vr=Object.getOwnPropertyNames;var Cr=Object.getPrototypeOf,_r=Object.prototype.hasOwnProperty;var jr=t=>le(t,"__esModule",{value:!0});var Rr=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Ar=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vr(e))!_r.call(t,o)&&o!=="default"&&le(t,o,{get:()=>e[o],enumerable:!(r=Or(e,o))||r.enumerable});return t},Dr=t=>Ar(jr(le(t!=null?Tr(Cr(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var Nt=Rr(ne=>{(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof ne!="undefined")e(ne);else{var r={exports:{}};e(r.exports),t.index=r.exports}})(ne,function(t){"use strict";function e(p){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},e(p)}function r(p,d){return d&&(e(d)==="object"||typeof d=="function")?d:o(p)}function o(p){if(p===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p}function n(p){return n=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},n(p)}function s(p,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(d&&d.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),d&&c(p,d)}function c(p,d){return c=Object.setPrototypeOf||function($,_){return $.__proto__=_,$},c(p,d)}function a(p,d){if(!(p instanceof d))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.diff=void 0;var l=function p(d,$){a(this,p),this.type=d,this.path=$?$.toString():""},g=function(p){function d($,_,h){var L;return a(this,d),L=r(this,n(d).call(this,"E",$)),L.lhs=_,L.rhs=h,L}return s(d,p),d}(l),w=function(p){function d($,_,h,L){var E;return a(this,d),E=r(this,n(d).call(this,"M",$)),E.item=_,E.lhsIndex=h,E.rhsIndex=L,E}return s(d,p),d}(l),x=function(p){function d($,_){var h;return a(this,d),h=r(this,n(d).call(this,"D",$)),h.lhs=_,h}return s(d,p),d}(l),R=function(p){function d($,_){var h;return a(this,d),h=r(this,n(d).call(this,"A",$)),h.rhs=_,h}return s(d,p),d}(l),f=function(p,d){return p?"".concat(p,".").concat(d):d};t.diff=function(d,$){var _=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},h=[],L=_.matchKey,E=_.types||["E","A","D","M"],Sr=function(F,b,M,I){F.forEach(function(P,S){var j=b.findIndex(function(T){return T[I]===P[I]});-1<j?(-1<E.indexOf("M")&&S!==j&&h.push(new w(M,P,S,j)),J(P,b[j],f(M,j))):-1<E.indexOf("D")&&h.push(new x(M,P))}),b.forEach(function(P,S){var j=F.findIndex(function(T){return P[I]===T[I]});-1<E.indexOf("A")&&j===-1&&h.push(new R(f(M,S),P))})},J=function(F,b,M){var I=Object.prototype.toString.call(F),P=Object.prototype.toString.call(b);if(-1<E.indexOf("E")&&I!==P)return h.push(new g(M,F,b)),!1;if(I==="[object Object]")Object.getOwnPropertyNames(F).forEach(function(T){Object.prototype.hasOwnProperty.call(b,T)?J(F[T],b[T],f(M,T)):-1<E.indexOf("D")&&h.push(new x(f(M,T),F[T]))}),Object.getOwnPropertyNames(b).forEach(function(T){-1<E.indexOf("A")&&!Object.prototype.hasOwnProperty.call(F,T)&&h.push(new R(f(M,T),b[T]))});else if(I!=="[object Array]")-1<E.indexOf("E")&&F!==b&&h.push(new g(M,F,b));else if(L)Sr(F,b,M,L);else{var S=F.length-1,j=b.length-1;if(-1<E.indexOf("D"))for(;S>j;)h.push(new x(f(M,S),F[S--]));if(-1<E.indexOf("A"))for(;j>S;)h.push(new R(f(M,j),b[j--]));for(;0<=S;--S)J(F[S],b[S],f(M,S))}};return J(d,$),h}})});var H=(t="{}")=>{try{return JSON.parse(t)}catch{return t}};var i=(t="",e={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${e.message||e.reason||e}`)};var A=(t="",e=[])=>{try{console.error(`${t} failed with the following errors:`),e.forEach(r=>{console.log(r.message),r.stack&&console.log(r.stack)})}catch(r){i(t,r)}};var Lr=async(t={})=>{try{let e=await t.text();return H(e)}catch(e){i("accounts.request.handleParseResponse",e)}},Pr=(t="GET",e={})=>{try{return["POST"].includes(t)?JSON.stringify({...e,origin:window?.location?.origin}):null}catch(r){i("accounts.request.getBody",r)}},Ir=(t=null)=>{try{switch(t){case"authenticated":case"user":return"GET";default:return"POST"}}catch(e){i("accounts.request.getHTTPMethod",e)}},O=(t="",e={})=>{try{if(typeof window.fetch!="undefined")return new Promise((r,o)=>{let n=`${window.location.origin}/api/_accounts/${t}`,s=Ir(t),c=Pr(s,e);return fetch(n,{method:s,mode:"cors",headers:{"Content-Type":"application/json"},body:c,credentials:"include"}).then(async a=>{let l=await Lr(a);return l?.errors?(A(`accounts.${t}`,l.errors),o(l)):r(l)}).catch(a=>(A(`accounts.${t}`,[a]),o({errors:[a]})))})}catch(r){i(`accounts.request.${t}`,r)}};var be=async(t={})=>{try{let e=await O("authenticated",t);return e?.status===200&&e?.authenticated}catch(e){i("accounts.authenticated",e)}};var $e=(t={})=>{try{return O("login",t)}catch(e){i("accounts.login",e)}};var Ee=()=>{try{return O("logout")}catch(t){i("accounts.logout",t)}};var Fe=(t={})=>{try{return O("recover-password",t)}catch(e){i("accounts.recoverPassword",e)}};var ke=(t={})=>{try{return O("reset-password",t)}catch(e){i("accounts.resetPassword",e)}};var Me=(t={})=>{try{return O("signup",t)}catch(e){i("accounts.signup",e)}};var Se=async(t={})=>{try{let e=await O("user",t);return e?.status===200&&e?.user}catch(e){i("accounts.user",e)}};var Te={authenticated:be,login:$e,logout:Ee,recoverPassword:Fe,resetPassword:ke,signup:Me,user:Se};var Oe=t=>{try{return typeof t=="undefined"}catch(e){i("types.isUndefined",e)}},ve=t=>{try{return t===null}catch(e){i("types.isNull",e)}},Ce=t=>{try{return!0}catch(e){i("types.isDOM",e)}},q=t=>{try{return!!Array.isArray(t)}catch(e){i("types.isArray",e)}};var u=t=>{try{return typeof t=="function"}catch(e){i("types.isFunction",e)}};var m=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(e){i("types.isObject",e)}};var C=t=>{try{return typeof t=="string"}catch(e){i("types.isString",e)}};var _e=class{constructor(e="",r={}){this.name=e,this.value=r||{},this.listeners={change:[],set:[],unset:[]}}_getValueAtPath(e=""){return e?.split(".").reduce((r=null,o="")=>(r[o]&&(r=r[o]),r),this.value)}get(e=""){return e?.trim()===""?{...this.value||{}}:this._getValueAtPath(e)}set(e=null,r=""){if(!e||!u(e))throw new Error("First argument passed to set() must be a function.");let o=e(this.value);if(!m(o))throw new Error("Value to set must be an object representing the current cache state.");this.value=o,this._handleEvent(r,"set"),this._handleEvent(r,"change")}unset(e="",r=""){e?.trim()===""&&(this.value={});let o=e?.split("."),n=o?.length-1;o.reduce((s,c,a)=>(a===n&&delete s[c],s[c]),this.value),this._handleEvent(r,"unset"),this._handleEvent(r,"change")}on(e="",r=null){if(!["change","set","unset"].includes(e))throw new Error(`Event to listen for must be change, set, or unset. ${e} is not supported.`);if(!r||!u(r))throw new Error("Second argument passed to on("<e>") must be a function.");this.listeners={[e]:[...this.listeners[e]||[],r]}}_handleEvent(e="",r=""){let o=this.listeners[r]||[];for(let n=0;n<o?.length;n+=1){let s=o[n];u(s)&&s(this.value,e,r)}}},je=_e;var Re=(t="",e={})=>{try{if(!t||t&&!C(t))throw new Error("Must pass a cache name as a string.");if(e&&!m(e))throw new Error("Default value for cache must be an object.");return new je(t,e)}catch(r){i("cache",r)}};var Ae=(t="")=>t;var k=()=>typeof window=="undefined";var De=(t={},e={})=>{let r=t({props:e}),o=r.renderToHTML();return k()||r.appendCSSToHead(),o?.wrapped};var v=(t="",e=[])=>{typeof window!="undefined"&&!!window.__joystick_test__&&(window.test={...window.test||{},functionCalls:{...window?.test?.functionCalls||{},[t]:[...window?.test?.functionCalls&&window?.test?.functionCalls[t]||[],{calledAt:new Date().toISOString(),args:e}]}})};var Le={utils:{trackFunctionCall:v}};var Pe="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split(""),y=(t=16)=>{let e="",r=0;for(;r<t;)e+=Pe[Math.floor(Math.random()*(Pe.length-1))],r+=1;return e};var U=null,Q=0,Ie=(t={},e=null)=>{try{let r=t?.url;t?.query&&(r=`${r}?${new URLSearchParams(t.query).toString()}`);let o=new WebSocket(r);U&&(clearInterval(U),U=null);let n={client:o,send:(s={})=>o.send(JSON.stringify(s))};return o.addEventListener("open",()=>{t?.options?.logging&&console.log(`[joystick.websockets] Connected to ${t?.url}`),t?.events?.onOpen&&t.events.onOpen(n),Q=0}),o.addEventListener("message",s=>{s?.data&&t?.events?.onMessage&&t.events.onMessage(JSON.parse(s.data||{}),n)}),o.addEventListener("close",s=>{t?.options?.logging&&console.log(`[joystick.websockets] Disconnected from ${t?.url}`),t?.events?.onClose&&t.events.onClose(s?.code,s?.reason,n),o=null;let c=[1e3,1001].includes(s?.code);t?.options?.autoReconnect&&!U&&!c&&(U=setInterval(()=>{o=null,Q<(t?.options?.reconnectAttempts||12)?(Ie(t,e),t?.options?.logging&&console.log(`[joystick.websockets] Attempting to reconnect (${Q+1}/12)...`),Q+=1):clearInterval(U)},t?.options?.reconnectDelayInSeconds*1e3||5e3))}),e&&e(n),n}catch(r){i("websockets.client",r)}},Y=Ie;var qe=(t="",e={})=>{try{return new Promise((r,o)=>{let n=y(),s=0;Y({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/uploaders`,options:{logging:!1,autoReconnect:!0,reconnectAttempts:12,reconnectDelayInSeconds:5},query:{id:n},events:{onMessage:(c={})=>{c?.type==="PROGRESS"&&e?.onProgress&&s<100&&s!==c?.progress&&(s=c?.progress,e.onProgress(c?.progress,c?.provider))}}},()=>{let c;e?.files?.length>0&&(c=new FormData,Array.from(e?.files).forEach(a=>{c.append("files",a,a.name)})),fetch(`${window.location.origin}/api/_uploaders/${t}`,{method:"POST",headers:{"x-joystick-upload-id":n,"x-joystick-upload-input":JSON.stringify(e?.input||{})},body:c}).then(async a=>{let l=await a.json();console.log(l),l&&l.errors?(A("upload",l.errors),o({errors:l.errors})):r(l?.uploads)})})})}catch(r){i("upload",r)}};var Ne=(t={})=>{try{let e=null;typeof window!="undefined"&&(e=window),typeof global!="undefined"&&(e=global),e&&(e.joystick={...e?.joystick||{},settings:e?.__joystick_settings__,...t})}catch(e){i("attachJoystickToWindow",e)}};var Ve=(t={})=>Object.entries(t).map(([e,r])=>`${e}=${r}`)?.join("; ");var qr=async(t={})=>{try{let e=await t.text();return H(e)}catch(e){i("api.get.handleParseResponse",e)}},He=(t="",e={})=>{try{return typeof window.fetch!="undefined"&&!e?.skip?new Promise((r,o)=>{let n=e.input?JSON.stringify(e.input):null,s=e.output?JSON.stringify(e.output):null,c=`${window.location.origin}/api/_getters/${t}?input=${n}&output=${s}`,a=document.querySelector('[name="csrf"]')?.getAttribute("content"),l={...e?.headers||{},"x-joystick-csrf":a};return window?.__joystick_test__&&(l.Cookie=Ve({joystickLoginToken:window.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expires_at__})),fetch(c,{method:"GET",mode:"cors",headers:l,credentials:"include"}).then(async g=>{let w=await qr(g);return w?.errors?(A("get request",w.errors),o(w)):r(w)}).catch(g=>(A("get request",[g]),o({errors:[g]})))}):Promise.resolve()}catch(r){i("get request",r)}};var Nr=async(t={})=>{try{let e=await t.text();return H(e)}catch(e){i("api.set.handleParseResponse",e)}},Vr=(t={})=>{try{return JSON.stringify(t)}catch(e){i("api.set.getBody",e)}},Ue=(t="",e={})=>{try{return typeof window.fetch!="undefined"?new Promise((r,o)=>{let n=`${window.location.origin}/api/_setters/${t}`,s=Vr(e),c=document.querySelector('[name="csrf"]')?.getAttribute("content"),a={...e?.headers||{},"Content-Type":"application/json","x-joystick-csrf":c};return window?.__joystick_test__&&(a.Cookie=generateCookieHeader({joystickLoginToken:window?.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expirs_at__})),fetch(n,{method:"POST",mode:"cors",headers:a,body:s,credentials:"include"}).then(async l=>{let g=await Nr(l);return g?.errors?(A("set request",g.errors),o(g)):r(g)}).catch(l=>(A("set request",[l]),o({errors:[l]})))}):Promise.resolve()}catch(r){i("set request",r)}};var G={get:He,set:Ue};var ze=["render"];var Be=(t={})=>{try{return ze.every(e=>Object.keys(t).includes(e))}catch(e){i("component.hasAllRequiredOptions",e)}};var Ze=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","translations","url","websockets","wrapper"];var Ge=(t=null)=>{try{!C(t)&&!u(t)&&!m(t)&&i("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(e){i("component.optionValidators.css",e)}};var We=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var Ke=(t=null)=>{try{m(t)||i("component.optionValidators.events","options.events must be an object.");for(let e of Object.keys(t)){let[r]=e.split(" ");We.includes(r)||i("component.optionValidators.events",`${r} is not a supported JavaScript event type.`)}for(let[e,r]of Object.entries(t))u(r)||i("component.optionValidators.events",`options.events.${e} must be assigned a function.`)}catch(e){i("component.optionValidators.events",e)}};var Je=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var Qe=(t=null)=>{try{m(t)||i("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[e,r]of Object.entries(t))Je.includes(e)||i("component.optionValidators.lifecycle",`options.lifecycle.${e} is not supported.`),u(r)||i("component.optionValidators.lifecycle",`options.lifecycle.${e} must be assigned a function.`)}catch(e){i("component.optionValidators.lifecycle",e)}};var Ye=(t=null)=>{try{m(t)||i("component.optionValidators.methods","options.methods must be an object.");for(let[e,r]of Object.entries(t))u(r)||i("component.optionValidators.methods",`options.methods.${e} must be assigned a function.`)}catch(e){i("component.optionValidators.methods",e)}};var Xe=(t=null)=>{typeof t!="string"&&i("component.optionValidators.name","options.name must be a string.")};var et=(t=null)=>{try{u(t)||i("component.optionValidators.render","options.render must be a function returning a string.")}catch(e){i("component.optionValidators.render",e)}};var tt=(t=null)=>{try{u(t)||i("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(e){i("component.optionValidators.websockets",e)}};var rt=(t=null)=>{try{m(t)||i("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[e,r]of Object.entries(t))e==="id"&&!C(r)&&i("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned a string.`),e==="classList"&&!q(r)&&i("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned an array of strings.`)}catch(e){i("component.optionValidators.wrapper",e)}};var ot={css:Ge,events:Ke,lifecycle:Qe,methods:Ye,name:Xe,render:et,websockets:tt,wrapper:rt};var nt=(t={})=>{try{Be(t)||i("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[e,r]of Object.entries(t)){Ze.includes(e)||i("component.validateOptions",`${e} is not supported by joystick.component.`);let o=ot[e];o&&u(o)&&o(r)}}catch(e){i("component.validateOptions",e)}};var X=(t=[],e="")=>{try{return(q(t)&&t.find(o=>o?.componentId===e))?.data||{}}catch(r){i("findComponentDataFromSSR",r)}};var it=(()=>{let t=0;return(e,r)=>{clearTimeout(t),t=setTimeout(e,r)}})();var z=t=>!!(t&&typeof t=="object"&&!Array.isArray(t));var st=t=>typeof t=="string";var at=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/,ct=(t,e="")=>{if(!e)return!0;if(e&&!st(e))return!1;let r=e?e.replace(/[- ]+/g,""):"";return t===!0?r.match(new RegExp(at)):!r.match(new RegExp(at))};var dt=/^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/,lt=(t,e="")=>t===!0?!!e.match(dt):!e.match(dt);var ut=(t,e="")=>t===e;var mt=(t,e="")=>t===e;var pt=(t,e="")=>e.length<=t;var ft=(t,e="")=>e.length>=t;var ht=/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/,wt=(t,e="")=>t===!0?!!e.match(ht):!e.match(ht);var yt={AF:/^\d{4}$/,AX:/^\d{5}$/,AL:/^\d{4}$/,DZ:/^\d{5}$/,AS:/^\d{5}(-{1}\d{4,6})$/,AD:/^[Aa][Dd]\d{3}$/,AI:/^[Aa][I][-][2][6][4][0]$/,AR:/^\d{4}|[A-Za-z]\d{4}[a-zA-Z]{3}$/,AM:/^\d{4}$/,AC:/^[Aa][Ss][Cc][Nn]\s{0,1}[1][Zz][Zz]$/,AU:/^\d{4}$/,AT:/^\d{4}$/,AZ:/^[Aa][Zz]\d{4}$/,BH:/^\d{3,4}$/,BD:/^\d{4}$/,BB:/^[Aa][Zz]\d{5}$/,BY:/^\d{6}$/,BE:/^\d{4}$/,BM:/^[A-Za-z]{2}\s([A-Za-z]{2}|\d{2})$/,BT:/^\d{5}$/,BO:/^\d{4}$/,BA:/^\d{5}$/,BR:/^\d{5}-\d{3}$/,"":/^[Bb][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,IO:/^[Bb]{2}[Nn][Dd]\s{0,1}[1][Zz]{2}$/,VG:/^[Vv][Gg]\d{4}$/,BN:/^[A-Za-z]{2}\d{4}$/,BG:/^\d{4}$/,KH:/^\d{5}$/,CA:/^(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\s{0,1}\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d$/,CV:/^\d{4}$/,KY:/^[Kk][Yy]\d[-\s]{0,1}\d{4}$/,TD:/^\d{5}$/,CL:/^\d{7}\s\(\d{3}-\d{4}\)$/,CN:/^\d{6}$/,CX:/^\d{4}$/,CC:/^\d{4}$/,CO:/^\d{6}$/,CD:/^[Cc][Dd]$/,CR:/^\d{4,5}$/,HR:/^\d{5}$/,CU:/^\d{5}$/,CY:/^\d{4}$/,CZ:/^\d{5}\s\(\d{3}\s\d{2}\)$/,DK:/^\d{4}$/,DO:/^\d{5}$/,EC:/^\d{6}$/,SV:/^1101$/,EG:/^\d{5}$/,EE:/^\d{5}$/,ET:/^\d{4}$/,FK:/^[Ff][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,FO:/^\d{3}$/,FI:/^\d{5}$/,FR:/^\d{5}$/,GF:/^973\d{2}$/,PF:/^987\d{2}$/,GA:/^\d{2}\s[a-zA-Z-_ ]\s\d{2}$/,GE:/^\d{4}$/,DE:/^\d{2}$/,GI:/^[Gg][Xx][1]{2}\s{0,1}[1][Aa]{2}$/,GR:/^\d{3}\s{0,1}\d{2}$/,GL:/^\d{4}$/,GP:/^971\d{2}$/,GU:/^\d{5}$/,GT:/^\d{5}$/,GG:/^[A-Za-z]{2}\d\s{0,1}\d[A-Za-z]{2}$/,GW:/^\d{4}$/,HT:/^\d{4}$/,HM:/^\d{4}$/,HN:/^\d{5}$/,HU:/^\d{4}$/,IS:/^\d{3}$/,IN:/^\d{6}$/,ID:/^\d{5}$/,IR:/^\d{5}-\d{5}$/,IQ:/^\d{5}$/,IM:/^[Ii[Mm]\d{1,2}\s\d\[A-Z]{2}$/,IL:/^\b\d{5}(\d{2})?$/,IT:/^\d{5}$/,JM:/^\d{2}$/,JP:/^\d{7}\s\(\d{3}-\d{4}\)$/,JE:/^[Jj][Ee]\d\s{0,1}\d[A-Za-z]{2}$/,JO:/^\d{5}$/,KZ:/^\d{6}$/,KE:/^\d{5}$/,KR:/^\d{6}\s\(\d{3}-\d{3}\)$/,XK:/^\d{5}$/,KW:/^\d{5}$/,KG:/^\d{6}$/,LV:/^[Ll][Vv][- ]{0,1}\d{4}$/,LA:/^\d{5}$/,LB:/^\d{4}\s{0,1}\d{4}$/,LS:/^\d{3}$/,LR:/^\d{4}$/,LY:/^\d{5}$/,LI:/^\d{4}$/,LT:/^[Ll][Tt][- ]{0,1}\d{5}$/,LU:/^\d{4}$/,MK:/^\d{4}$/,MG:/^\d{3}$/,MV:/^\d{4,5}$/,MY:/^\d{5}$/,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MH:/^\d{5}$/,MQ:/^972\d{2}$/,YT:/^976\d{2}$/,FM:/^\d{5}(-{1}\d{4})$/,MX:/^\d{5}$/,MD:/^[Mm][Dd][- ]{0,1}\d{4}$/,MC:/^980\d{2}$/,MN:/^\d{5}$/,ME:/^\d{5}$/,MS:/^[Mm][Ss][Rr]\s{0,1}\d{4}$/,MA:/^\d{5}$/,MZ:/^\d{4}$/,MM:/^\d{5}$/,NA:/^\d{5}$/,NP:/^\d{5}$/,NL:/^\d{4}\s{0,1}[A-Za-z]{2}$/,NC:/^988\d{2}$/,NZ:/^\d{4}$/,NI:/^\d{5}$/,NE:/^\d{4}$/,NG:/^\d{6}$/,NF:/^\d{4}$/,MP:/^\d{5}$/,NO:/^\d{4}$/,OM:/^\d{3}$/,PK:/^\d{5}$/,PW:/^\d{5}$/,PA:/^\d{6}$/,PG:/^\d{3}$/,PY:/^\d{4}$/,PE:/^\d{5}$/,PH:/^\d{4}$/,PN:/^[Pp][Cc][Rr][Nn]\s{0,1}[1][Zz]{2}$/,PL:/^\d{2}[- ]{0,1}\d{3}$/,PT:/^\d{4}$/,PR:/^\d{5}$/,RE:/^974\d{2}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,BL:/^97133$/,SH:/^[Ss][Tt][Hh][Ll]\s{0,1}[1][Zz]{2}$/,MF:/^97150$/,PM:/^97500$/,VC:/^[Vv][Cc]\d{4}$/,SM:/^4789\d$/,SA:/^\d{5}(-{1}\d{4})?$/,SN:/^\d{5}$/,RS:/^\d{5}$/,SG:/^\d{2}$/,SK:/^\d{5}\s\(\d{3}\s\d{2}\)$/,SI:/^([Ss][Ii][- ]{0,1}){0,1}\d{4}$/,ZA:/^\d{4}$/,GS:/^[Ss][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,ES:/^\d{5}$/,LK:/^\d{5}$/,SD:/^\d{5}$/,SZ:/^[A-Za-z]\d{3}$/,SE:/^\d{3}\s*\d{2}$/,CH:/^\d{4}$/,SJ:/^\d{4}$/,TW:/^\d{5}$/,TJ:/^\d{6}$/,TH:/^\d{5}$/,TT:/^\d{6}$/,TN:/^\d{4}$/,TR:/^\d{5}$/,TM:/^\d{6}$/,TC:/^[Tt][Kk][Cc][Aa]\s{0,1}[1][Zz]{2}$/,UA:/^\d{5}$/,GB:/^[A-Z]{1,2}[0-9R][0-9A-Z]?\s*[0-9][A-Z-[CIKMOV]]{2}/,US:/^\b\d{5}\b(?:[- ]{1}\d{4})?$/,UY:/^\d{5}$/,VI:/^\d{5}$/,UZ:/^\d{3} \d{3}$/,VA:/^120$/,VE:/^\d{4}(\s[a-zA-Z]{1})?$/,VN:/^\d{6}$/,WF:/^986\d{2}$/,ZM:/^\d{5}$/},gt=(t,e="")=>{let r=z(t)&&t.iso?yt[t.iso||"US"]:yt.US;return z(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var xt=(t,e="",r={isChecked:!1})=>{if(!r.isChecked)return t===!0?e&&e.trim()!=="":e&&e.trim()==="";if(r.isChecked)return t===!0?e:!e};var bt=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,$t=(t,e="")=>t===!0?!!e.match(bt):!e.match(bt);var Et=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Ft=(t,e="")=>t===!0?!!e.match(Et):!e.match(Et);var kt=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/,Mt=(t,e="")=>t===!0?!!e.match(kt):!e.match(kt);var St=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/,Tt=(t,e="")=>t===!0?!!e.match(St):!e.match(St);var Ot={AT:/^(AT)(U\d{8}$)/i,BE:/^(BE)(\d{10}$)/i,BG:/^(BG)(\d{9,10}$)/i,CY:/^(CY)([0-5|9]\d{7}[A-Z]$)/i,CZ:/^(CZ)(\d{8,10})?$/i,DE:/^(DE)([1-9]\d{8}$)/i,DK:/^(DK)(\d{8}$)/i,EE:/^(EE)(10\d{7}$)/i,EL:/^(EL)(\d{9}$)/i,ES:/^(ES)([0-9A-Z][0-9]{7}[0-9A-Z]$)/i,EU:/^(EU)(\d{9}$)/i,FI:/^(FI)(\d{8}$)/i,FR:/^(FR)([0-9A-Z]{2}[0-9]{9}$)/i,GB:/^(GB)((?:[0-9]{12}|[0-9]{9}|(?:GD|HA)[0-9]{3})$)/i,GR:/^(GR)(\d{8,9}$)/i,HR:/^(HR)(\d{11}$)/i,HU:/^(HU)(\d{8}$)/i,IE:/^(IE)([0-9A-Z\*\+]{7}[A-Z]{1,2}$)/i,IT:/^(IT)(\d{11}$)/i,LV:/^(LV)(\d{11}$)/i,LT:/^(LT)(\d{9}$|\d{12}$)/i,LU:/^(LU)(\d{8}$)/i,MT:/^(MT)([1-9]\d{7}$)/i,NL:/^(NL)(\d{9}B\d{2}$)/i,NO:/^(NO)(\d{9}$)/i,PL:/^(PL)(\d{10}$)/i,PT:/^(PT)(\d{9}$)/i,RO:/^(RO)([1-9]\d{1,9}$)/i,RU:/^(RU)(\d{10}$|\d{12}$)/i,RS:/^(RS)(\d{9}$)/i,SI:/^(SI)([1-9]\d{7}$)/i,SK:/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7}$)/i,SE:/^(SE)(\d{10}01$)/i},vt=(t,e="")=>{let r=z(t)&&t.iso?Ot[t.iso||"EU"]:Ot.EU;return z(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var Ct={creditCard:ct,email:lt,equals:ut,matches:mt,maxLength:pt,minLength:ft,phone:wt,postalCode:gt,required:xt,semVer:$t,slug:Ft,strongPassword:Mt,url:Tt,vat:vt};var _t=class{constructor(e,r={}){this.fieldsToListenToForChanges=["checkbox","color","date","datetime-local","email","file","hidden","month","number","password","radio","range","search","tel","text","time","url","week"],this.defaultValidationErrors={required:()=>"This field is required.",email:()=>"Must be a valid email.",creditCard:()=>"Must be a valid credit card number.",equals:o=>`Value must equal ${o}.`,matches:o=>`Field must match ${o}.`,maxLength:o=>`Field value can be no greater than ${o}.`,minLength:o=>`Field value can be no less than ${o}.`,phone:()=>"Field value must be a valid telephone number.",postalCode:()=>"Field value must be a valid postal code.",semVer:()=>"Field value must be a valid semantic version.",slug:()=>"Field value must be a valid URL slug.",strongPassword:()=>"Field value must be a valid password.",url:()=>"Field value must be a valid URL.",vat:()=>"Field value must be a valid VAT code."},e||console.warn("[validateForm] Must pass an HTML <form></form> element to validate."),this.form=e,this.setOptions(r),this.attachEventListeners()}setOptions(e={}){this.rules=e.rules||{},this.messages=e.messages||{},this.onSubmit=e.onSubmit,this.fields=this.serialize()}updateOptions(e={}){this.setOptions(e)}serialize(){if(this.form)return Object.keys(this.rules).map(r=>{let o=this.form.querySelector(`[name="${r}"]`),n=o?.type;return{listenForChanges:this.fieldsToListenToForChanges.includes(n),type:n,name:r,element:o,validations:Object.entries(this.rules[r]).map(([c,a])=>({name:c,rule:a,valid:!1})).sort((c,a)=>c.name>a.name?1:-1),errorMessages:this.messages[r]?Object.keys(this.messages[r]):{}}})}attachEventListeners(){if(this.form){let e=r=>{r.stopPropagation(),r.preventDefault(),this.validate()&&this.onSubmit&&this.onSubmit()};if(this.form.listeners?.length>0)for(let r=0;r<this.form.listeners.length;r+=1){let o=this.form.listeners[r];this.form.removeEventListener("submit",o)}this.form.addEventListener("submit",e),this.form.listeners=[...this.form.listeners||[],e]}this.fields.forEach(e=>{if(e?.element&&e?.listenForChanges){let r=()=>{it(()=>{this.validate(e.name)},100)};e.element.removeEventListener("input",r),e.element.addEventListener("input",r),e.element.removeEventListener("change",r),e.element.addEventListener("change",r)}})}validate(e=null){if(e){this.clearExistingErrors();let r=this.fields.find(o=>o.name===e);return this.validateField(r),this.checkIfValid()}else return this.clearExistingErrors(),this.fields.forEach(r=>{this.validateField(r)}),this.checkIfValid()}checkIfValid(){return!this.fields.map(r=>r.validations.some(o=>!o.valid)).includes(!0)}validateField(e){let r=this.form.querySelector(`[name="${e.name}"]`),o=["checkbox","radio"].includes(e.type),n=o?null:e?.element?.value?.trim(),s=o?e?.element?.checked:null;e.validations.forEach(a=>{if(this.isValidValue(o,o?s:n,a))this.markValidationAsValid(e,a.name);else{let l=this.messages[e.name]&&this.messages[e.name][a.name];this.markValidationAsInvalid(e,a.name),this.renderError(e.element,l||this.defaultValidationErrors[a.name](a.rule,n))}});let c=e.validations.some(a=>!a.valid);return c&&(r.classList.add("error"),r.focus()),c||(r.classList.remove("error"),this.clearExistingError(e.name)),!c}markValidationAsInvalid(e,r){let n=[...e.validations].find(s=>s.name===r);n.valid=!1}markValidationAsValid(e,r){let n=[...e.validations].find(s=>s.name===r);n.valid=!0}isValidValue(e,r,o){let n=Ct[o.name];return n?n(o.rule,r,{isChecked:e}):!0}clearExistingErrors(){this.form&&this.form.querySelectorAll(".input-hint.error").forEach(e=>e.remove())}clearExistingError(e=""){let r=document.getElementById(`error-${e}`);r&&r.remove()}renderError(e,r=""){if(e){this.clearExistingError(e.name);let o=document.createElement("p");o.classList.add("input-hint"),o.classList.add("error"),o.setAttribute("id",`error-${e.name}`),o.innerText=r,e.after(o)}}},Hr=(t,e)=>new Promise((r,o)=>{try{new _t(t,e).validate()?r():o()}catch(n){console.warn(n)}}),jt=Hr;var Rt=(t={},e={})=>{try{return[...Object.keys(e),...Object.keys(t)].filter((o,n,s)=>s.indexOf(o)===n).reduce((o,n)=>{let s=e[n],c=t[n]||null,a=!Oe(s)&&!ve(s);return o[n]=a?s:c,o},{})}catch(r){i("component.props.compile",r)}};var ee=(t="",e={})=>{try{let r="";if(t&&C(t))return r=t,r;if(t&&u(t))return r=t(e),r;if(t&&m(t)){let o=t?.print&&(C(t?.print)||u(t?.print)),n=t?.min&&m(t?.min),s=t?.min?.width&&m(t?.min?.width),c=t?.min?.height&&m(t?.min?.height),a=t?.max&&m(t?.max),l=t?.max?.width&&m(t?.max?.width),g=t?.max?.height&&m(t?.max?.height);if(o&&(r+=`
1
+ var Or=Object.create;var le=Object.defineProperty;var vr=Object.getOwnPropertyDescriptor;var Cr=Object.getOwnPropertyNames;var _r=Object.getPrototypeOf,jr=Object.prototype.hasOwnProperty;var Rr=t=>le(t,"__esModule",{value:!0});var Ar=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Dr=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Cr(e))!jr.call(t,o)&&o!=="default"&&le(t,o,{get:()=>e[o],enumerable:!(r=vr(e,o))||r.enumerable});return t},Lr=t=>Dr(Rr(le(t!=null?Or(_r(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var Vt=Ar(ne=>{(function(t,e){if(typeof define=="function"&&define.amd)define(["exports"],e);else if(typeof ne!="undefined")e(ne);else{var r={exports:{}};e(r.exports),t.index=r.exports}})(ne,function(t){"use strict";function e(p){return e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(d){return typeof d}:function(d){return d&&typeof Symbol=="function"&&d.constructor===Symbol&&d!==Symbol.prototype?"symbol":typeof d},e(p)}function r(p,d){return d&&(e(d)==="object"||typeof d=="function")?d:o(p)}function o(p){if(p===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return p}function n(p){return n=Object.setPrototypeOf?Object.getPrototypeOf:function(d){return d.__proto__||Object.getPrototypeOf(d)},n(p)}function s(p,d){if(typeof d!="function"&&d!==null)throw new TypeError("Super expression must either be null or a function");p.prototype=Object.create(d&&d.prototype,{constructor:{value:p,writable:!0,configurable:!0}}),d&&c(p,d)}function c(p,d){return c=Object.setPrototypeOf||function($,_){return $.__proto__=_,$},c(p,d)}function a(p,d){if(!(p instanceof d))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0}),t.diff=void 0;var l=function p(d,$){a(this,p),this.type=d,this.path=$?$.toString():""},g=function(p){function d($,_,h){var L;return a(this,d),L=r(this,n(d).call(this,"E",$)),L.lhs=_,L.rhs=h,L}return s(d,p),d}(l),w=function(p){function d($,_,h,L){var E;return a(this,d),E=r(this,n(d).call(this,"M",$)),E.item=_,E.lhsIndex=h,E.rhsIndex=L,E}return s(d,p),d}(l),x=function(p){function d($,_){var h;return a(this,d),h=r(this,n(d).call(this,"D",$)),h.lhs=_,h}return s(d,p),d}(l),R=function(p){function d($,_){var h;return a(this,d),h=r(this,n(d).call(this,"A",$)),h.rhs=_,h}return s(d,p),d}(l),f=function(p,d){return p?"".concat(p,".").concat(d):d};t.diff=function(d,$){var _=2<arguments.length&&arguments[2]!==void 0?arguments[2]:{},h=[],L=_.matchKey,E=_.types||["E","A","D","M"],Tr=function(F,b,S,I){F.forEach(function(P,T){var j=b.findIndex(function(O){return O[I]===P[I]});-1<j?(-1<E.indexOf("M")&&T!==j&&h.push(new w(S,P,T,j)),J(P,b[j],f(S,j))):-1<E.indexOf("D")&&h.push(new x(S,P))}),b.forEach(function(P,T){var j=F.findIndex(function(O){return P[I]===O[I]});-1<E.indexOf("A")&&j===-1&&h.push(new R(f(S,T),P))})},J=function(F,b,S){var I=Object.prototype.toString.call(F),P=Object.prototype.toString.call(b);if(-1<E.indexOf("E")&&I!==P)return h.push(new g(S,F,b)),!1;if(I==="[object Object]")Object.getOwnPropertyNames(F).forEach(function(O){Object.prototype.hasOwnProperty.call(b,O)?J(F[O],b[O],f(S,O)):-1<E.indexOf("D")&&h.push(new x(f(S,O),F[O]))}),Object.getOwnPropertyNames(b).forEach(function(O){-1<E.indexOf("A")&&!Object.prototype.hasOwnProperty.call(F,O)&&h.push(new R(f(S,O),b[O]))});else if(I!=="[object Array]")-1<E.indexOf("E")&&F!==b&&h.push(new g(S,F,b));else if(L)Tr(F,b,S,L);else{var T=F.length-1,j=b.length-1;if(-1<E.indexOf("D"))for(;T>j;)h.push(new x(f(S,T),F[T--]));if(-1<E.indexOf("A"))for(;j>T;)h.push(new R(f(S,j),b[j--]));for(;0<=T;--T)J(F[T],b[T],f(S,T))}};return J(d,$),h}})});var H=(t="{}")=>{try{return JSON.parse(t)}catch{return t}};var i=(t="",e={})=>{throw new Error(`[joystick${t?`.${t}`:""}] ${e.message||e.reason||e}`)};var A=(t="",e=[])=>{try{console.error(`${t} failed with the following errors:`),e.forEach(r=>{console.log(r.message),r.stack&&console.log(r.stack)})}catch(r){i(t,r)}};var Pr=async(t={})=>{try{let e=await t.text();return H(e)}catch(e){i("accounts.request.handleParseResponse",e)}},Ir=(t="GET",e={})=>{try{return["POST"].includes(t)?JSON.stringify({...e,origin:window?.location?.origin}):null}catch(r){i("accounts.request.getBody",r)}},qr=(t=null)=>{try{switch(t){case"authenticated":case"user":return"GET";default:return"POST"}}catch(e){i("accounts.request.getHTTPMethod",e)}},v=(t="",e={})=>{try{if(typeof window.fetch!="undefined")return new Promise((r,o)=>{let n=`${window.location.origin}/api/_accounts/${t}`,s=qr(t),c=Ir(s,e);return fetch(n,{method:s,mode:"cors",headers:{"Content-Type":"application/json"},body:c,credentials:"include"}).then(async a=>{let l=await Pr(a);return l?.errors?(A(`accounts.${t}`,l.errors),o(l)):r(l)}).catch(a=>(A(`accounts.${t}`,[a]),o({errors:[a]})))})}catch(r){i(`accounts.request.${t}`,r)}};var be=async(t={})=>{try{let e=await v("authenticated",t);return e?.status===200&&e?.authenticated}catch(e){i("accounts.authenticated",e)}};var $e=(t={})=>{try{return v("login",t)}catch(e){i("accounts.login",e)}};var Ee=()=>{try{return v("logout")}catch(t){i("accounts.logout",t)}};var Fe=(t={})=>{try{return v("recover-password",t)}catch(e){i("accounts.recoverPassword",e)}};var ke=(t={})=>{try{return v("reset-password",t)}catch(e){i("accounts.resetPassword",e)}};var Me=(t={})=>{try{return v("signup",t)}catch(e){i("accounts.signup",e)}};var Se=async(t={})=>{try{let e=await v("user",t);return e?.status===200&&e?.user}catch(e){i("accounts.user",e)}};var Te={authenticated:be,login:$e,logout:Ee,recoverPassword:Fe,resetPassword:ke,signup:Me,user:Se};var Oe=t=>{try{return typeof t=="undefined"}catch(e){i("types.isUndefined",e)}},ve=t=>{try{return t===null}catch(e){i("types.isNull",e)}},Ce=t=>{try{return!0}catch(e){i("types.isDOM",e)}},q=t=>{try{return!!Array.isArray(t)}catch(e){i("types.isArray",e)}};var u=t=>{try{return typeof t=="function"}catch(e){i("types.isFunction",e)}};var m=t=>{try{return!!(t&&typeof t=="object"&&!Array.isArray(t))}catch(e){i("types.isObject",e)}};var k=t=>{try{return typeof t=="string"}catch(e){i("types.isString",e)}};var _e=class{constructor(e="",r={}){this.name=e,this.value=r||{},this.listeners={change:[],set:[],unset:[]}}_getValueAtPath(e=""){return e?.split(".").reduce((r=null,o="")=>(r[o]&&(r=r[o]),r),this.value)}get(e=""){return e?.trim()===""?{...this.value||{}}:this._getValueAtPath(e)}set(e=null,r=""){if(!e||!u(e))throw new Error("First argument passed to set() must be a function.");let o=e(this.value);if(!m(o))throw new Error("Value to set must be an object representing the current cache state.");this.value=o,this._handleEvent(r,"set"),this._handleEvent(r,"change")}unset(e="",r=""){e?.trim()===""&&(this.value={});let o=e?.split("."),n=o?.length-1;o.reduce((s,c,a)=>(a===n&&delete s[c],s[c]),this.value),this._handleEvent(r,"unset"),this._handleEvent(r,"change")}on(e="",r=null){if(!["change","set","unset"].includes(e))throw new Error(`Event to listen for must be change, set, or unset. ${e} is not supported.`);if(!r||!u(r))throw new Error("Second argument passed to on("<e>") must be a function.");this.listeners={[e]:[...this.listeners[e]||[],r]}}_handleEvent(e="",r=""){let o=this.listeners[r]||[];for(let n=0;n<o?.length;n+=1){let s=o[n];u(s)&&s(this.value,e,r)}}},je=_e;var Re=(t="",e={})=>{try{if(!t||t&&!k(t))throw new Error("Must pass a cache name as a string.");if(e&&!m(e))throw new Error("Default value for cache must be an object.");return new je(t,e)}catch(r){i("cache",r)}};var Ae=(t="")=>t;var M=()=>typeof window=="undefined";var De=(t={},e={})=>{let r=t({props:e}),o=r.renderToHTML();return M()||r.appendCSSToHead(),o?.wrapped};var C=(t="",e=[])=>{typeof window!="undefined"&&!!window.__joystick_test__&&(window.test={...window.test||{},functionCalls:{...window?.test?.functionCalls||{},[t]:[...window?.test?.functionCalls&&window?.test?.functionCalls[t]||[],{calledAt:new Date().toISOString(),args:e}]}})};var Le={utils:{trackFunctionCall:C}};var Pe="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890".split(""),y=(t=16)=>{let e="",r=0;for(;r<t;)e+=Pe[Math.floor(Math.random()*(Pe.length-1))],r+=1;return e};var U=null,Q=0,Ie=(t={},e=null)=>{try{let r=t?.url;t?.query&&(r=`${r}?${new URLSearchParams(t.query).toString()}`);let o=new WebSocket(r);U&&(clearInterval(U),U=null);let n={client:o,send:(s={})=>o.send(JSON.stringify(s))};return o.addEventListener("open",()=>{t?.options?.logging&&console.log(`[joystick.websockets] Connected to ${t?.url}`),t?.events?.onOpen&&t.events.onOpen(n),Q=0}),o.addEventListener("message",s=>{s?.data&&t?.events?.onMessage&&t.events.onMessage(JSON.parse(s.data||{}),n)}),o.addEventListener("close",s=>{t?.options?.logging&&console.log(`[joystick.websockets] Disconnected from ${t?.url}`),t?.events?.onClose&&t.events.onClose(s?.code,s?.reason,n),o=null;let c=[1e3,1001].includes(s?.code);t?.options?.autoReconnect&&!U&&!c&&(U=setInterval(()=>{o=null,Q<(t?.options?.reconnectAttempts||12)?(Ie(t,e),t?.options?.logging&&console.log(`[joystick.websockets] Attempting to reconnect (${Q+1}/12)...`),Q+=1):clearInterval(U)},t?.options?.reconnectDelayInSeconds*1e3||5e3))}),e&&e(n),n}catch(r){i("websockets.client",r)}},Y=Ie;var qe=(t="",e={})=>{try{return new Promise((r,o)=>{let n=y(),s=0;Y({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/uploaders`,options:{logging:!1,autoReconnect:!0,reconnectAttempts:12,reconnectDelayInSeconds:5},query:{id:n},events:{onMessage:(c={})=>{c?.type==="PROGRESS"&&e?.onProgress&&s<100&&s!==c?.progress&&(s=c?.progress,e.onProgress(c?.progress,c?.provider))}}},()=>{let c;e?.files?.length>0&&(c=new FormData,Array.from(e?.files).forEach(a=>{c.append("files",a,a.name)})),fetch(`${window.location.origin}/api/_uploaders/${t}`,{method:"POST",headers:{"x-joystick-upload-id":n,"x-joystick-upload-input":JSON.stringify(e?.input||{})},body:c}).then(async a=>{let l=await a.json();console.log(l),l&&l.errors?(A("upload",l.errors),o({errors:l.errors})):r(l?.uploads)})})})}catch(r){i("upload",r)}};var Ne=(t={})=>{try{let e=null;typeof window!="undefined"&&(e=window),typeof global!="undefined"&&(e=global),e&&(e.joystick={...e?.joystick||{},settings:e?.__joystick_settings__,...t})}catch(e){i("attachJoystickToWindow",e)}};var Ve=(t={})=>Object.entries(t).map(([e,r])=>`${e}=${r}`)?.join("; ");var Nr=async(t={})=>{try{let e=await t.text();return H(e)}catch(e){i("api.get.handleParseResponse",e)}},He=(t="",e={})=>{try{return typeof window.fetch!="undefined"&&!e?.skip?new Promise((r,o)=>{let n=e.input?JSON.stringify(e.input):null,s=e.output?JSON.stringify(e.output):null,c=`${window.location.origin}/api/_getters/${t}?input=${n}&output=${s}`,a=document.querySelector('[name="csrf"]')?.getAttribute("content"),l={...e?.headers||{},"x-joystick-csrf":a};return window?.__joystick_test__&&(l.Cookie=Ve({joystickLoginToken:window.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expires_at__})),fetch(c,{method:"GET",mode:"cors",headers:l,credentials:"include"}).then(async g=>{let w=await Nr(g);return w?.errors?(A("get request",w.errors),o(w)):r(w)}).catch(g=>(A("get request",[g]),o({errors:[g]})))}):Promise.resolve()}catch(r){i("get request",r)}};var Vr=async(t={})=>{try{let e=await t.text();return H(e)}catch(e){i("api.set.handleParseResponse",e)}},Hr=(t={})=>{try{return JSON.stringify(t)}catch(e){i("api.set.getBody",e)}},Ue=(t="",e={})=>{try{return typeof window.fetch!="undefined"?new Promise((r,o)=>{let n=`${window.location.origin}/api/_setters/${t}`,s=Hr(e),c=document.querySelector('[name="csrf"]')?.getAttribute("content"),a={...e?.headers||{},"Content-Type":"application/json","x-joystick-csrf":c};return window?.__joystick_test__&&(a.Cookie=generateCookieHeader({joystickLoginToken:window?.__joystick_test_login_token__,joystickLoginTokenExpiresAt:window.__joystick_test_login_token_expirs_at__})),fetch(n,{method:"POST",mode:"cors",headers:a,body:s,credentials:"include"}).then(async l=>{let g=await Vr(l);return g?.errors?(A("set request",g.errors),o(g)):r(g)}).catch(l=>(A("set request",[l]),o({errors:[l]})))}):Promise.resolve()}catch(r){i("set request",r)}};var G={get:He,set:Ue};var ze=["render"];var Be=(t={})=>{try{return ze.every(e=>Object.keys(t).includes(e))}catch(e){i("component.hasAllRequiredOptions",e)}};var Ze=["_componentId","_ssrId","api","dataFromSSR","existingProps","existingState","instanceId","parent","req","css","data","defaultProps","events","id","lifecycle","methods","name","props","render","state","test","translations","url","websockets","wrapper"];var Ge=(t=null)=>{try{!k(t)&&!u(t)&&!m(t)&&i("component.optionValidators.css","options.css must be a string, function returning a string, or an object returning breakpoints.")}catch(e){i("component.optionValidators.css",e)}};var We=["readystatechange","pointerlockchange","pointerlockerror","beforecopy","beforecut","beforepaste","freeze","resume","search","securitypolicyviolation","visibilitychange","fullscreenchange","fullscreenerror","webkitfullscreenchange","webkitfullscreenerror","beforexrselect","abort","blur","cancel","canplay","canplaythrough","change","click","close","contextmenu","cuechange","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","formdata","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","pause","play","playing","progress","ratechange","reset","resize","scroll","seeked","seeking","select","stalled","submit","suspend","timeupdate","toggle","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel","auxclick","gotpointercapture","lostpointercapture","pointerdown","pointermove","pointerup","pointercancel","pointerover","pointerout","pointerenter","pointerleave","selectstart","selectionchange","animationend","animationiteration","animationstart","transitionrun","transitionstart","transitionend","transitioncancel","copy","cut","paste","pointerrawupdate"];var Ke=(t=null)=>{try{m(t)||i("component.optionValidators.events","options.events must be an object.");for(let e of Object.keys(t)){let[r]=e.split(" ");We.includes(r)||i("component.optionValidators.events",`${r} is not a supported JavaScript event type.`)}for(let[e,r]of Object.entries(t))u(r)||i("component.optionValidators.events",`options.events.${e} must be assigned a function.`)}catch(e){i("component.optionValidators.events",e)}};var Je=["onBeforeMount","onMount","onUpdateProps","onBeforeUnmount","onRefetchData"];var Qe=(t=null)=>{try{m(t)||i("component.optionValidators.lifecycle","options.lifecycle must be an object.");for(let[e,r]of Object.entries(t))Je.includes(e)||i("component.optionValidators.lifecycle",`options.lifecycle.${e} is not supported.`),u(r)||i("component.optionValidators.lifecycle",`options.lifecycle.${e} must be assigned a function.`)}catch(e){i("component.optionValidators.lifecycle",e)}};var Ye=(t=null)=>{try{m(t)||i("component.optionValidators.methods","options.methods must be an object.");for(let[e,r]of Object.entries(t))u(r)||i("component.optionValidators.methods",`options.methods.${e} must be assigned a function.`)}catch(e){i("component.optionValidators.methods",e)}};var Xe=(t=null)=>{typeof t!="string"&&i("component.optionValidators.name","options.name must be a string.")};var et=(t=null)=>{try{u(t)||i("component.optionValidators.render","options.render must be a function returning a string.")}catch(e){i("component.optionValidators.render",e)}};var tt=(t=null)=>{try{m(t)||i("component.optionValidators.test","options.test must be an object."),t?.name&&!k(t.name)&&i("component.optionValidators.test","options.test.name must be assigned a string.")}catch(e){i("component.optionValidators.test",e)}};var rt=(t=null)=>{try{u(t)||i("component.optionValidators.websockets","options.websockets must be a function returning an object.")}catch(e){i("component.optionValidators.websockets",e)}};var ot=(t=null)=>{try{m(t)||i("component.optionValidators.wrapper","options.wrapper must be an object.");for(let[e,r]of Object.entries(t))e==="id"&&!k(r)&&i("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned a string.`),e==="classList"&&!q(r)&&i("component.optionValidators.wrapper",`options.wrapper.${e} must be assigned an array of strings.`)}catch(e){i("component.optionValidators.wrapper",e)}};var nt={css:Ge,events:Ke,lifecycle:Qe,methods:Ye,name:Xe,render:et,test:tt,websockets:rt,wrapper:ot};var it=(t={})=>{try{Be(t)||i("component.validateOptions",`component options must include ${required.options.join(",")}.`);for(let[e,r]of Object.entries(t)){Ze.includes(e)||i("component.validateOptions",`${e} is not supported by joystick.component.`);let o=nt[e];o&&u(o)&&o(r)}}catch(e){i("component.validateOptions",e)}};var X=(t=[],e="")=>{try{return(q(t)&&t.find(o=>o?.componentId===e))?.data||{}}catch(r){i("findComponentDataFromSSR",r)}};var st=(()=>{let t=0;return(e,r)=>{clearTimeout(t),t=setTimeout(e,r)}})();var z=t=>!!(t&&typeof t=="object"&&!Array.isArray(t));var at=t=>typeof t=="string";var ct=/^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/,dt=(t,e="")=>{if(!e)return!0;if(e&&!at(e))return!1;let r=e?e.replace(/[- ]+/g,""):"";return t===!0?r.match(new RegExp(ct)):!r.match(new RegExp(ct))};var lt=/^((?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\]))$/,ut=(t,e="")=>t===!0?!!e.match(lt):!e.match(lt);var mt=(t,e="")=>t===e;var pt=(t,e="")=>t===e;var ft=(t,e="")=>e.length<=t;var ht=(t,e="")=>e.length>=t;var wt=/^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$/,yt=(t,e="")=>t===!0?!!e.match(wt):!e.match(wt);var gt={AF:/^\d{4}$/,AX:/^\d{5}$/,AL:/^\d{4}$/,DZ:/^\d{5}$/,AS:/^\d{5}(-{1}\d{4,6})$/,AD:/^[Aa][Dd]\d{3}$/,AI:/^[Aa][I][-][2][6][4][0]$/,AR:/^\d{4}|[A-Za-z]\d{4}[a-zA-Z]{3}$/,AM:/^\d{4}$/,AC:/^[Aa][Ss][Cc][Nn]\s{0,1}[1][Zz][Zz]$/,AU:/^\d{4}$/,AT:/^\d{4}$/,AZ:/^[Aa][Zz]\d{4}$/,BH:/^\d{3,4}$/,BD:/^\d{4}$/,BB:/^[Aa][Zz]\d{5}$/,BY:/^\d{6}$/,BE:/^\d{4}$/,BM:/^[A-Za-z]{2}\s([A-Za-z]{2}|\d{2})$/,BT:/^\d{5}$/,BO:/^\d{4}$/,BA:/^\d{5}$/,BR:/^\d{5}-\d{3}$/,"":/^[Bb][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,IO:/^[Bb]{2}[Nn][Dd]\s{0,1}[1][Zz]{2}$/,VG:/^[Vv][Gg]\d{4}$/,BN:/^[A-Za-z]{2}\d{4}$/,BG:/^\d{4}$/,KH:/^\d{5}$/,CA:/^(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\s{0,1}\d(?=[^DdFfIiOoQqUu\d\s])[A-Za-z]\d$/,CV:/^\d{4}$/,KY:/^[Kk][Yy]\d[-\s]{0,1}\d{4}$/,TD:/^\d{5}$/,CL:/^\d{7}\s\(\d{3}-\d{4}\)$/,CN:/^\d{6}$/,CX:/^\d{4}$/,CC:/^\d{4}$/,CO:/^\d{6}$/,CD:/^[Cc][Dd]$/,CR:/^\d{4,5}$/,HR:/^\d{5}$/,CU:/^\d{5}$/,CY:/^\d{4}$/,CZ:/^\d{5}\s\(\d{3}\s\d{2}\)$/,DK:/^\d{4}$/,DO:/^\d{5}$/,EC:/^\d{6}$/,SV:/^1101$/,EG:/^\d{5}$/,EE:/^\d{5}$/,ET:/^\d{4}$/,FK:/^[Ff][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,FO:/^\d{3}$/,FI:/^\d{5}$/,FR:/^\d{5}$/,GF:/^973\d{2}$/,PF:/^987\d{2}$/,GA:/^\d{2}\s[a-zA-Z-_ ]\s\d{2}$/,GE:/^\d{4}$/,DE:/^\d{2}$/,GI:/^[Gg][Xx][1]{2}\s{0,1}[1][Aa]{2}$/,GR:/^\d{3}\s{0,1}\d{2}$/,GL:/^\d{4}$/,GP:/^971\d{2}$/,GU:/^\d{5}$/,GT:/^\d{5}$/,GG:/^[A-Za-z]{2}\d\s{0,1}\d[A-Za-z]{2}$/,GW:/^\d{4}$/,HT:/^\d{4}$/,HM:/^\d{4}$/,HN:/^\d{5}$/,HU:/^\d{4}$/,IS:/^\d{3}$/,IN:/^\d{6}$/,ID:/^\d{5}$/,IR:/^\d{5}-\d{5}$/,IQ:/^\d{5}$/,IM:/^[Ii[Mm]\d{1,2}\s\d\[A-Z]{2}$/,IL:/^\b\d{5}(\d{2})?$/,IT:/^\d{5}$/,JM:/^\d{2}$/,JP:/^\d{7}\s\(\d{3}-\d{4}\)$/,JE:/^[Jj][Ee]\d\s{0,1}\d[A-Za-z]{2}$/,JO:/^\d{5}$/,KZ:/^\d{6}$/,KE:/^\d{5}$/,KR:/^\d{6}\s\(\d{3}-\d{3}\)$/,XK:/^\d{5}$/,KW:/^\d{5}$/,KG:/^\d{6}$/,LV:/^[Ll][Vv][- ]{0,1}\d{4}$/,LA:/^\d{5}$/,LB:/^\d{4}\s{0,1}\d{4}$/,LS:/^\d{3}$/,LR:/^\d{4}$/,LY:/^\d{5}$/,LI:/^\d{4}$/,LT:/^[Ll][Tt][- ]{0,1}\d{5}$/,LU:/^\d{4}$/,MK:/^\d{4}$/,MG:/^\d{3}$/,MV:/^\d{4,5}$/,MY:/^\d{5}$/,MT:/^[A-Za-z]{3}\s{0,1}\d{4}$/,MH:/^\d{5}$/,MQ:/^972\d{2}$/,YT:/^976\d{2}$/,FM:/^\d{5}(-{1}\d{4})$/,MX:/^\d{5}$/,MD:/^[Mm][Dd][- ]{0,1}\d{4}$/,MC:/^980\d{2}$/,MN:/^\d{5}$/,ME:/^\d{5}$/,MS:/^[Mm][Ss][Rr]\s{0,1}\d{4}$/,MA:/^\d{5}$/,MZ:/^\d{4}$/,MM:/^\d{5}$/,NA:/^\d{5}$/,NP:/^\d{5}$/,NL:/^\d{4}\s{0,1}[A-Za-z]{2}$/,NC:/^988\d{2}$/,NZ:/^\d{4}$/,NI:/^\d{5}$/,NE:/^\d{4}$/,NG:/^\d{6}$/,NF:/^\d{4}$/,MP:/^\d{5}$/,NO:/^\d{4}$/,OM:/^\d{3}$/,PK:/^\d{5}$/,PW:/^\d{5}$/,PA:/^\d{6}$/,PG:/^\d{3}$/,PY:/^\d{4}$/,PE:/^\d{5}$/,PH:/^\d{4}$/,PN:/^[Pp][Cc][Rr][Nn]\s{0,1}[1][Zz]{2}$/,PL:/^\d{2}[- ]{0,1}\d{3}$/,PT:/^\d{4}$/,PR:/^\d{5}$/,RE:/^974\d{2}$/,RO:/^\d{6}$/,RU:/^\d{6}$/,BL:/^97133$/,SH:/^[Ss][Tt][Hh][Ll]\s{0,1}[1][Zz]{2}$/,MF:/^97150$/,PM:/^97500$/,VC:/^[Vv][Cc]\d{4}$/,SM:/^4789\d$/,SA:/^\d{5}(-{1}\d{4})?$/,SN:/^\d{5}$/,RS:/^\d{5}$/,SG:/^\d{2}$/,SK:/^\d{5}\s\(\d{3}\s\d{2}\)$/,SI:/^([Ss][Ii][- ]{0,1}){0,1}\d{4}$/,ZA:/^\d{4}$/,GS:/^[Ss][Ii][Qq]{2}\s{0,1}[1][Zz]{2}$/,ES:/^\d{5}$/,LK:/^\d{5}$/,SD:/^\d{5}$/,SZ:/^[A-Za-z]\d{3}$/,SE:/^\d{3}\s*\d{2}$/,CH:/^\d{4}$/,SJ:/^\d{4}$/,TW:/^\d{5}$/,TJ:/^\d{6}$/,TH:/^\d{5}$/,TT:/^\d{6}$/,TN:/^\d{4}$/,TR:/^\d{5}$/,TM:/^\d{6}$/,TC:/^[Tt][Kk][Cc][Aa]\s{0,1}[1][Zz]{2}$/,UA:/^\d{5}$/,GB:/^[A-Z]{1,2}[0-9R][0-9A-Z]?\s*[0-9][A-Z-[CIKMOV]]{2}/,US:/^\b\d{5}\b(?:[- ]{1}\d{4})?$/,UY:/^\d{5}$/,VI:/^\d{5}$/,UZ:/^\d{3} \d{3}$/,VA:/^120$/,VE:/^\d{4}(\s[a-zA-Z]{1})?$/,VN:/^\d{6}$/,WF:/^986\d{2}$/,ZM:/^\d{5}$/},xt=(t,e="")=>{let r=z(t)&&t.iso?gt[t.iso||"US"]:gt.US;return z(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var bt=(t,e="",r={isChecked:!1})=>{if(!r.isChecked)return t===!0?e&&e.trim()!=="":e&&e.trim()==="";if(r.isChecked)return t===!0?e:!e};var $t=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/,Et=(t,e="")=>t===!0?!!e.match($t):!e.match($t);var Ft=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,kt=(t,e="")=>t===!0?!!e.match(Ft):!e.match(Ft);var Mt=/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/,St=(t,e="")=>t===!0?!!e.match(Mt):!e.match(Mt);var Tt=/https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()!@:%_\+.~#?&\/\/=]*)/,Ot=(t,e="")=>t===!0?!!e.match(Tt):!e.match(Tt);var vt={AT:/^(AT)(U\d{8}$)/i,BE:/^(BE)(\d{10}$)/i,BG:/^(BG)(\d{9,10}$)/i,CY:/^(CY)([0-5|9]\d{7}[A-Z]$)/i,CZ:/^(CZ)(\d{8,10})?$/i,DE:/^(DE)([1-9]\d{8}$)/i,DK:/^(DK)(\d{8}$)/i,EE:/^(EE)(10\d{7}$)/i,EL:/^(EL)(\d{9}$)/i,ES:/^(ES)([0-9A-Z][0-9]{7}[0-9A-Z]$)/i,EU:/^(EU)(\d{9}$)/i,FI:/^(FI)(\d{8}$)/i,FR:/^(FR)([0-9A-Z]{2}[0-9]{9}$)/i,GB:/^(GB)((?:[0-9]{12}|[0-9]{9}|(?:GD|HA)[0-9]{3})$)/i,GR:/^(GR)(\d{8,9}$)/i,HR:/^(HR)(\d{11}$)/i,HU:/^(HU)(\d{8}$)/i,IE:/^(IE)([0-9A-Z\*\+]{7}[A-Z]{1,2}$)/i,IT:/^(IT)(\d{11}$)/i,LV:/^(LV)(\d{11}$)/i,LT:/^(LT)(\d{9}$|\d{12}$)/i,LU:/^(LU)(\d{8}$)/i,MT:/^(MT)([1-9]\d{7}$)/i,NL:/^(NL)(\d{9}B\d{2}$)/i,NO:/^(NO)(\d{9}$)/i,PL:/^(PL)(\d{10}$)/i,PT:/^(PT)(\d{9}$)/i,RO:/^(RO)([1-9]\d{1,9}$)/i,RU:/^(RU)(\d{10}$|\d{12}$)/i,RS:/^(RS)(\d{9}$)/i,SI:/^(SI)([1-9]\d{7}$)/i,SK:/^(SK)([1-9]\d[(2-4)|(6-9)]\d{7}$)/i,SE:/^(SE)(\d{10}01$)/i},Ct=(t,e="")=>{let r=z(t)&&t.iso?vt[t.iso||"EU"]:vt.EU;return z(t)?t.rule===!0?!!e.match(r):!e.match(r):t===!0?!!e.match(r):!e.match(r)};var _t={creditCard:dt,email:ut,equals:mt,matches:pt,maxLength:ft,minLength:ht,phone:yt,postalCode:xt,required:bt,semVer:Et,slug:kt,strongPassword:St,url:Ot,vat:Ct};var jt=class{constructor(e,r={}){this.fieldsToListenToForChanges=["checkbox","color","date","datetime-local","email","file","hidden","month","number","password","radio","range","search","tel","text","time","url","week"],this.defaultValidationErrors={required:()=>"This field is required.",email:()=>"Must be a valid email.",creditCard:()=>"Must be a valid credit card number.",equals:o=>`Value must equal ${o}.`,matches:o=>`Field must match ${o}.`,maxLength:o=>`Field value can be no greater than ${o}.`,minLength:o=>`Field value can be no less than ${o}.`,phone:()=>"Field value must be a valid telephone number.",postalCode:()=>"Field value must be a valid postal code.",semVer:()=>"Field value must be a valid semantic version.",slug:()=>"Field value must be a valid URL slug.",strongPassword:()=>"Field value must be a valid password.",url:()=>"Field value must be a valid URL.",vat:()=>"Field value must be a valid VAT code."},e||console.warn("[validateForm] Must pass an HTML <form></form> element to validate."),this.form=e,this.setOptions(r),this.attachEventListeners()}setOptions(e={}){this.rules=e.rules||{},this.messages=e.messages||{},this.onSubmit=e.onSubmit,this.fields=this.serialize()}updateOptions(e={}){this.setOptions(e)}serialize(){if(this.form)return Object.keys(this.rules).map(r=>{let o=this.form.querySelector(`[name="${r}"]`),n=o?.type;return{listenForChanges:this.fieldsToListenToForChanges.includes(n),type:n,name:r,element:o,validations:Object.entries(this.rules[r]).map(([c,a])=>({name:c,rule:a,valid:!1})).sort((c,a)=>c.name>a.name?1:-1),errorMessages:this.messages[r]?Object.keys(this.messages[r]):{}}})}attachEventListeners(){if(this.form){let e=r=>{r.stopPropagation(),r.preventDefault(),this.validate()&&this.onSubmit&&this.onSubmit()};if(this.form.listeners?.length>0)for(let r=0;r<this.form.listeners.length;r+=1){let o=this.form.listeners[r];this.form.removeEventListener("submit",o)}this.form.addEventListener("submit",e),this.form.listeners=[...this.form.listeners||[],e]}this.fields.forEach(e=>{if(e?.element&&e?.listenForChanges){let r=()=>{st(()=>{this.validate(e.name)},100)};e.element.removeEventListener("input",r),e.element.addEventListener("input",r),e.element.removeEventListener("change",r),e.element.addEventListener("change",r)}})}validate(e=null){if(e){this.clearExistingErrors();let r=this.fields.find(o=>o.name===e);return this.validateField(r),this.checkIfValid()}else return this.clearExistingErrors(),this.fields.forEach(r=>{this.validateField(r)}),this.checkIfValid()}checkIfValid(){return!this.fields.map(r=>r.validations.some(o=>!o.valid)).includes(!0)}validateField(e){let r=this.form.querySelector(`[name="${e.name}"]`),o=["checkbox","radio"].includes(e.type),n=o?null:e?.element?.value?.trim(),s=o?e?.element?.checked:null;e.validations.forEach(a=>{if(this.isValidValue(o,o?s:n,a))this.markValidationAsValid(e,a.name);else{let l=this.messages[e.name]&&this.messages[e.name][a.name];this.markValidationAsInvalid(e,a.name),this.renderError(e.element,l||this.defaultValidationErrors[a.name](a.rule,n))}});let c=e.validations.some(a=>!a.valid);return c&&(r.classList.add("error"),r.focus()),c||(r.classList.remove("error"),this.clearExistingError(e.name)),!c}markValidationAsInvalid(e,r){let n=[...e.validations].find(s=>s.name===r);n.valid=!1}markValidationAsValid(e,r){let n=[...e.validations].find(s=>s.name===r);n.valid=!0}isValidValue(e,r,o){let n=_t[o.name];return n?n(o.rule,r,{isChecked:e}):!0}clearExistingErrors(){this.form&&this.form.querySelectorAll(".input-hint.error").forEach(e=>e.remove())}clearExistingError(e=""){let r=document.getElementById(`error-${e}`);r&&r.remove()}renderError(e,r=""){if(e){this.clearExistingError(e.name);let o=document.createElement("p");o.classList.add("input-hint"),o.classList.add("error"),o.setAttribute("id",`error-${e.name}`),o.innerText=r,e.after(o)}}},Ur=(t,e)=>new Promise((r,o)=>{try{new jt(t,e).validate()?r():o()}catch(n){console.warn(n)}}),Rt=Ur;var At=(t={},e={})=>{try{return[...Object.keys(e),...Object.keys(t)].filter((o,n,s)=>s.indexOf(o)===n).reduce((o,n)=>{let s=e[n],c=t[n]||null,a=!Oe(s)&&!ve(s);return o[n]=a?s:c,o},{})}catch(r){i("component.props.compile",r)}};var ee=(t="",e={})=>{try{let r="";if(t&&k(t))return r=t,r;if(t&&u(t))return r=t(e),r;if(t&&m(t)){let o=t?.print&&(k(t?.print)||u(t?.print)),n=t?.min&&m(t?.min),s=t?.min?.width&&m(t?.min?.width),c=t?.min?.height&&m(t?.min?.height),a=t?.max&&m(t?.max),l=t?.max?.width&&m(t?.max?.width),g=t?.max?.height&&m(t?.max?.height);if(o&&(r+=`
2
2
  @media print {
3
3
  ${typeof t?.print=="function"?t?.print(e):t.print}
4
4
  }
@@ -18,4 +18,4 @@ var Tr=Object.create;var le=Object.defineProperty;var Or=Object.getOwnPropertyDe
18
18
  @media screen and (max-height: ${R}px) {
19
19
  ${typeof f=="function"?f(e):f}
20
20
  }
21
- `}}return r}return""}catch(r){i("component.css.compileCSS",r)}};var Ur=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!q(r)?Object.assign({},r):{}}catch(r){i("component.state.compile.compileState",r)}},te=(t={},e={})=>{try{return u(e)?Ur(t,e):Object.assign({},e)}catch(r){i("component.state.compile",r)}};var ue={onBeforeMount:()=>null,onMount:()=>null,onBeforeUnmount:()=>null,onUpdateProps:()=>null,onRefetchData:()=>null};var At=(t={},e={})=>{try{return e?Object.entries({...ue,...e||{}}).reduce((r={},[o,n])=>(r[o]=()=>n({...t,setState:t.setState.bind(t),...t.renderMethods||{}}),r),{}):ue}catch(r){i("component.lifecycle.compile",r)}};var re=(t={},e={})=>{try{return Object.entries(e).reduce((r={},[o,n])=>(r[o]=(...s)=>(v(`ui.${t?.options?.test?.name||y()}.methods.${o}`,[...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}}]),n(...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}})),r),{})}catch{i("component.methods.compile")}};var me=(t={})=>{try{return{...t,query:{...t?.query||{},set:(e="",r="")=>{if(typeof window!="undefined"){let o=new URL(window.location);o.searchParams.append(e,r),window.history.pushState({},"",o)}},unset:(e="")=>{if(typeof window!="undefined"){let r=new URL(window.location);r.searchParams.delete(e),window.history.pushState({},"",r)}}},isActive:(e="")=>C(e)&&t?.route!=="*"?e===(typeof location!="undefined"?location.pathname:t.path):!1}}catch(e){i("component.url.compile",e)}};var zr=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!q(r)?Object.assign({},r):{}}catch(r){i("component.props.compileDefaultProps.compile",r)}},Dt=(t={},e={})=>{try{return u(e)?zr(t,e):Object.assign({},e)}catch(r){i("component.props.compileDefaultProps",r)}};var Lt=(t={},e={})=>{try{t.options=e||{},t.id=e?._componentId||null,t.instanceId=y(8),t.ssrId=e?._ssrId||null,t.css=ee(),t.data=X(e?.dataFromSSR,e?._componentId),t.defaultProps=Dt(t,e?.defaultProps),t.props=Rt(t?.defaultProps,e?.props),t.state=te(t,e?.state),t.events=e?.events||{},t.lifecycle=At(t,e?.lifecycle),t.methods=re(t,e?.methods),t.wrapper=e?.wrapper||{},t.translations=e?.translations||{},t.validateForm=jt,t.DOMNode=null,t.dom={},t.dom.virtual={},t.dom.actual={};let r=!k();if(r||(t.url=me(e?.url)),r&&window.__joystick_url__&&(t.url=me(window.__joystick_url__)),r&&e?.websockets&&u(e?.websockets)){let o=e.websockets(t),n=m(o)&&Object.entries(o);for(let s=0;s<n?.length;s+=1){let[c,a]=n[s];Y({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/${c}`,options:a?.options||{},query:a?.query||{},events:a?.events||{}},(l={})=>{t.websockets={...t.websockets||{},[c]:l}})}}}catch(r){i("component.registerOptions",r)}};var Br=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){i("addToQueue.getQueue",e)}},W=(t="",e=null)=>{try{k()||(Br(t)||{}).array.push({callback:e})}catch(r){i("addToQueue",r)}};var oe=async(t={},e={},r={},o={})=>{try{if(o?.options?.data&&u(o.options.data)){let n=await o.options.data(t,e,r,o);return Promise.resolve(n)}return Promise.resolve()}catch(n){i("component.data.fetch",n)}};var Pt=(t={},e={},r={})=>{try{return{...t,refetch:async(o={})=>{v(`ui.${r?.options?.test?.name||y()}.data.refetch`,[o]);let n=await oe(G,e,o,r);return r.data=Pt(n,e,r),window.__joystick_data__[r?.id]&&(window.__joystick_data__[r?.id]=n),window?.__joystick_test__||r.render({afterRefetchDataRender:()=>{r?.lifecycle?.onRefetchData&&r?.lifecycle?.onRefetchData(r)}}),r.data}}}catch(o){i("component.data.compile",o)}},It=Pt;var qt=(t={})=>{try{if(!k()){let e=window.__joystick_data__&&window.__joystick_data__[t?.id]||{},r=window.__joystick_req__||{};return It(e,r,t)}return t?.data||{}}catch(e){i("component.loadDataFromWindow",e)}};var Ut=Dr(Nt());var Vt=(t={},e="",r="id")=>{try{let o=t&&t.id;if(m(t)&&o){let n=Object.keys(t);for(let s=0;s<n.length;s+=1){let c=n[s],a=t[c];if(c===r&&a===e)return t;if(c==="children"&&Array.isArray(a))for(let l=0;l<a.length;l+=1){let g=a[l],w=Vt(g,e,r);if(w!==null)return w}}}return null}catch(o){i("component.findComponentInTreeByField",o)}},D=Vt;var Ht=(t="",e={},r=null)=>{let o=D(r||window.joystick._internal.tree,t,"instanceId");o&&(o.children=[...o.children||[],e])};var Zr=(t={},e={},r=null)=>{try{let o=B(t,{includeActual:!0,existingChildren:r});return t.dom=o,t.setDOMNodeOnInstance(),e.renderedComponent=t,o.html.wrapped}catch(o){i("component.renderMethods.component.renderForClient",o)}},Gr=(t={})=>{try{return t.renderToHTML({ssrTree:t.parent.ssrTree,translations:t.parent.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t.parent?.dataFromSSR}).wrapped}catch(e){i("component.renderMethods.component.renderToHTMLForSSR",e)}},Wr=(t={})=>{try{return t.parent.ssrTree.dataFunctions.push(async()=>{try{let e=await t.options.data(t.parent.options.api,t.parent.options.req);return t.data=e||{},{componentId:t.id,ssrId:t.ssrId,data:e}}catch(e){return{componentId:t.id,ssrId:t.ssrId,data:null,error:e}}}),t.renderToHTML({ssrTree:t?.parent?.ssrTree,translations:t?.parent?.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t?.parent?.dataFromSSR})}catch(e){i("component.renderMethods.component.collectDataFunctionsForSSR",e)}},Kr=(t={})=>{try{let e={id:t.id,instanceId:t.instanceId,instance:t,children:[]};Ht(t.parent.instanceId,e,t.parent&&t.parent.ssrTree||null)}catch(e){i("component.renderMethods.component.handleAddComponentToParent",e)}},Jr=(t={},e={})=>{try{!t.renderedComponent&&e.options&&e.options.lifecycle&&(e.options.lifecycle.onBeforeMount&&W("lifecycle.onBeforeMount",()=>{e.options.lifecycle.onBeforeMount(e),v(`ui.${e?.options?.test?.name||y()}.lifecycle.onBeforeMount`,[e])}),!t.renderedComponent&&e.options.lifecycle.onMount&&W("lifecycle.onMount",()=>{e.options.lifecycle.onMount(e),v(`ui.${e?.options?.test?.name||y()}.lifecycle.onMount`,[e])}))}catch(r){i("component.renderMethods.component.handleLifecycle",r)}},Qr=(t={},e={},r={})=>{try{!e.walkingTreeForSSR&&t?.options?.lifecycle?.onUpdateProps&&(0,Ut.diff)(e?.existingPropsMap,r)?.length>0&&W("lifecycle.onUpdateProps",()=>{let n=e?.existingPropsMap&&e?.existingPropsMap[t.id];t.options.lifecycle.onUpdateProps(n||{},r,t),v(`ui.${t?.options?.test?.name||y()}.lifecycle.onBeforeMount`,[n||{},r,t])})}catch(o){i("component.renderMethods.component.handleOnChangeProps",o)}},Yr=function(){return function(e=null,r={},o={}){let n=e({props:r,url:o.url,translations:o.translations,api:o.options.api,req:o.options.req,dataFromSSR:o?.dataFromSSR,parent:o}),s=o?.existingStateMap[n.id]||{},c=o.children[n.id]||[],a=s[c?.length];return n.state=a?.state||n.state,o.children[n.id]=[...o.children[n.id]||[],n],n.parent=o,Qr(n,o,r),W("lifecycle.onMount",()=>{n.setDOMNodeOnInstance()}),Jr(this,n),n.parent&&Kr(n),n.options.data&&n.parent.walkingTreeForSSR&&n.parent.ssrTree.dataFunctions?Wr(n):n.parent&&n.parent.ssrTree?Gr(n):Zr(n,this,a?.children)}},Xr=function(e,r){try{let o=this;return new Yr().bind({})(e,r,o)}catch(o){i("component.renderMethods.component",o)}},pe=Xr;var eo=function(e=[],r=null){try{return u(r)&&e&&Array.isArray(e)?e.map((o,n)=>r(o,n)).join(""):""}catch(o){i("component.renderMethods.each",o)}},fe=eo;var to=(t="",e=[])=>{try{return e.reduce((r,[o,n])=>r.replace(`{{${o}}}`,n),t)}catch(r){i("component.renderMethods.i18n.replacePlaceholdersInString",r)}},he=(t="",e=[])=>{try{let r=typeof t=="string",o=Array.isArray(t),n=typeof t=="object"&&!o;if(r)return to(t,e);if(o)return t?.map(s=>he(s,e));if(n)return Object.entries(t)?.reduce((s={},[c,a])=>(s[c]=he(a,e),s),{})}catch(r){i("component.renderMethods.i18n.handleTranslationReplacement",r)}},ro=(t="",e={})=>{try{return t?.split(".").reduce((r,o)=>r[o],e)}catch(r){i("component.renderMethods.i18n.getTranslationAtPath",r)}},oo=function(t="",e={}){try{let r=k()?this.translations:window.__joystick_i18n__,n=t?.includes(".")?ro(t,r):r[t];if(!r||!n)return"";let s=Object.entries(e);return he(n,s)}catch(r){i("component.renderMethods.i18n",r)}},we=oo;var no=function(e=!1,r=""){try{return this?.renderingHTMLWithDataForSSR||e?`<when>${r.trim()}</when>`:"<when> </when>"}catch(o){i("component.renderMethods.when",o)}},ye=no;var zt={c:pe,component:pe,e:fe,each:fe,i:we,i18n:we,w:ye,when:ye};var Bt=(t={},e={})=>{try{return Object.entries(zt).reduce((r,[o,n])=>(r[o]=n.bind({...t,...e}),r),{})}catch(r){i("component.renderMethods.compile",r)}};var Zt=(t={})=>{try{return Object.entries(t)?.reduce((e={},[r,o]={})=>(e[r]=o?.map((n={})=>({state:n?.state,children:Zt(n?.children)})),e),{})}catch(e){i("component.render.getExistingStateMap.buildMapForChildren",e)}},Gt=(t={})=>{try{return Zt(t)}catch(e){i("component.render.getExistingStateMap",e)}};var Wt=new RegExp(/\<\!\-\-(?:.|\n|\r)*?-->/g),io=new RegExp(/\n/g);var so=(t="")=>{try{return(t.match(Wt)||[]).forEach(r=>{t=t.replace(r,"")}),t}catch(e){i("component.render.sanitizeHTML.removeCommentedCode",e)}},Kt=(t="")=>{try{let e=`${t}`;return e=so(e),e}catch(e){i("component.render.sanitizeHTML",e)}};var Jt=(t={},e="")=>{try{let{wrapper:r=null,id:o=null,instanceId:n=null}=t;return`<div ${r?.id?`id="${r.id}" `:""}${r?.classList?`class="${r.classList?.join(" ")}" `:""} js-c="${o}" js-i="${n}">${e}</div>`}catch(r){i("component.render.wrapHTML",r)}};var Qt=(t={},e=[])=>{try{let r=[...e],o=Object.entries(t);for(let n=0;n<o?.length;n+=1){let[s,c]=o[n];for(let a=0;a<c?.length;a+=1){let l=c[a];Object.entries(l?.timers)?.length>0&&r.push(...Object.values(l?.timers)),Object.entries(l?.children)?.length>0&&Qt(l?.children,r)}}if(r?.length>0)for(let n=0;n<r?.length;n+=1)clearTimeout(r[n])}catch(r){i("component.render.clearTimersOnChildren",r)}},Yt=Qt;var ie=(t={},e={})=>{try{e?.dataFromSSR&&(t.data=X(e.dataFromSSR,t.id)||{}),Yt(t?.children);let r=Gt(e?.existingChildren||t?.children)||{};t.children={},t.renderMethods=Bt({...t,existingStateMap:r,translations:e?.translations||t.translations||{},ssrTree:e?.ssrTree,walkingTreeForSSR:e?.walkingTreeForSSR,renderingHTMLWithDataForSSR:e?.renderingHTMLWithDataForSSR,dataFromSSR:e?.dataFromSSR}),t.methods=re(t,t.options.methods);let o=t.options.render({...t||{},setState:t.setState.bind(t),...t.renderMethods||{}}),n=Kt(o),s=Jt(t,n);return{unwrapped:n,wrapped:s}}catch(r){i("component.render.toHTML",r)}};var ao=(t={})=>{try{return Object.values(t).reduce((e={},r)=>(e[r.name]=r.value,e),{})}catch(e){i("component.virtualDOM.build.parseAttributeMap",e)}},Xt=(t={})=>{try{return t.tagName==="WHEN"?[].flatMap.call(t?.childNodes,e=>e?.tagName==="WHEN"?Xt(e):ge(e)):ge(t)}catch(e){i("component.virtualDOM.build.flattenWhenTags",e)}},ge=(t={})=>{try{let e=t&&t.tagName&&t.tagName.toLowerCase()||"text",r={tagName:e,attributes:ao(t.attributes),children:[].flatMap.call(t.childNodes,o=>Xt(o))};return e==="text"&&(r=t.textContent),r}catch(e){i("component.virtualDOM.build",e)}},K=ge;var co=(t="")=>{try{let e=document.createElement("div");return e.innerHTML=t,e?.childNodes[0]}catch(e){i("component.virtualDOM.build.convertHTMLToDOM",e)}},er=(t="")=>{try{let e=co(t);return K(e)}catch(e){i("component.virtualDOM.build",e)}};var tr=(t="")=>{try{return document.createElement("div").setAttribute(t,"Test"),!0}catch{return!1}};var lo=(t={})=>{try{let e=document.createElement(t.tagName),r=Object.entries(t.attributes);for(let o=0;o<r.length;o+=1){let[n,s]=r[o];tr(n)&&e.setAttribute(n,s)}for(let o=0;o<t?.children?.length;o+=1){let n=t?.children[o];if(n){let s=rr(n);e.appendChild(s)}}return e}catch(e){i("component.virtualDOM.renderTreeToDOM.renderElement",e)}},rr=(t=null)=>{try{return C(t)?document.createTextNode(t):lo(t)}catch(e){i("component.virtualDOM.renderTreeToDOM",e)}},Z=rr;var B=(t={},e={})=>{try{let r=ie(t,{existingChildren:e?.existingChildren}),o=er(r.wrapped,t),n=e.includeActual&&o?Z(o):null;return{html:r,virtual:o,actual:n}}catch(r){i("component.render.getUpdatedDOM",r)}};var or=(t={},e={})=>{try{let r=B(t,{includeActual:!0,existingChildren:e?.existingChildren});return t.dom=r,r.actual}catch(r){i("component.render.forMount",r)}};var uo=(t={},e={})=>{let r=[];for(let[o,n]of Object.entries(e))r.push(s=>(s&&s.setAttribute&&s.setAttribute(o,n),s));for(let o in t)o in e||r.push(n=>(n&&n.removeAttribute&&n.removeAttribute(o),n));return o=>{for(let n of r)n&&typeof n=="function"&&n(o)}},se=uo;var mo=(t=[],e=[])=>{let r=[],o=Math.max(t.length,e.length);for(let n=0;n<o;n+=1){let s=t[n],c=e[n];r.push([s,c])}return r},nr=mo;var po=(t=[],e)=>{t.forEach(r=>{r&&typeof r=="function"&&r(e)})},fo=(t=[])=>{t.forEach(([e,r])=>{e&&typeof e=="function"&&e(r)})},ho=(t=[],e=[])=>{let r=[];return e.slice(t.length).forEach(n=>{let s=c=>{let a=Z(n);return c.appendChild(a),c};r.push(s)}),r},wo=(t=[],e=[])=>{let r=[];return t.forEach((o,n)=>{let s=ce(o,e[n]);r.push(s)}),r},yo=(t=[],e=[])=>{let r=wo(t,e),o=ho(t,e);return n=>{if(n){let s=nr(r,n.childNodes);fo(s),po(o,n)}return n}},ae=yo;var ir={select:(t,e)=>r=>{let o=r.value;r.replaceChildren(),se(t.attributes,e.attributes)(r),ae([],e.children)(r);let n=r.querySelector(`option[value="${o}"]`);if(n&&(r.value=o),!n){let s=r.querySelector("option");r.value=s?.value||""}return r}};var xe=(t,e)=>r=>{let o=t?Z(t):null;return r&&r.replaceWith(o),o},go=()=>t=>{t&&t.remove()},xo=(t=void 0,e=void 0)=>t===void 0||e===void 0?go():typeof t=="string"||typeof e=="string"?xe(e,t):t.tagName!==e.tagName?xe(e):e.tagName==="select"?ir.select(t,e):["pre","code"].includes(e.tagName)?xe(e,t):n=>(se(t.attributes,e.attributes)(n),ae(t.children,e.children)(n),n),ce=xo;var bo=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){i("processQueue.getQueue",e)}},N=(t="",e=null)=>{try{k()||(bo(t)||{}).process(e)}catch(r){i("processQueue",r)}};var sr=(t="",e=null)=>{let r=D(e||window.joystick._internal.tree,t,"instanceId");r&&(r.children=[])};var ar=(t="",e={},r=null)=>{let o=D(r||window.joystick._internal.tree,t,"instanceId");o&&(o.instanceId=e?.instanceId,o.instance=e)};var cr=(t={},e="",r={})=>{for(let o=0;o<t?.children?.length;o+=1){let n=t?.children[o];if(m(n)&&n.attributes&&n.attributes["js-i"]&&n.attributes["js-i"]===e){t.children[o]=r;break}m(n)&&cr(n,e,r)}},dr=cr;var lr=(t={})=>{try{return Object.entries(t).map(([e,r])=>{let[o,...n]=e.split(" ");return{type:o.toLowerCase(),selector:n.join(" "),handler:r}})}catch(e){i("component.events.serialize",e)}};var ur=(t={},e={},r=[])=>{try{let o=Object.keys(t?.events||{})?.length>0?lr(t?.events):[];for(let n=0;n<o?.length;n+=1){let s=o[n];r.push({...s,instance:t,elements:document.querySelectorAll(`body [js-i="${t.instanceId}"] ${s?.selector}`),handler:function(a){s.handler(a,{...t||{},setState:t?.setState.bind(t),...e||{}}),v(`ui.${t?.options?.test?.name||y()}.events.${s.type}.${s?.selector}`,[a,{...t||{},setState:t?.setState.bind(t),...e||{}}])}})}if(t?.children){let n=Object.entries(t?.children)?.flatMap(([s,c])=>c);for(let s=0;s<n?.length;s+=1){let c=n[s];ur(c,e,r)}}return r}catch(o){i("component.eve!nts.registerListenersFix.getListeners",o)}},$o=(t={},e={})=>{try{let o=ur(t,e,[])?.flatMap((n={})=>[].flatMap.call(n?.elements||[],s=>{let{elements:c=[],...a}=n||{};return{...a,element:s}}));for(let n=0;n<o?.length;n+=1){let{instance:s,element:c,elementSelector:a,type:l,handler:g}=o[n];c.addEventListener(l,g),s._eventListeners=[...s?._eventListeners||[],{instance:s,element:c,elementSelector:a,type:l,handler:g}]}}catch(r){i("component.events.registerListenersFix",r)}},de=$o;var mr=(t={})=>{try{let e=t?._eventListeners||[];if(t?.children){let o=(Object.values(t?.children||{})?.reduce((n=[],s=[])=>[...n,...s],[])).flatMap((n={})=>mr(n));e=[...e,...o]}return e}catch(e){i("component.events.unregisterListenersFix.getListeners",e)}},Eo=(t={})=>{try{let e=mr(t);for(let r=0;r<e?.length;r+=1){let{instance:o,element:n,type:s,handler:c}=e[r];n.removeEventListener(s,c),o._eventListeners=o._eventListeners?.splice(r,1)}}catch(e){i("component.events.unregisterListenersFix",e)}},pr=Eo;var fr=class{constructor(e={}){this.parent=e?.parent||null,this.onUpdateChildComponent=this.handleUpdateChildComponentInVDOM,this.updateVirtualDOM=this.handleUpdateVirtualDOM,this.timers={},this.children={},nt(e),Lt(this,e),this.data=qt(this)}setDOMNodeOnInstance(){this.DOMNode=document.querySelector(`body [js-i="${this.instanceId}"]`)}async handleFetchData(e={},r={},o={},n=this){let s=await oe(e,r,o,n);return this.data=s,s}handleGetInstance(){return this}handleUpdateVirtualDOM(){if(this.DOMNode){let r=K(this.DOMNode);this.dom.virtual=r}let e=this.parent?D(window.joystick._internal.tree,this.parent?.instanceId,"instanceId"):null;e?.instance&&e.instance.updateVirtualDOM()}onBeforeRender(){if(!k())return{instanceId:this.instanceId}}render(e={}){if(v(`ui.${this?.options?.test?.name||y()}.render`,[e]),e?.mounting)return or(this,e);let r=this.onBeforeRender();pr(this),sr(this.instanceId);let o=B(this,{}),n=ce(this.dom.virtual,o.virtual);n&&u(n)&&N("lifecycle.onBeforeMount",()=>{let s=n(this.DOMNode);this.dom.actual=s,this.dom.virtual=o.virtual,de(this,this.renderMethods),this.setDOMNodeOnInstance(),N("domNodes",()=>{N("lifecycle.onMount",()=>{this.onAfterRender(r,e)})})})}renderToHTML(e={}){return ie(this,e)}onAfterRender(e={},r={}){k()||(ar(e.instanceId,this),window.joystick._internal.css.update(),N("lifecycle.onUpdateProps"),r?.afterSetStateRender&&u(r.afterSetStateRender)&&r.afterSetStateRender(),r?.afterRefetchDataRender&&u(r.afterRefetchDataRender)&&r.afterRefetchDataRender(),this.parent&&this.parent.onUpdateChildComponent(this.id,this.instanceId))}setState(e={},r=null){this.state=te(this,{...this.state||{},...e}),this.render({afterSetStateRender:()=>{r&&u(r)&&r()}})}setTimeout(e=null,r=0){e&&(this.timers[y()]=window.setTimeout(e,r))}setInterval(e=null,r=0){e&&(this.timers[y()]=window.setInterval(e,r))}handleUpdateChildComponentInVDOM(e="",r=""){let o=D(window.joystick._internal.tree,this.instanceId,"instanceId"),n=D(window.joystick._internal.tree,r,"instanceId");if(n?.instance?.DOMNode){let s=K(n?.instance?.DOMNode);dr(o?.instance?.dom?.virtual,n?.instanceId,s)}}},hr=fr;var wr=(t={})=>{try{return(e={})=>new hr({...t,props:e?.props,url:e?.url,translations:e?.translations,api:e?.api,req:e?.req,parent:e?.parent})}catch(e){i("component",e)}};var yr=(t={})=>{try{window.joystick._internal.tree={id:t?.id||null,instanceId:t?.instanceId||null,instance:t,children:[]}}catch(e){i("mount.initializeJoystickComponentTree",e)}};var gr=(t={},e=null)=>{try{return t.innerHTML="",t.appendChild(e),e}catch(r){i("mount.appendToDOM",r)}};var xr=(t=null,e={},r=null)=>{try{u(t)||i("mount","Component to mount must be a function."),m(e)||i("mount","props must be an object."),Ce(r)||i("mount","target must be a DOM node.");let o=t({props:e});yr(o);let n=o.render({mounting:!0,existingChildren:window.__joystick_childrenBeforeHMRUpdate__||null});return n&&(n.setAttribute("js-c",o.id),n.setAttribute("js-i",o.instanceId)),o.lifecycle.onBeforeMount(),N("lifecycle.onBeforeMount"),gr(r,n),o.setDOMNodeOnInstance(),window.joystick._internal.css.update(),de(o,o.renderMethods),o.lifecycle.onMount(),N("lifecycle.onMount"),o}catch(o){i("mount",o)}};var br=class{constructor(e=[]){this.array=[...e],this.array.push=function(){Array.prototype.push.apply(this,arguments)}}async process(e=null){if(this.array.length>0){let r=this.array.shift();r&&r.callback&&(await r.callback(),this.process(e))}else e&&e()}},V=br;var Fo=new RegExp(/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g),ko=new RegExp(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g),Mo=(t,e)=>(e||"").replace(Fo,()=>"").replace(ko,r=>["@",": "].some(o=>r?.includes(o))?r:`[js-c="${t}"] ${r.trim()}`)?.trim(),$r=(t={},e=[])=>{if(t.instance&&t.instance.options&&t.instance.options.css){let r=t.instance.id,o=t.instance.options.css,n=ee(o,t.instance),s=Mo(r,n);e.push(s)}if(t.children&&t.children.length>0){let r=t?.children?.length||0;for(;r--;)$r(t.children[r],e)}return e},Er=$r;var Fr=()=>{try{let t=document.head.querySelector("style[js-styles]"),r=Er(window.joystick?._internal?.tree).reverse().join("").trim();if(t?.innerText===r)return;if(t&&(t.innerHTML=r),!t){let o=document.createElement("style");o.setAttribute("js-styles",""),o.innerHTML=r,document.head.appendChild(o)}}catch(t){i("css.update",t)}};var So=Te,To=Re,Oo=G.get,vo=Ae,Co=De,_o=G.set,Rl=Le,jo=qe,kr=()=>typeof window!="undefined"?window.__joystick_env__:typeof process!="undefined"?"production":null,Mr={_external:{},_internal:{css:{update:Fr},queues:{domNodes:new V([]),eventListeners:new V([]),lifecycle:{onBeforeMount:new V([]),onMount:new V([]),onUpdateProps:new V([])},render:new V([])},tree:{},eventListeners:[]},accounts:So,cache:To,component:wr,env:{development:kr()==="development",test:kr()==="test"},get:Oo,html:vo,id:y,mount:xr,renderComponentToHTML:Co,set:_o,upload:jo,timers:{}};Ne(Mr);var Al=Mr;export{So as accounts,To as cache,Al as default,Oo as get,vo as html,Co as renderComponentToHTML,_o as set,Rl as test,jo as upload};
21
+ `}}return r}return""}catch(r){i("component.css.compileCSS",r)}};var zr=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!q(r)?Object.assign({},r):{}}catch(r){i("component.state.compile.compileState",r)}},te=(t={},e={})=>{try{return u(e)?zr(t,e):Object.assign({},e)}catch(r){i("component.state.compile",r)}};var ue={onBeforeMount:()=>null,onMount:()=>null,onBeforeUnmount:()=>null,onUpdateProps:()=>null,onRefetchData:()=>null};var Dt=(t={},e={})=>{try{return e?Object.entries({...ue,...e||{}}).reduce((r={},[o,n])=>(r[o]=()=>n({...t,setState:t.setState.bind(t),...t.renderMethods||{}}),r),{}):ue}catch(r){i("component.lifecycle.compile",r)}};var re=(t={},e={})=>{try{return Object.entries(e).reduce((r={},[o,n])=>(r[o]=(...s)=>(C(`ui.${t?.options?.test?.name||y()}.methods.${o}`,[...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}}]),n(...s,{...t,setState:t.setState.bind(t),...t.renderMethods||{}})),r),{})}catch{i("component.methods.compile")}};var me=(t={})=>{try{return{...t,query:{...t?.query||{},set:(e="",r="")=>{if(typeof window!="undefined"){let o=new URL(window.location);o.searchParams.append(e,r),window.history.pushState({},"",o)}},unset:(e="")=>{if(typeof window!="undefined"){let r=new URL(window.location);r.searchParams.delete(e),window.history.pushState({},"",r)}}},isActive:(e="")=>k(e)&&t?.route!=="*"?e===(typeof location!="undefined"?location.pathname:t.path):!1}}catch(e){i("component.url.compile",e)}};var Br=(t={},e=null)=>{try{let r=e(t);return r&&m(r)&&!q(r)?Object.assign({},r):{}}catch(r){i("component.props.compileDefaultProps.compile",r)}},Lt=(t={},e={})=>{try{return u(e)?Br(t,e):Object.assign({},e)}catch(r){i("component.props.compileDefaultProps",r)}};var Pt=(t={},e={})=>{try{t.options=e||{},t.id=e?._componentId||null,t.instanceId=y(8),t.ssrId=e?._ssrId||null,t.css=ee(),t.data=X(e?.dataFromSSR,e?._componentId),t.defaultProps=Lt(t,e?.defaultProps),t.props=At(t?.defaultProps,e?.props),t.state=te(t,e?.state),t.events=e?.events||{},t.lifecycle=Dt(t,e?.lifecycle),t.methods=re(t,e?.methods),t.wrapper=e?.wrapper||{},t.translations=e?.translations||{},t.validateForm=Rt,t.DOMNode=null,t.dom={},t.dom.virtual={},t.dom.actual={};let r=!M();if(r||(t.url=me(e?.url)),r&&window.__joystick_url__&&(t.url=me(window.__joystick_url__)),r&&e?.websockets&&u(e?.websockets)){let o=e.websockets(t),n=m(o)&&Object.entries(o);for(let s=0;s<n?.length;s+=1){let[c,a]=n[s];Y({url:`${window?.process?.env.NODE_ENV==="development"?"ws":"wss"}://${location.host}/api/_websockets/${c}`,options:a?.options||{},query:a?.query||{},events:a?.events||{}},(l={})=>{t.websockets={...t.websockets||{},[c]:l}})}}}catch(r){i("component.registerOptions",r)}};var Zr=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){i("addToQueue.getQueue",e)}},W=(t="",e=null)=>{try{M()||(Zr(t)||{}).array.push({callback:e})}catch(r){i("addToQueue",r)}};var oe=async(t={},e={},r={},o={})=>{try{if(o?.options?.data&&u(o.options.data)){let n=await o.options.data(t,e,r,o);return Promise.resolve(n)}return Promise.resolve()}catch(n){i("component.data.fetch",n)}};var It=(t={},e={},r={})=>{try{return{...t,refetch:async(o={})=>{C(`ui.${r?.options?.test?.name||y()}.data.refetch`,[o]);let n=await oe(G,e,o,r);return r.data=It(n,e,r),window.__joystick_data__[r?.id]&&(window.__joystick_data__[r?.id]=n),window?.__joystick_test__||r.render({afterRefetchDataRender:()=>{r?.lifecycle?.onRefetchData&&r?.lifecycle?.onRefetchData(r)}}),r.data}}}catch(o){i("component.data.compile",o)}},qt=It;var Nt=(t={})=>{try{if(!M()){let e=window.__joystick_data__&&window.__joystick_data__[t?.id]||{},r=window.__joystick_req__||{};return qt(e,r,t)}return t?.data||{}}catch(e){i("component.loadDataFromWindow",e)}};var zt=Lr(Vt());var Ht=(t={},e="",r="id")=>{try{let o=t&&t.id;if(m(t)&&o){let n=Object.keys(t);for(let s=0;s<n.length;s+=1){let c=n[s],a=t[c];if(c===r&&a===e)return t;if(c==="children"&&Array.isArray(a))for(let l=0;l<a.length;l+=1){let g=a[l],w=Ht(g,e,r);if(w!==null)return w}}}return null}catch(o){i("component.findComponentInTreeByField",o)}},D=Ht;var Ut=(t="",e={},r=null)=>{let o=D(r||window.joystick._internal.tree,t,"instanceId");o&&(o.children=[...o.children||[],e])};var Gr=(t={},e={},r=null)=>{try{let o=B(t,{includeActual:!0,existingChildren:r});return t.dom=o,t.setDOMNodeOnInstance(),e.renderedComponent=t,o.html.wrapped}catch(o){i("component.renderMethods.component.renderForClient",o)}},Wr=(t={})=>{try{return t.renderToHTML({ssrTree:t.parent.ssrTree,translations:t.parent.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t.parent?.dataFromSSR}).wrapped}catch(e){i("component.renderMethods.component.renderToHTMLForSSR",e)}},Kr=(t={})=>{try{return t.parent.ssrTree.dataFunctions.push(async()=>{try{let e=await t.options.data(t.parent.options.api,t.parent.options.req);return t.data=e||{},{componentId:t.id,ssrId:t.ssrId,data:e}}catch(e){return{componentId:t.id,ssrId:t.ssrId,data:null,error:e}}}),t.renderToHTML({ssrTree:t?.parent?.ssrTree,translations:t?.parent?.translations,walkingTreeForSSR:t?.parent?.walkingTreeForSSR,dataFromSSR:t?.parent?.dataFromSSR})}catch(e){i("component.renderMethods.component.collectDataFunctionsForSSR",e)}},Jr=(t={})=>{try{let e={id:t.id,instanceId:t.instanceId,instance:t,children:[]};Ut(t.parent.instanceId,e,t.parent&&t.parent.ssrTree||null)}catch(e){i("component.renderMethods.component.handleAddComponentToParent",e)}},Qr=(t={},e={})=>{try{!t.renderedComponent&&e.options&&e.options.lifecycle&&(e.options.lifecycle.onBeforeMount&&W("lifecycle.onBeforeMount",()=>{e.options.lifecycle.onBeforeMount(e),C(`ui.${e?.options?.test?.name||y()}.lifecycle.onBeforeMount`,[e])}),!t.renderedComponent&&e.options.lifecycle.onMount&&W("lifecycle.onMount",()=>{e.options.lifecycle.onMount(e),C(`ui.${e?.options?.test?.name||y()}.lifecycle.onMount`,[e])}))}catch(r){i("component.renderMethods.component.handleLifecycle",r)}},Yr=(t={},e={},r={})=>{try{!e.walkingTreeForSSR&&t?.options?.lifecycle?.onUpdateProps&&(0,zt.diff)(e?.existingPropsMap,r)?.length>0&&W("lifecycle.onUpdateProps",()=>{let n=e?.existingPropsMap&&e?.existingPropsMap[t.id];t.options.lifecycle.onUpdateProps(n||{},r,t),C(`ui.${t?.options?.test?.name||y()}.lifecycle.onBeforeMount`,[n||{},r,t])})}catch(o){i("component.renderMethods.component.handleOnChangeProps",o)}},Xr=function(){return function(e=null,r={},o={}){let n=e({props:r,url:o.url,translations:o.translations,api:o.options.api,req:o.options.req,dataFromSSR:o?.dataFromSSR,parent:o}),s=o?.existingStateMap[n.id]||{},c=o.children[n.id]||[],a=s[c?.length];return n.state=a?.state||n.state,o.children[n.id]=[...o.children[n.id]||[],n],n.parent=o,Yr(n,o,r),W("lifecycle.onMount",()=>{n.setDOMNodeOnInstance()}),Qr(this,n),n.parent&&Jr(n),n.options.data&&n.parent.walkingTreeForSSR&&n.parent.ssrTree.dataFunctions?Kr(n):n.parent&&n.parent.ssrTree?Wr(n):Gr(n,this,a?.children)}},eo=function(e,r){try{let o=this;return new Xr().bind({})(e,r,o)}catch(o){i("component.renderMethods.component",o)}},pe=eo;var to=function(e=[],r=null){try{return u(r)&&e&&Array.isArray(e)?e.map((o,n)=>r(o,n)).join(""):""}catch(o){i("component.renderMethods.each",o)}},fe=to;var ro=(t="",e=[])=>{try{return e.reduce((r,[o,n])=>r.replace(`{{${o}}}`,n),t)}catch(r){i("component.renderMethods.i18n.replacePlaceholdersInString",r)}},he=(t="",e=[])=>{try{let r=typeof t=="string",o=Array.isArray(t),n=typeof t=="object"&&!o;if(r)return ro(t,e);if(o)return t?.map(s=>he(s,e));if(n)return Object.entries(t)?.reduce((s={},[c,a])=>(s[c]=he(a,e),s),{})}catch(r){i("component.renderMethods.i18n.handleTranslationReplacement",r)}},oo=(t="",e={})=>{try{return t?.split(".").reduce((r,o)=>r[o],e)}catch(r){i("component.renderMethods.i18n.getTranslationAtPath",r)}},no=function(t="",e={}){try{let r=M()?this.translations:window.__joystick_i18n__,n=t?.includes(".")?oo(t,r):r[t];if(!r||!n)return"";let s=Object.entries(e);return he(n,s)}catch(r){i("component.renderMethods.i18n",r)}},we=no;var io=function(e=!1,r=""){try{return this?.renderingHTMLWithDataForSSR||e?`<when>${r.trim()}</when>`:"<when> </when>"}catch(o){i("component.renderMethods.when",o)}},ye=io;var Bt={c:pe,component:pe,e:fe,each:fe,i:we,i18n:we,w:ye,when:ye};var Zt=(t={},e={})=>{try{return Object.entries(Bt).reduce((r,[o,n])=>(r[o]=n.bind({...t,...e}),r),{})}catch(r){i("component.renderMethods.compile",r)}};var Gt=(t={})=>{try{return Object.entries(t)?.reduce((e={},[r,o]={})=>(e[r]=o?.map((n={})=>({state:n?.state,children:Gt(n?.children)})),e),{})}catch(e){i("component.render.getExistingStateMap.buildMapForChildren",e)}},Wt=(t={})=>{try{return Gt(t)}catch(e){i("component.render.getExistingStateMap",e)}};var Kt=new RegExp(/\<\!\-\-(?:.|\n|\r)*?-->/g),so=new RegExp(/\n/g);var ao=(t="")=>{try{return(t.match(Kt)||[]).forEach(r=>{t=t.replace(r,"")}),t}catch(e){i("component.render.sanitizeHTML.removeCommentedCode",e)}},Jt=(t="")=>{try{let e=`${t}`;return e=ao(e),e}catch(e){i("component.render.sanitizeHTML",e)}};var Qt=(t={},e="")=>{try{let{wrapper:r=null,id:o=null,instanceId:n=null}=t;return`<div ${r?.id?`id="${r.id}" `:""}${r?.classList?`class="${r.classList?.join(" ")}" `:""} js-c="${o}" js-i="${n}">${e}</div>`}catch(r){i("component.render.wrapHTML",r)}};var Yt=(t={},e=[])=>{try{let r=[...e],o=Object.entries(t);for(let n=0;n<o?.length;n+=1){let[s,c]=o[n];for(let a=0;a<c?.length;a+=1){let l=c[a];Object.entries(l?.timers)?.length>0&&r.push(...Object.values(l?.timers)),Object.entries(l?.children)?.length>0&&Yt(l?.children,r)}}if(r?.length>0)for(let n=0;n<r?.length;n+=1)clearTimeout(r[n])}catch(r){i("component.render.clearTimersOnChildren",r)}},Xt=Yt;var ie=(t={},e={})=>{try{e?.dataFromSSR&&(t.data=X(e.dataFromSSR,t.id)||{}),Xt(t?.children);let r=Wt(e?.existingChildren||t?.children)||{};t.children={},t.renderMethods=Zt({...t,existingStateMap:r,translations:e?.translations||t.translations||{},ssrTree:e?.ssrTree,walkingTreeForSSR:e?.walkingTreeForSSR,renderingHTMLWithDataForSSR:e?.renderingHTMLWithDataForSSR,dataFromSSR:e?.dataFromSSR}),t.methods=re(t,t.options.methods);let o=t.options.render({...t||{},setState:t.setState.bind(t),...t.renderMethods||{}}),n=Jt(o),s=Qt(t,n);return{unwrapped:n,wrapped:s}}catch(r){i("component.render.toHTML",r)}};var co=(t={})=>{try{return Object.values(t).reduce((e={},r)=>(e[r.name]=r.value,e),{})}catch(e){i("component.virtualDOM.build.parseAttributeMap",e)}},er=(t={})=>{try{return t.tagName==="WHEN"?[].flatMap.call(t?.childNodes,e=>e?.tagName==="WHEN"?er(e):ge(e)):ge(t)}catch(e){i("component.virtualDOM.build.flattenWhenTags",e)}},ge=(t={})=>{try{let e=t&&t.tagName&&t.tagName.toLowerCase()||"text",r={tagName:e,attributes:co(t.attributes),children:[].flatMap.call(t.childNodes,o=>er(o))};return e==="text"&&(r=t.textContent),r}catch(e){i("component.virtualDOM.build",e)}},K=ge;var lo=(t="")=>{try{let e=document.createElement("div");return e.innerHTML=t,e?.childNodes[0]}catch(e){i("component.virtualDOM.build.convertHTMLToDOM",e)}},tr=(t="")=>{try{let e=lo(t);return K(e)}catch(e){i("component.virtualDOM.build",e)}};var rr=(t="")=>{try{return document.createElement("div").setAttribute(t,"Test"),!0}catch{return!1}};var uo=(t={})=>{try{let e=document.createElement(t.tagName),r=Object.entries(t.attributes);for(let o=0;o<r.length;o+=1){let[n,s]=r[o];rr(n)&&e.setAttribute(n,s)}for(let o=0;o<t?.children?.length;o+=1){let n=t?.children[o];if(n){let s=or(n);e.appendChild(s)}}return e}catch(e){i("component.virtualDOM.renderTreeToDOM.renderElement",e)}},or=(t=null)=>{try{return k(t)?document.createTextNode(t):uo(t)}catch(e){i("component.virtualDOM.renderTreeToDOM",e)}},Z=or;var B=(t={},e={})=>{try{let r=ie(t,{existingChildren:e?.existingChildren}),o=tr(r.wrapped,t),n=e.includeActual&&o?Z(o):null;return{html:r,virtual:o,actual:n}}catch(r){i("component.render.getUpdatedDOM",r)}};var nr=(t={},e={})=>{try{let r=B(t,{includeActual:!0,existingChildren:e?.existingChildren});return t.dom=r,r.actual}catch(r){i("component.render.forMount",r)}};var mo=(t={},e={})=>{let r=[];for(let[o,n]of Object.entries(e))r.push(s=>(s&&s.setAttribute&&s.setAttribute(o,n),s));for(let o in t)o in e||r.push(n=>(n&&n.removeAttribute&&n.removeAttribute(o),n));return o=>{for(let n of r)n&&typeof n=="function"&&n(o)}},se=mo;var po=(t=[],e=[])=>{let r=[],o=Math.max(t.length,e.length);for(let n=0;n<o;n+=1){let s=t[n],c=e[n];r.push([s,c])}return r},ir=po;var fo=(t=[],e)=>{t.forEach(r=>{r&&typeof r=="function"&&r(e)})},ho=(t=[])=>{t.forEach(([e,r])=>{e&&typeof e=="function"&&e(r)})},wo=(t=[],e=[])=>{let r=[];return e.slice(t.length).forEach(n=>{let s=c=>{let a=Z(n);return c.appendChild(a),c};r.push(s)}),r},yo=(t=[],e=[])=>{let r=[];return t.forEach((o,n)=>{let s=ce(o,e[n]);r.push(s)}),r},go=(t=[],e=[])=>{let r=yo(t,e),o=wo(t,e);return n=>{if(n){let s=ir(r,n.childNodes);ho(s),fo(o,n)}return n}},ae=go;var sr={select:(t,e)=>r=>{let o=r.value;r.replaceChildren(),se(t.attributes,e.attributes)(r),ae([],e.children)(r);let n=r.querySelector(`option[value="${o}"]`);if(n&&(r.value=o),!n){let s=r.querySelector("option");r.value=s?.value||""}return r}};var xe=(t,e)=>r=>{let o=t?Z(t):null;return r&&r.replaceWith(o),o},xo=()=>t=>{t&&t.remove()},bo=(t=void 0,e=void 0)=>t===void 0||e===void 0?xo():typeof t=="string"||typeof e=="string"?xe(e,t):t.tagName!==e.tagName?xe(e):e.tagName==="select"?sr.select(t,e):["pre","code"].includes(e.tagName)?xe(e,t):n=>(se(t.attributes,e.attributes)(n),ae(t.children,e.children)(n),n),ce=bo;var $o=(t="")=>{try{let[e,r]=t?.split(".");return r?window?.joystick?._internal?.queues[e][r]:window?.joystick?._internal?.queues[e]}catch(e){i("processQueue.getQueue",e)}},N=(t="",e=null)=>{try{M()||($o(t)||{}).process(e)}catch(r){i("processQueue",r)}};var ar=(t="",e=null)=>{let r=D(e||window.joystick._internal.tree,t,"instanceId");r&&(r.children=[])};var cr=(t="",e={},r=null)=>{let o=D(r||window.joystick._internal.tree,t,"instanceId");o&&(o.instanceId=e?.instanceId,o.instance=e)};var dr=(t={},e="",r={})=>{for(let o=0;o<t?.children?.length;o+=1){let n=t?.children[o];if(m(n)&&n.attributes&&n.attributes["js-i"]&&n.attributes["js-i"]===e){t.children[o]=r;break}m(n)&&dr(n,e,r)}},lr=dr;var ur=(t={})=>{try{return Object.entries(t).map(([e,r])=>{let[o,...n]=e.split(" ");return{type:o.toLowerCase(),selector:n.join(" "),handler:r}})}catch(e){i("component.events.serialize",e)}};var mr=(t={},e={},r=[])=>{try{let o=Object.keys(t?.events||{})?.length>0?ur(t?.events):[];for(let n=0;n<o?.length;n+=1){let s=o[n];r.push({...s,instance:t,elements:document.querySelectorAll(`body [js-i="${t.instanceId}"] ${s?.selector}`),handler:function(a){s.handler(a,{...t||{},setState:t?.setState.bind(t),...e||{}}),C(`ui.${t?.options?.test?.name||y()}.events.${s.type}.${s?.selector}`,[a,{...t||{},setState:t?.setState.bind(t),...e||{}}])}})}if(t?.children){let n=Object.entries(t?.children)?.flatMap(([s,c])=>c);for(let s=0;s<n?.length;s+=1){let c=n[s];mr(c,e,r)}}return r}catch(o){i("component.eve!nts.registerListenersFix.getListeners",o)}},Eo=(t={},e={})=>{try{let o=mr(t,e,[])?.flatMap((n={})=>[].flatMap.call(n?.elements||[],s=>{let{elements:c=[],...a}=n||{};return{...a,element:s}}));for(let n=0;n<o?.length;n+=1){let{instance:s,element:c,elementSelector:a,type:l,handler:g}=o[n];c.addEventListener(l,g),s._eventListeners=[...s?._eventListeners||[],{instance:s,element:c,elementSelector:a,type:l,handler:g}]}}catch(r){i("component.events.registerListenersFix",r)}},de=Eo;var pr=(t={})=>{try{let e=t?._eventListeners||[];if(t?.children){let o=(Object.values(t?.children||{})?.reduce((n=[],s=[])=>[...n,...s],[])).flatMap((n={})=>pr(n));e=[...e,...o]}return e}catch(e){i("component.events.unregisterListenersFix.getListeners",e)}},Fo=(t={})=>{try{let e=pr(t);for(let r=0;r<e?.length;r+=1){let{instance:o,element:n,type:s,handler:c}=e[r];n.removeEventListener(s,c),o._eventListeners=o._eventListeners?.splice(r,1)}}catch(e){i("component.events.unregisterListenersFix",e)}},fr=Fo;var hr=class{constructor(e={}){this.parent=e?.parent||null,this.onUpdateChildComponent=this.handleUpdateChildComponentInVDOM,this.updateVirtualDOM=this.handleUpdateVirtualDOM,this.timers={},this.children={},it(e),Pt(this,e),this.data=Nt(this)}setDOMNodeOnInstance(){this.DOMNode=document.querySelector(`body [js-i="${this.instanceId}"]`)}async handleFetchData(e={},r={},o={},n=this){let s=await oe(e,r,o,n);return this.data=s,s}handleGetInstance(){return this}handleUpdateVirtualDOM(){if(this.DOMNode){let r=K(this.DOMNode);this.dom.virtual=r}let e=this.parent?D(window.joystick._internal.tree,this.parent?.instanceId,"instanceId"):null;e?.instance&&e.instance.updateVirtualDOM()}onBeforeRender(){if(!M())return{instanceId:this.instanceId}}render(e={}){if(C(`ui.${this?.options?.test?.name||y()}.render`,[e]),e?.mounting)return nr(this,e);let r=this.onBeforeRender();fr(this),ar(this.instanceId);let o=B(this,{}),n=ce(this.dom.virtual,o.virtual);n&&u(n)&&N("lifecycle.onBeforeMount",()=>{let s=n(this.DOMNode);this.dom.actual=s,this.dom.virtual=o.virtual,de(this,this.renderMethods),this.setDOMNodeOnInstance(),N("domNodes",()=>{N("lifecycle.onMount",()=>{this.onAfterRender(r,e)})})})}renderToHTML(e={}){return ie(this,e)}onAfterRender(e={},r={}){M()||(cr(e.instanceId,this),window.joystick._internal.css.update(),N("lifecycle.onUpdateProps"),r?.afterSetStateRender&&u(r.afterSetStateRender)&&r.afterSetStateRender(),r?.afterRefetchDataRender&&u(r.afterRefetchDataRender)&&r.afterRefetchDataRender(),this.parent&&this.parent.onUpdateChildComponent(this.id,this.instanceId))}setState(e={},r=null){this.state=te(this,{...this.state||{},...e}),this.render({afterSetStateRender:()=>{r&&u(r)&&r()}})}setTimeout(e=null,r=0){e&&(this.timers[y()]=window.setTimeout(e,r))}setInterval(e=null,r=0){e&&(this.timers[y()]=window.setInterval(e,r))}handleUpdateChildComponentInVDOM(e="",r=""){let o=D(window.joystick._internal.tree,this.instanceId,"instanceId"),n=D(window.joystick._internal.tree,r,"instanceId");if(n?.instance?.DOMNode){let s=K(n?.instance?.DOMNode);lr(o?.instance?.dom?.virtual,n?.instanceId,s)}}},wr=hr;var yr=(t={})=>{try{return(e={})=>new wr({...t,props:e?.props,url:e?.url,translations:e?.translations,api:e?.api,req:e?.req,parent:e?.parent})}catch(e){i("component",e)}};var gr=(t={})=>{try{window.joystick._internal.tree={id:t?.id||null,instanceId:t?.instanceId||null,instance:t,children:[]}}catch(e){i("mount.initializeJoystickComponentTree",e)}};var xr=(t={},e=null)=>{try{return t.innerHTML="",t.appendChild(e),e}catch(r){i("mount.appendToDOM",r)}};var br=(t=null,e={},r=null)=>{try{u(t)||i("mount","Component to mount must be a function."),m(e)||i("mount","props must be an object."),Ce(r)||i("mount","target must be a DOM node.");let o=t({props:e});gr(o);let n=o.render({mounting:!0,existingChildren:window.__joystick_childrenBeforeHMRUpdate__||null});return n&&(n.setAttribute("js-c",o.id),n.setAttribute("js-i",o.instanceId)),o.lifecycle.onBeforeMount(),N("lifecycle.onBeforeMount"),xr(r,n),o.setDOMNodeOnInstance(),window.joystick._internal.css.update(),de(o,o.renderMethods),o.lifecycle.onMount(),N("lifecycle.onMount"),o}catch(o){i("mount",o)}};var $r=class{constructor(e=[]){this.array=[...e],this.array.push=function(){Array.prototype.push.apply(this,arguments)}}async process(e=null){if(this.array.length>0){let r=this.array.shift();r&&r.callback&&(await r.callback(),this.process(e))}else e&&e()}},V=$r;var ko=new RegExp(/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g),Mo=new RegExp(/([^\r\n,{}]+)(,(?=[^}]*{)|\s*{)/g),So=(t,e)=>(e||"").replace(ko,()=>"").replace(Mo,r=>["@",": "].some(o=>r?.includes(o))?r:`[js-c="${t}"] ${r.trim()}`)?.trim(),Er=(t={},e=[])=>{if(t.instance&&t.instance.options&&t.instance.options.css){let r=t.instance.id,o=t.instance.options.css,n=ee(o,t.instance),s=So(r,n);e.push(s)}if(t.children&&t.children.length>0){let r=t?.children?.length||0;for(;r--;)Er(t.children[r],e)}return e},Fr=Er;var kr=()=>{try{let t=document.head.querySelector("style[js-styles]"),r=Fr(window.joystick?._internal?.tree).reverse().join("").trim();if(t?.innerText===r)return;if(t&&(t.innerHTML=r),!t){let o=document.createElement("style");o.setAttribute("js-styles",""),o.innerHTML=r,document.head.appendChild(o)}}catch(t){i("css.update",t)}};var To=Te,Oo=Re,vo=G.get,Co=Ae,_o=De,jo=G.set,Il=Le,Ro=qe,Mr=()=>typeof window!="undefined"?window.__joystick_env__:typeof process!="undefined"?"production":null,Sr={_external:{},_internal:{css:{update:kr},queues:{domNodes:new V([]),eventListeners:new V([]),lifecycle:{onBeforeMount:new V([]),onMount:new V([]),onUpdateProps:new V([])},render:new V([])},tree:{},eventListeners:[]},accounts:To,cache:Oo,component:yr,env:{development:Mr()==="development",test:Mr()==="test"},get:vo,html:Co,id:y,mount:br,renderComponentToHTML:_o,set:jo,upload:Ro,timers:{}};Ne(Sr);var ql=Sr;export{To as accounts,Oo as cache,ql as default,vo as get,Co as html,_o as renderComponentToHTML,jo as set,Il as test,Ro as upload};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@joystick.js/ui-canary",
3
3
  "type": "module",
4
- "version": "0.0.0-canary.60",
4
+ "version": "0.0.0-canary.61",
5
5
  "description": "A JavaScript framework for building user interfaces.",
6
6
  "main": "./dist/index.js",
7
7
  "scripts": {